diff --git a/.github/actions/prepare-mergeback-branch/action.yml b/.github/actions/prepare-mergeback-branch/action.yml index d4dee99bc..2c57dfc01 100644 --- a/.github/actions/prepare-mergeback-branch/action.yml +++ b/.github/actions/prepare-mergeback-branch/action.yml @@ -91,18 +91,15 @@ runs: Please do the following: - - [ ] Mark the PR as ready for review to trigger the full set of PR checks. + - [ ] Approve running the full set of PR checks. - [ ] Approve and merge the PR. When merging the PR, make sure "Create a merge commit" is selected rather than "Squash and merge" or "Rebase and merge". EOF ) - # PR checks won't be triggered on PRs created by Actions. Therefore mark the PR as draft - # so that a maintainer can take the PR out of draft, thereby triggering the PR checks. gh pr create \ --head "${NEW_BRANCH}" \ --base "${BASE_BRANCH}" \ --title "${pr_title}" \ --body "${pr_body}" \ - --assignee "${GITHUB_ACTOR}" \ - --draft + --assignee "${GITHUB_ACTOR}" diff --git a/.github/update-release-branch.py b/.github/update-release-branch.py index 784a450ef..263512682 100644 --- a/.github/update-release-branch.py +++ b/.github/update-release-branch.py @@ -136,7 +136,7 @@ def open_pr( body.append(f' - [ ] Check that there are not any unexpected commits being merged into the `{target_branch}` branch.') body.append(' - [ ] Ensure the docs team is aware of any documentation changes that need to be released.') - body.append(' - [ ] Mark the PR as ready for review to trigger the full set of PR checks.') + body.append(' - [ ] Approve running the full set of PR checks if you have not pushed any changes.') body.append(' - [ ] Approve and merge this PR. Make sure `Create a merge commit` is selected rather than `Squash and merge` or `Rebase and merge`.') if is_primary_release: @@ -146,9 +146,7 @@ def open_pr( title = f'Merge {source_branch} into {target_branch}' # Create the pull request - # PR checks won't be triggered on PRs created by Actions. Therefore mark the PR as draft so that - # a maintainer can take the PR out of draft, thereby triggering the PR checks. - pr = repo.create_pull(title=title, body='\n'.join(body), head=new_branch_name, base=target_branch, draft=True) + pr = repo.create_pull(title=title, body='\n'.join(body), head=new_branch_name, base=target_branch) print(f'Created PR #{str(pr.number)}') # Assign the conductor diff --git a/.github/workflows/__all-platform-bundle.yml b/.github/workflows/__all-platform-bundle.yml index 648679b7b..d4daf95d8 100644 --- a/.github/workflows/__all-platform-bundle.yml +++ b/.github/workflows/__all-platform-bundle.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -74,13 +69,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__analysis-kinds.yml b/.github/workflows/__analysis-kinds.yml index 504c1fcc6..53c8834ee 100644 --- a/.github/workflows/__analysis-kinds.yml +++ b/.github/workflows/__analysis-kinds.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -72,7 +67,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__analyze-ref-input.yml b/.github/workflows/__analyze-ref-input.yml index 5f4bb4d04..da40def24 100644 --- a/.github/workflows/__analyze-ref-input.yml +++ b/.github/workflows/__analyze-ref-input.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -70,13 +65,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__autobuild-action.yml b/.github/workflows/__autobuild-action.yml index f8cd1275d..2d655b2ee 100644 --- a/.github/workflows/__autobuild-action.yml +++ b/.github/workflows/__autobuild-action.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -64,9 +59,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Prepare test diff --git a/.github/workflows/__autobuild-direct-tracing-with-working-dir.yml b/.github/workflows/__autobuild-direct-tracing-with-working-dir.yml index 01016165b..c5856df04 100644 --- a/.github/workflows/__autobuild-direct-tracing-with-working-dir.yml +++ b/.github/workflows/__autobuild-direct-tracing-with-working-dir.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -66,9 +61,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Java - uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0 + uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: java-version: ${{ inputs.java-version || '17' }} distribution: temurin diff --git a/.github/workflows/__autobuild-working-dir.yml b/.github/workflows/__autobuild-working-dir.yml index f9718baf7..71dd9d1df 100644 --- a/.github/workflows/__autobuild-working-dir.yml +++ b/.github/workflows/__autobuild-working-dir.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__build-mode-autobuild.yml b/.github/workflows/__build-mode-autobuild.yml index d2f129e84..1ecceee86 100644 --- a/.github/workflows/__build-mode-autobuild.yml +++ b/.github/workflows/__build-mode-autobuild.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -66,9 +61,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Java - uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5.3.0 + uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 with: java-version: ${{ inputs.java-version || '17' }} distribution: temurin diff --git a/.github/workflows/__build-mode-manual.yml b/.github/workflows/__build-mode-manual.yml index 515e28223..efc63b640 100644 --- a/.github/workflows/__build-mode-manual.yml +++ b/.github/workflows/__build-mode-manual.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -70,13 +65,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__build-mode-none.yml b/.github/workflows/__build-mode-none.yml index 4aff83588..dc97aa3d9 100644 --- a/.github/workflows/__build-mode-none.yml +++ b/.github/workflows/__build-mode-none.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -52,7 +47,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__build-mode-rollback.yml b/.github/workflows/__build-mode-rollback.yml index f7c4d090e..4383024f3 100644 --- a/.github/workflows/__build-mode-rollback.yml +++ b/.github/workflows/__build-mode-rollback.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__bundle-from-nightly.yml b/.github/workflows/__bundle-from-nightly.yml index 549969645..9ccb50786 100644 --- a/.github/workflows/__bundle-from-nightly.yml +++ b/.github/workflows/__bundle-from-nightly.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__bundle-from-toolcache.yml b/.github/workflows/__bundle-from-toolcache.yml index 389981985..036262395 100644 --- a/.github/workflows/__bundle-from-toolcache.yml +++ b/.github/workflows/__bundle-from-toolcache.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__bundle-toolcache.yml b/.github/workflows/__bundle-toolcache.yml index 7e83829d6..0bdfd4508 100644 --- a/.github/workflows/__bundle-toolcache.yml +++ b/.github/workflows/__bundle-toolcache.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__bundle-zstd.yml b/.github/workflows/__bundle-zstd.yml index 45cf73a0e..7c1f89cfb 100644 --- a/.github/workflows/__bundle-zstd.yml +++ b/.github/workflows/__bundle-zstd.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__cleanup-db-cluster-dir.yml b/.github/workflows/__cleanup-db-cluster-dir.yml index 249a1f81b..921228910 100644 --- a/.github/workflows/__cleanup-db-cluster-dir.yml +++ b/.github/workflows/__cleanup-db-cluster-dir.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__config-export.yml b/.github/workflows/__config-export.yml index e359764bd..dedf55971 100644 --- a/.github/workflows/__config-export.yml +++ b/.github/workflows/__config-export.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -52,7 +47,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__config-input.yml b/.github/workflows/__config-input.yml index 2a82e9aa5..a5da2050a 100644 --- a/.github/workflows/__config-input.yml +++ b/.github/workflows/__config-input.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: diff --git a/.github/workflows/__cpp-deptrace-disabled.yml b/.github/workflows/__cpp-deptrace-disabled.yml index 9e4428519..5eba27ed6 100644 --- a/.github/workflows/__cpp-deptrace-disabled.yml +++ b/.github/workflows/__cpp-deptrace-disabled.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__cpp-deptrace-enabled-on-macos.yml b/.github/workflows/__cpp-deptrace-enabled-on-macos.yml index 825d4acd9..d26cd7dca 100644 --- a/.github/workflows/__cpp-deptrace-enabled-on-macos.yml +++ b/.github/workflows/__cpp-deptrace-enabled-on-macos.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -52,7 +47,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__cpp-deptrace-enabled.yml b/.github/workflows/__cpp-deptrace-enabled.yml index c4ac54f3d..d3b04db26 100644 --- a/.github/workflows/__cpp-deptrace-enabled.yml +++ b/.github/workflows/__cpp-deptrace-enabled.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__diagnostics-export.yml b/.github/workflows/__diagnostics-export.yml index 418517a15..7f788ef0a 100644 --- a/.github/workflows/__diagnostics-export.yml +++ b/.github/workflows/__diagnostics-export.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -52,7 +47,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__export-file-baseline-information.yml b/.github/workflows/__export-file-baseline-information.yml index 18fcfafe0..8d4cfc8f8 100644 --- a/.github/workflows/__export-file-baseline-information.yml +++ b/.github/workflows/__export-file-baseline-information.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -74,13 +69,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__extractor-ram-threads.yml b/.github/workflows/__extractor-ram-threads.yml index a647124bc..28487388d 100644 --- a/.github/workflows/__extractor-ram-threads.yml +++ b/.github/workflows/__extractor-ram-threads.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__global-proxy.yml b/.github/workflows/__global-proxy.yml index df544fb68..e3ba6ff10 100644 --- a/.github/workflows/__global-proxy.yml +++ b/.github/workflows/__global-proxy.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -52,7 +47,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__go-custom-queries.yml b/.github/workflows/__go-custom-queries.yml index a59530065..a522b602f 100644 --- a/.github/workflows/__go-custom-queries.yml +++ b/.github/workflows/__go-custom-queries.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -72,13 +67,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml b/.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml index 2415c7ff8..ced2df598 100644 --- a/.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml +++ b/.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -60,9 +55,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false @@ -78,7 +73,7 @@ jobs: languages: go tools: ${{ steps.prepare-test.outputs.tools-url }} # Deliberately change Go after the `init` step - - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: '1.20' - name: Build code diff --git a/.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml b/.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml index 38718fba2..32ebaee34 100644 --- a/.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml +++ b/.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -60,9 +55,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__go-indirect-tracing-workaround.yml b/.github/workflows/__go-indirect-tracing-workaround.yml index 754299d3e..869606326 100644 --- a/.github/workflows/__go-indirect-tracing-workaround.yml +++ b/.github/workflows/__go-indirect-tracing-workaround.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -60,9 +55,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__go-tracing-autobuilder.yml b/.github/workflows/__go-tracing-autobuilder.yml index 5c96e28f1..d8ef15b5a 100644 --- a/.github/workflows/__go-tracing-autobuilder.yml +++ b/.github/workflows/__go-tracing-autobuilder.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -80,9 +75,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__go-tracing-custom-build-steps.yml b/.github/workflows/__go-tracing-custom-build-steps.yml index 7d3ea3aea..077382459 100644 --- a/.github/workflows/__go-tracing-custom-build-steps.yml +++ b/.github/workflows/__go-tracing-custom-build-steps.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -80,9 +75,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__go-tracing-legacy-workflow.yml b/.github/workflows/__go-tracing-legacy-workflow.yml index 68012f0d4..2c4031b38 100644 --- a/.github/workflows/__go-tracing-legacy-workflow.yml +++ b/.github/workflows/__go-tracing-legacy-workflow.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -80,9 +75,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__init-with-registries.yml b/.github/workflows/__init-with-registries.yml index 2c55e14e4..623afdee9 100644 --- a/.github/workflows/__init-with-registries.yml +++ b/.github/workflows/__init-with-registries.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__javascript-source-root.yml b/.github/workflows/__javascript-source-root.yml index 31662fc16..622156ce4 100644 --- a/.github/workflows/__javascript-source-root.yml +++ b/.github/workflows/__javascript-source-root.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__job-run-uuid-sarif.yml b/.github/workflows/__job-run-uuid-sarif.yml index c0fa820e5..989b28fc5 100644 --- a/.github/workflows/__job-run-uuid-sarif.yml +++ b/.github/workflows/__job-run-uuid-sarif.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__language-aliases.yml b/.github/workflows/__language-aliases.yml index fe9ebef9c..3a1656eef 100644 --- a/.github/workflows/__language-aliases.yml +++ b/.github/workflows/__language-aliases.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__local-bundle.yml b/.github/workflows/__local-bundle.yml index a6ab9f523..98d56aa7e 100644 --- a/.github/workflows/__local-bundle.yml +++ b/.github/workflows/__local-bundle.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -70,13 +65,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__multi-language-autodetect.yml b/.github/workflows/__multi-language-autodetect.yml index f4849b990..e211d0bcd 100644 --- a/.github/workflows/__multi-language-autodetect.yml +++ b/.github/workflows/__multi-language-autodetect.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -61,19 +56,19 @@ jobs: include: - os: ubuntu-latest version: stable-v2.19.4 - - os: macos-latest-xlarge + - os: macos-15-xlarge version: stable-v2.19.4 - os: ubuntu-latest version: stable-v2.20.7 - - os: macos-latest-xlarge + - os: macos-15-xlarge version: stable-v2.20.7 - os: ubuntu-latest version: stable-v2.21.4 - - os: macos-latest-xlarge + - os: macos-15-xlarge version: stable-v2.21.4 - os: ubuntu-latest version: stable-v2.22.4 - - os: macos-latest-xlarge + - os: macos-15-xlarge version: stable-v2.22.4 - os: ubuntu-latest version: stable-v2.23.9 @@ -104,13 +99,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false @@ -125,12 +120,13 @@ jobs: # We need Python 3.13 for older CLI versions because they are not compatible with Python 3.14 or newer. # See https://github.com/github/codeql-action/pull/3212 if: matrix.version != 'nightly-latest' && matrix.version != 'linked' - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.13' - name: Use Xcode 16 - if: runner.os == 'macOS' && matrix.version != 'nightly-latest' + # Only the older CodeQL CLI versions need Xcode 16, and these run on macOS 15. + if: matrix.os == 'macos-15-xlarge' run: sudo xcode-select -s "/Applications/Xcode_16.app" - uses: ./../action/init diff --git a/.github/workflows/__overlay-init-fallback.yml b/.github/workflows/__overlay-init-fallback.yml index 554e9defc..9a4ffa71f 100644 --- a/.github/workflows/__overlay-init-fallback.yml +++ b/.github/workflows/__overlay-init-fallback.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -52,7 +47,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__packaging-codescanning-config-inputs-js.yml b/.github/workflows/__packaging-codescanning-config-inputs-js.yml index 9c7d84229..adfbf27df 100644 --- a/.github/workflows/__packaging-codescanning-config-inputs-js.yml +++ b/.github/workflows/__packaging-codescanning-config-inputs-js.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -74,13 +69,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__packaging-config-inputs-js.yml b/.github/workflows/__packaging-config-inputs-js.yml index c446c7ff3..0e3c0a19f 100644 --- a/.github/workflows/__packaging-config-inputs-js.yml +++ b/.github/workflows/__packaging-config-inputs-js.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -74,13 +69,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__packaging-config-js.yml b/.github/workflows/__packaging-config-js.yml index e550e493d..0d78c4727 100644 --- a/.github/workflows/__packaging-config-js.yml +++ b/.github/workflows/__packaging-config-js.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -74,13 +69,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__packaging-inputs-js.yml b/.github/workflows/__packaging-inputs-js.yml index 7d3450d04..981d3606b 100644 --- a/.github/workflows/__packaging-inputs-js.yml +++ b/.github/workflows/__packaging-inputs-js.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -74,13 +69,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__remote-config.yml b/.github/workflows/__remote-config.yml index 277f9293e..853a3909e 100644 --- a/.github/workflows/__remote-config.yml +++ b/.github/workflows/__remote-config.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -72,13 +67,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__resolve-environment-action.yml b/.github/workflows/__resolve-environment-action.yml index 05125ca10..29a042ae2 100644 --- a/.github/workflows/__resolve-environment-action.yml +++ b/.github/workflows/__resolve-environment-action.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__rubocop-multi-language.yml b/.github/workflows/__rubocop-multi-language.yml index 9bee982be..bc8499d60 100644 --- a/.github/workflows/__rubocop-multi-language.yml +++ b/.github/workflows/__rubocop-multi-language.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test @@ -59,7 +54,7 @@ jobs: use-all-platform-bundle: 'false' setup-kotlin: 'true' - name: Set up Ruby - uses: ruby/setup-ruby@12fd324f1d0b43274fdc8130f6980590a667c455 # v1.312.0 + uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314.0 with: ruby-version: 2.6 - name: Install Code Scanning integration diff --git a/.github/workflows/__ruby.yml b/.github/workflows/__ruby.yml index b8d556e53..3558be85e 100644 --- a/.github/workflows/__ruby.yml +++ b/.github/workflows/__ruby.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -60,7 +55,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__rust.yml b/.github/workflows/__rust.yml index 91c3d6618..e74daa4e4 100644 --- a/.github/workflows/__rust.yml +++ b/.github/workflows/__rust.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -58,7 +53,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__split-workflow.yml b/.github/workflows/__split-workflow.yml index 64efae65f..9b49aeceb 100644 --- a/.github/workflows/__split-workflow.yml +++ b/.github/workflows/__split-workflow.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -80,13 +75,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__start-proxy.yml b/.github/workflows/__start-proxy.yml index 7a318b023..7ac2dede3 100644 --- a/.github/workflows/__start-proxy.yml +++ b/.github/workflows/__start-proxy.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__submit-sarif-failure.yml b/.github/workflows/__submit-sarif-failure.yml index 03ea2de23..339d6a07c 100644 --- a/.github/workflows/__submit-sarif-failure.yml +++ b/.github/workflows/__submit-sarif-failure.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -54,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test @@ -62,7 +57,7 @@ jobs: version: ${{ matrix.version }} use-all-platform-bundle: 'false' setup-kotlin: 'true' - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - uses: ./init with: languages: javascript diff --git a/.github/workflows/__swift-autobuild.yml b/.github/workflows/__swift-autobuild.yml index 496254703..e59a87e3a 100644 --- a/.github/workflows/__swift-autobuild.yml +++ b/.github/workflows/__swift-autobuild.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -50,7 +45,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/__swift-custom-build.yml b/.github/workflows/__swift-custom-build.yml index 83c06ffd0..638e2c58f 100644 --- a/.github/workflows/__swift-custom-build.yml +++ b/.github/workflows/__swift-custom-build.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -74,13 +69,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false @@ -91,9 +86,6 @@ jobs: version: ${{ matrix.version }} use-all-platform-bundle: 'false' setup-kotlin: 'true' - - name: Use Xcode 16 - if: runner.os == 'macOS' && matrix.version != 'nightly-latest' - run: sudo xcode-select -s "/Applications/Xcode_16.app" - uses: ./../action/init id: init with: diff --git a/.github/workflows/__unset-environment.yml b/.github/workflows/__unset-environment.yml index b519e01dd..263139dc8 100644 --- a/.github/workflows/__unset-environment.yml +++ b/.github/workflows/__unset-environment.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -72,13 +67,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__upload-ref-sha-input.yml b/.github/workflows/__upload-ref-sha-input.yml index 9a1c91dea..e7f942df1 100644 --- a/.github/workflows/__upload-ref-sha-input.yml +++ b/.github/workflows/__upload-ref-sha-input.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -70,13 +65,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__upload-sarif.yml b/.github/workflows/__upload-sarif.yml index 182adbfde..36e5d9f05 100644 --- a/.github/workflows/__upload-sarif.yml +++ b/.github/workflows/__upload-sarif.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -77,13 +72,13 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false diff --git a/.github/workflows/__with-checkout-path.yml b/.github/workflows/__with-checkout-path.yml index 3d6380462..c4a0c9218 100644 --- a/.github/workflows/__with-checkout-path.yml +++ b/.github/workflows/__with-checkout-path.yml @@ -12,12 +12,7 @@ on: branches: - main - releases/v* - pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review + pull_request: {} merge_group: types: - checks_requested @@ -71,13 +66,13 @@ jobs: steps: # This ensures we don't accidentally use the original checkout for any part of the test. - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: ${{ inputs.dotnet-version || '9.x' }} - name: Install Go - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ${{ inputs.go-version || '>=1.21.0' }} cache: false @@ -96,7 +91,7 @@ jobs: rm -rf ./* .github .git # Check out the actions repo again, but at a different location. # choose an arbitrary SHA so that we can later test that the commit_oid is not from main - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6 path: x/y/z/some-path diff --git a/.github/workflows/check-expected-release-files.yml b/.github/workflows/check-expected-release-files.yml index ee6ad120b..670f14656 100644 --- a/.github/workflows/check-expected-release-files.yml +++ b/.github/workflows/check-expected-release-files.yml @@ -5,9 +5,6 @@ on: paths: - .github/workflows/check-expected-release-files.yml - src/defaults.json - # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened - # by other workflows. - types: [opened, synchronize, reopened, ready_for_review] concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' || false }} @@ -26,7 +23,7 @@ jobs: steps: - name: Checkout CodeQL Action - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Check Expected Release Files run: | bundle_version="$(cat "./src/defaults.json" | jq -r ".bundleVersion")" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d604bbd80..c5efa1731 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -4,9 +4,6 @@ on: push: branches: [main, releases/v*] pull_request: - # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened - # by other workflows. - types: [opened, synchronize, reopened, ready_for_review] merge_group: types: [checks_requested] schedule: @@ -35,7 +32,7 @@ jobs: security-events: read steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up default CodeQL bundle id: setup-default uses: ./setup-codeql @@ -87,7 +84,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize CodeQL uses: ./init id: init @@ -124,7 +121,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize CodeQL uses: ./init with: diff --git a/.github/workflows/codescanning-config-cli.yml b/.github/workflows/codescanning-config-cli.yml index 3a62bd78d..693be1239 100644 --- a/.github/workflows/codescanning-config-cli.yml +++ b/.github/workflows/codescanning-config-cli.yml @@ -13,11 +13,6 @@ on: - main - releases/v* pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review merge_group: types: [checks_requested] schedule: @@ -59,7 +54,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 diff --git a/.github/workflows/debug-artifacts-failure-safe.yml b/.github/workflows/debug-artifacts-failure-safe.yml index d044d8420..665d0799d 100644 --- a/.github/workflows/debug-artifacts-failure-safe.yml +++ b/.github/workflows/debug-artifacts-failure-safe.yml @@ -9,11 +9,6 @@ on: - main - releases/v* pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review merge_group: types: [checks_requested] schedule: @@ -53,17 +48,17 @@ jobs: - name: Dump GitHub event run: cat "${GITHUB_EVENT_PATH}" - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test with: version: ${{ matrix.version }} - - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ^1.13.1 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: '9.x' - name: Assert best-effort artifact scan completed diff --git a/.github/workflows/debug-artifacts-safe.yml b/.github/workflows/debug-artifacts-safe.yml index 4699436a1..997cfe623 100644 --- a/.github/workflows/debug-artifacts-safe.yml +++ b/.github/workflows/debug-artifacts-safe.yml @@ -8,11 +8,6 @@ on: - main - releases/v* pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review merge_group: types: [checks_requested] schedule: @@ -49,17 +44,17 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test with: version: ${{ matrix.version }} - - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0 + - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: go-version: ^1.13.1 - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: '9.x' - name: Assert best-effort artifact scan completed diff --git a/.github/workflows/label-pr-size.yml b/.github/workflows/label-pr-size.yml index f688122b2..170ccb074 100644 --- a/.github/workflows/label-pr-size.yml +++ b/.github/workflows/label-pr-size.yml @@ -7,7 +7,6 @@ on: - synchronize - reopened - edited - - ready_for_review permissions: contents: read diff --git a/.github/workflows/post-release-mergeback.yml b/.github/workflows/post-release-mergeback.yml index 313a1e355..b0eed4b71 100644 --- a/.github/workflows/post-release-mergeback.yml +++ b/.github/workflows/post-release-mergeback.yml @@ -44,14 +44,14 @@ jobs: GITHUB_CONTEXT: '${{ toJson(github) }}' run: echo "${GITHUB_CONTEXT}" - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 # ensure we have all tags and can push commits - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 cache: 'npm' - - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.12' diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index e0c37dbe2..45d38d345 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -3,9 +3,6 @@ name: PR Checks on: push: pull_request: - # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened - # by other workflows. - types: [opened, synchronize, reopened, ready_for_review] merge_group: types: [checks_requested] workflow_dispatch: @@ -42,7 +39,7 @@ jobs: if: runner.os == 'Windows' run: git config --global core.autocrlf false - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 @@ -91,7 +88,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 @@ -164,7 +161,7 @@ jobs: - name: 'Backport: Check out base ref' id: checkout-base if: ${{ startsWith(github.head_ref, 'backport-') }} - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ github.base_ref }} diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 915148e27..8bab54557 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -44,7 +44,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 # Need full history for calculation of diffs diff --git a/.github/workflows/publish-immutable-action.yml b/.github/workflows/publish-immutable-action.yml index 3944a81e6..ec9a6518a 100644 --- a/.github/workflows/publish-immutable-action.yml +++ b/.github/workflows/publish-immutable-action.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Publish immutable release id: publish diff --git a/.github/workflows/python312-windows.yml b/.github/workflows/python312-windows.yml index 76a9c4ff2..5722289fa 100644 --- a/.github/workflows/python312-windows.yml +++ b/.github/workflows/python312-windows.yml @@ -4,9 +4,6 @@ on: push: branches: [main, releases/v*] pull_request: - # Run checks on reopened draft PRs to support triggering PR checks on draft PRs that were opened - # by other workflows. - types: [opened, synchronize, reopened, ready_for_review] merge_group: types: [checks_requested] schedule: @@ -35,11 +32,11 @@ jobs: runs-on: windows-latest steps: - - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: 3.12 - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test uses: ./.github/actions/prepare-test diff --git a/.github/workflows/query-filters.yml b/.github/workflows/query-filters.yml index 3d1f4275c..0343ce2e6 100644 --- a/.github/workflows/query-filters.yml +++ b/.github/workflows/query-filters.yml @@ -6,11 +6,6 @@ on: - main - releases/v* pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review merge_group: types: [checks_requested] schedule: @@ -35,7 +30,7 @@ jobs: contents: read # This permission is needed to allow the GitHub Actions workflow to read the contents of the repository. steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Install Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 diff --git a/.github/workflows/rebuild.yml b/.github/workflows/rebuild.yml index f1d74dc8f..39b42d8a0 100644 --- a/.github/workflows/rebuild.yml +++ b/.github/workflows/rebuild.yml @@ -24,7 +24,7 @@ jobs: pull-requests: write # needed to comment on the PR steps: - name: Checkout - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 ref: ${{ env.HEAD_REF }} @@ -143,6 +143,5 @@ jobs: PR_NUMBER: ${{ github.event.pull_request.number }} run: | echo "Pushed a commit to rebuild the Action." \ - "Please mark the PR as ready for review to trigger PR checks." | + "Please approve running the PR checks." | gh pr comment --body-file - --repo github/codeql-action "$PR_NUMBER" - gh pr ready --undo --repo github/codeql-action "$PR_NUMBER" diff --git a/.github/workflows/rollback-release.yml b/.github/workflows/rollback-release.yml index e6a9da61f..b830a827d 100644 --- a/.github/workflows/rollback-release.yml +++ b/.github/workflows/rollback-release.yml @@ -52,7 +52,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 # Need full history for calculation of diffs diff --git a/.github/workflows/test-codeql-bundle-all.yml b/.github/workflows/test-codeql-bundle-all.yml index c44dafc59..e7cd9aab1 100644 --- a/.github/workflows/test-codeql-bundle-all.yml +++ b/.github/workflows/test-codeql-bundle-all.yml @@ -8,11 +8,6 @@ on: - main - releases/v* pull_request: - types: - - opened - - synchronize - - reopened - - ready_for_review merge_group: types: [checks_requested] schedule: @@ -43,7 +38,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Check out repository - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Prepare test id: prepare-test uses: ./.github/actions/prepare-test @@ -51,7 +46,7 @@ jobs: version: ${{ matrix.version }} use-all-platform-bundle: true - name: Install .NET - uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0 + uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0 with: dotnet-version: '9.x' - id: init diff --git a/.github/workflows/update-bundle.yml b/.github/workflows/update-bundle.yml index 94c79bc56..04402f6db 100644 --- a/.github/workflows/update-bundle.yml +++ b/.github/workflows/update-bundle.yml @@ -33,7 +33,7 @@ jobs: GITHUB_CONTEXT: '${{ toJson(github) }}' run: echo "$GITHUB_CONTEXT" - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Update git config run: | @@ -41,7 +41,7 @@ jobs: git config --global user.name "github-actions[bot]" - name: Set up Python - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: '3.12' @@ -114,7 +114,6 @@ jobs: --title "Update default bundle to $cli_version" \ --body "$pr_body" \ --assignee "$GITHUB_ACTOR" \ - --draft \ ) echo "CLI_VERSION=$cli_version" | tee -a "$GITHUB_ENV" echo "PR_URL=$pr_url" | tee -a "$GITHUB_ENV" diff --git a/.github/workflows/update-release-branch.yml b/.github/workflows/update-release-branch.yml index bef796574..11e97eeca 100644 --- a/.github/workflows/update-release-branch.yml +++ b/.github/workflows/update-release-branch.yml @@ -38,7 +38,7 @@ jobs: contents: write # needed to push commits pull-requests: write # needed to create pull request steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 # Need full history for calculation of diffs - uses: ./.github/actions/release-initialise @@ -101,7 +101,7 @@ jobs: private-key: ${{ secrets.AUTOMATION_PRIVATE_KEY }} - name: Checkout - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 # Need full history for calculation of diffs token: ${{ steps.app-token.outputs.token }} diff --git a/.github/workflows/update-supported-enterprise-server-versions.yml b/.github/workflows/update-supported-enterprise-server-versions.yml index 2271ee2ac..ed35ff9ca 100644 --- a/.github/workflows/update-supported-enterprise-server-versions.yml +++ b/.github/workflows/update-supported-enterprise-server-versions.yml @@ -23,12 +23,12 @@ jobs: steps: - name: Setup Python - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: "3.13" - name: Checkout CodeQL Action - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Set up Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 @@ -40,7 +40,7 @@ jobs: run: npm ci - name: Checkout Enterprise Releases - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: repository: github/enterprise-releases token: ${{ secrets.ENTERPRISE_RELEASE_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c0d6f84e..52f0ec6ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th ## [UNRELEASED] +- _Upcoming breaking change_: Add a deprecation warning for customers using CodeQL version 2.20.6 and earlier. These versions of CodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise Server 3.16, and will be unsupported by the next minor release of the CodeQL Action. [#3956](https://github.com/github/codeql-action/pull/3956) + +## 4.37.0 - 08 Jul 2026 + +- Update default CodeQL bundle version to [2.26.0](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.0). [#3995](https://github.com/github/codeql-action/pull/3995) +- In addition to the existing input format, the `config-file` input for the `codeql-action/init` step will soon support a new `[owner/]repo[@ref][:path]` format. All components except the repository name are optional. If omitted, `owner` defaults to the same owner as the repository the analysis is running for, `ref` to `main`, and `path` to `.github/codeql-action.yaml`. Support for this format ships in this version of the CodeQL Action, but will only be enabled over the coming weeks. [#3973](https://github.com/github/codeql-action/pull/3973) + +## 4.36.3 - 01 Jul 2026 + No user facing changes. ## 4.36.2 - 04 Jun 2026 diff --git a/lib/defaults.json b/lib/defaults.json index 7c82ff2a6..660296139 100644 --- a/lib/defaults.json +++ b/lib/defaults.json @@ -1,6 +1,6 @@ { - "bundleVersion": "codeql-bundle-v2.25.6", - "cliVersion": "2.25.6", - "priorBundleVersion": "codeql-bundle-v2.25.5", - "priorCliVersion": "2.25.5" + "bundleVersion": "codeql-bundle-v2.26.0", + "cliVersion": "2.26.0", + "priorBundleVersion": "codeql-bundle-v2.25.6", + "priorCliVersion": "2.25.6" } diff --git a/lib/entry-points.js b/lib/entry-points.js index e713e0143..5eba16016 100644 --- a/lib/entry-points.js +++ b/lib/entry-points.js @@ -213,7 +213,7 @@ var require_file_command = __commonJS({ exports2.issueFileCommand = issueFileCommand; exports2.prepareKeyValueMessage = prepareKeyValueMessage; var crypto3 = __importStar2(require("crypto")); - var fs31 = __importStar2(require("fs")); + var fs32 = __importStar2(require("fs")); var os7 = __importStar2(require("os")); var utils_1 = require_utils(); function issueFileCommand(command, message) { @@ -221,10 +221,10 @@ var require_file_command = __commonJS({ if (!filePath) { throw new Error(`Unable to find environment variable for file command ${command}`); } - if (!fs31.existsSync(filePath)) { + if (!fs32.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } - fs31.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os7.EOL}`, { + fs32.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os7.EOL}`, { encoding: "utf8" }); } @@ -264,7 +264,7 @@ var require_proxy = __commonJS({ if (proxyVar) { try { return new DecodedURL(proxyVar); - } catch (_a) { + } catch (_a2) { if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) return new DecodedURL(`http://${proxyVar}`); } @@ -333,7 +333,7 @@ var require_tunnel = __commonJS({ var https3 = require("https"); var events = require("events"); var assert = require("assert"); - var util = require("util"); + var util3 = require("util"); exports2.httpOverHttp = httpOverHttp; exports2.httpsOverHttp = httpsOverHttp; exports2.httpOverHttps = httpOverHttps; @@ -383,7 +383,7 @@ var require_tunnel = __commonJS({ self2.removeSocket(socket); }); } - util.inherits(TunnelingAgent, events.EventEmitter); + util3.inherits(TunnelingAgent, events.EventEmitter); TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { var self2 = this; var options = mergeOptions({ request: req }, self2.options, toOptions(host, port, localAddress)); @@ -1130,16 +1130,16 @@ var require_tree = __commonJS({ * @param {any} value * @param {number} index */ - constructor(key, value, index) { - if (index === void 0 || index >= key.length) { + constructor(key, value, index2) { + if (index2 === void 0 || index2 >= key.length) { throw new TypeError("Unreachable"); } - const code = this.code = key.charCodeAt(index); + const code = this.code = key.charCodeAt(index2); if (code > 127) { throw new TypeError("key must be ascii string"); } - if (key.length !== ++index) { - this.middle = new _TstNode(key, value, index); + if (key.length !== ++index2) { + this.middle = new _TstNode(key, value, index2); } else { this.value = value; } @@ -1153,34 +1153,34 @@ var require_tree = __commonJS({ if (length === 0) { throw new TypeError("Unreachable"); } - let index = 0; + let index2 = 0; let node = this; while (true) { - const code = key.charCodeAt(index); + const code = key.charCodeAt(index2); if (code > 127) { throw new TypeError("key must be ascii string"); } if (node.code === code) { - if (length === ++index) { + if (length === ++index2) { node.value = value; break; } else if (node.middle !== null) { node = node.middle; } else { - node.middle = new _TstNode(key, value, index); + node.middle = new _TstNode(key, value, index2); break; } } else if (node.code < code) { if (node.left !== null) { node = node.left; } else { - node.left = new _TstNode(key, value, index); + node.left = new _TstNode(key, value, index2); break; } } else if (node.right !== null) { node = node.right; } else { - node.right = new _TstNode(key, value, index); + node.right = new _TstNode(key, value, index2); break; } } @@ -1191,16 +1191,16 @@ var require_tree = __commonJS({ */ search(key) { const keylength = key.length; - let index = 0; + let index2 = 0; let node = this; - while (node !== null && index < keylength) { - let code = key[index]; + while (node !== null && index2 < keylength) { + let code = key[index2]; if (code <= 90 && code >= 65) { code |= 32; } while (node !== null) { if (code === node.code) { - if (keylength === ++index) { + if (keylength === ++index2) { return node; } node = node.middle; @@ -1275,7 +1275,7 @@ var require_util = __commonJS({ } }; function wrapRequestBody(body) { - if (isStream(body)) { + if (isStream2(body)) { if (bodyLength(body) === 0) { body.on("data", function() { assert(false); @@ -1298,19 +1298,19 @@ var require_util = __commonJS({ } function nop() { } - function isStream(obj) { + function isStream2(obj) { return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; } - function isBlobLike(object2) { - if (object2 === null) { + function isBlobLike(object) { + if (object === null) { return false; - } else if (object2 instanceof Blob2) { + } else if (object instanceof Blob2) { return true; - } else if (typeof object2 !== "object") { + } else if (typeof object !== "object") { return false; } else { - const sTag = object2[Symbol.toStringTag]; - return (sTag === "Blob" || sTag === "File") && ("stream" in object2 && typeof object2.stream === "function" || "arrayBuffer" in object2 && typeof object2.arrayBuffer === "function"); + const sTag = object[Symbol.toStringTag]; + return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function"); } } function buildURL(url2, queryParams) { @@ -1362,14 +1362,14 @@ var require_util = __commonJS({ } const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80; let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`; - let path29 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`; + let path30 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`; if (origin[origin.length - 1] === "/") { origin = origin.slice(0, origin.length - 1); } - if (path29 && path29[0] !== "/") { - path29 = `/${path29}`; + if (path30 && path30[0] !== "/") { + path30 = `/${path30}`; } - return new URL(`${origin}${path29}`); + return new URL(`${origin}${path30}`); } if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) { throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); @@ -1416,7 +1416,7 @@ var require_util = __commonJS({ function bodyLength(body) { if (body == null) { return 0; - } else if (isStream(body)) { + } else if (isStream2(body)) { const state = body._readableState; return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; } else if (isBlobLike(body)) { @@ -1430,7 +1430,7 @@ var require_util = __commonJS({ return body && !!(body.destroyed || body[kDestroyed] || stream2.isDestroyed?.(body)); } function destroy(stream3, err) { - if (stream3 == null || !isStream(stream3) || isDestroyed(stream3)) { + if (stream3 == null || !isStream2(stream3) || isDestroyed(stream3)) { return; } if (typeof stream3.destroy === "function") { @@ -1592,8 +1592,8 @@ var require_util = __commonJS({ } ); } - function isFormDataLike(object2) { - return object2 && typeof object2 === "object" && typeof object2.append === "function" && typeof object2.delete === "function" && typeof object2.get === "function" && typeof object2.getAll === "function" && typeof object2.has === "function" && typeof object2.set === "function" && object2[Symbol.toStringTag] === "FormData"; + function isFormDataLike(object) { + return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; } function addAbortListener(signal, listener) { if ("addEventListener" in signal) { @@ -1650,9 +1650,9 @@ var require_util = __commonJS({ function isValidHeaderValue(characters) { return !headerCharRegex.test(characters); } - function parseRangeHeader(range) { - if (range == null || range === "") return { start: 0, end: null, size: null }; - const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; + function parseRangeHeader(range2) { + if (range2 == null || range2 === "") return { start: 0, end: null, size: null }; + const m = range2 ? range2.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; return m ? { start: parseInt(m[1]), end: m[2] ? parseInt(m[2]) : null, @@ -1714,7 +1714,7 @@ var require_util = __commonJS({ parseOrigin, parseURL, getServerName, - isStream, + isStream: isStream2, isIterable, isAsyncIterable, isDestroyed, @@ -1757,10 +1757,10 @@ var require_diagnostics = __commonJS({ "node_modules/undici/lib/core/diagnostics.js"(exports2, module2) { "use strict"; var diagnosticsChannel = require("node:diagnostics_channel"); - var util = require("node:util"); - var undiciDebugLog = util.debuglog("undici"); - var fetchDebuglog = util.debuglog("fetch"); - var websocketDebuglog = util.debuglog("websocket"); + var util3 = require("node:util"); + var undiciDebugLog = util3.debuglog("undici"); + var fetchDebuglog = util3.debuglog("fetch"); + var websocketDebuglog = util3.debuglog("websocket"); var isClientSet = false; var channels = { // Client @@ -1820,39 +1820,39 @@ var require_diagnostics = __commonJS({ }); diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { const { - request: { method, path: path29, origin } + request: { method, path: path30, origin } } = evt; - debuglog("sending request to %s %s/%s", method, origin, path29); + debuglog("sending request to %s %s/%s", method, origin, path30); }); diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => { const { - request: { method, path: path29, origin }, + request: { method, path: path30, origin }, response: { statusCode } } = evt; debuglog( "received response to %s %s/%s - HTTP %d", method, origin, - path29, + path30, statusCode ); }); diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => { const { - request: { method, path: path29, origin } + request: { method, path: path30, origin } } = evt; - debuglog("trailers received from %s %s/%s", method, origin, path29); + debuglog("trailers received from %s %s/%s", method, origin, path30); }); diagnosticsChannel.channel("undici:request:error").subscribe((evt) => { const { - request: { method, path: path29, origin }, + request: { method, path: path30, origin }, error: error3 } = evt; debuglog( "request to %s %s/%s errored - %s", method, origin, - path29, + path30, error3.message ); }); @@ -1901,9 +1901,9 @@ var require_diagnostics = __commonJS({ }); diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => { const { - request: { method, path: path29, origin } + request: { method, path: path30, origin } } = evt; - debuglog("sending request to %s %s/%s", method, origin, path29); + debuglog("sending request to %s %s/%s", method, origin, path30); }); } diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => { @@ -1949,7 +1949,7 @@ var require_request = __commonJS({ var { isValidHTTPToken, isValidHeaderValue, - isStream, + isStream: isStream2, destroy, isBuffer, isFormDataLike, @@ -1966,7 +1966,7 @@ var require_request = __commonJS({ var kHandler = /* @__PURE__ */ Symbol("handler"); var Request = class { constructor(origin, { - path: path29, + path: path30, method, body, headers, @@ -1981,11 +1981,11 @@ var require_request = __commonJS({ expectContinue, servername }, handler2) { - if (typeof path29 !== "string") { + if (typeof path30 !== "string") { throw new InvalidArgumentError("path must be a string"); - } else if (path29[0] !== "/" && !(path29.startsWith("http://") || path29.startsWith("https://")) && method !== "CONNECT") { + } else if (path30[0] !== "/" && !(path30.startsWith("http://") || path30.startsWith("https://")) && method !== "CONNECT") { throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); - } else if (invalidPathRegex.test(path29)) { + } else if (invalidPathRegex.test(path30)) { throw new InvalidArgumentError("invalid request path"); } if (typeof method !== "string") { @@ -2018,7 +2018,7 @@ var require_request = __commonJS({ this.abort = null; if (body == null) { this.body = null; - } else if (isStream(body)) { + } else if (isStream2(body)) { this.body = body; const rState = this.body._readableState; if (!rState || !rState.autoDestroy) { @@ -2051,7 +2051,7 @@ var require_request = __commonJS({ this.completed = false; this.aborted = false; this.upgrade = upgrade || null; - this.path = query ? buildURL(path29, query) : path29; + this.path = query ? buildURL(path30, query) : path30; this.origin = origin; this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; this.blocking = blocking == null ? false : blocking; @@ -2274,8 +2274,8 @@ var require_request = __commonJS({ var require_dispatcher = __commonJS({ "node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) { "use strict"; - var EventEmitter = require("node:events"); - var Dispatcher = class extends EventEmitter { + var EventEmitter2 = require("node:events"); + var Dispatcher = class extends EventEmitter2 { dispatch() { throw new Error("not implemented"); } @@ -2339,13 +2339,21 @@ var require_dispatcher_base = __commonJS({ var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch"); + var kWebSocketOptions = /* @__PURE__ */ Symbol("webSocketOptions"); var DispatcherBase = class extends Dispatcher { - constructor() { + constructor(opts) { super(); this[kDestroyed] = false; this[kOnDestroyed] = null; this[kClosed] = false; this[kOnClosed] = []; + this[kWebSocketOptions] = opts?.webSocket ?? {}; + } + get webSocketOptions() { + return { + maxFragments: this[kWebSocketOptions].maxFragments ?? 131072, + maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024 + }; } get destroyed() { return this[kDestroyed]; @@ -2369,9 +2377,9 @@ var require_dispatcher_base = __commonJS({ } close(callback) { if (callback === void 0) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { this.close((err, data) => { - return err ? reject(err) : resolve13(data); + return err ? reject(err) : resolve14(data); }); }); } @@ -2409,12 +2417,12 @@ var require_dispatcher_base = __commonJS({ err = null; } if (callback === void 0) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { this.destroy(err, (err2, data) => { return err2 ? ( /* istanbul ignore next: should never error */ reject(err2) - ) : resolve13(data); + ) : resolve14(data); }); }); } @@ -2723,7 +2731,7 @@ var require_connect = __commonJS({ "use strict"; var net = require("node:net"); var assert = require("node:assert"); - var util = require_util(); + var util3 = require_util(); var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); var timers = require_timers(); function noop3() { @@ -2792,7 +2800,7 @@ var require_connect = __commonJS({ if (!tls) { tls = require("node:tls"); } - servername = servername || options.servername || util.getServerName(host) || null; + servername = servername || options.servername || util3.getServerName(host) || null; const sessionKey = servername || hostname; assert(sessionKey); const session = customSession || sessionCache.get(sessionKey) || null; @@ -2891,7 +2899,7 @@ var require_connect = __commonJS({ message += ` (attempted address: ${opts.hostname}:${opts.port},`; } message += ` timeout: ${opts.timeout}ms)`; - util.destroy(socket, new ConnectTimeoutError(message)); + util3.destroy(socket, new ConnectTimeoutError(message)); } module2.exports = buildConnector; } @@ -4030,7 +4038,7 @@ var require_webidl = __commonJS({ } const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.(); const seq = []; - let index = 0; + let index2 = 0; if (method === void 0 || typeof method.next !== "function") { throw webidl.errors.exception({ header: prefix, @@ -4042,7 +4050,7 @@ var require_webidl = __commonJS({ if (done) { break; } - seq.push(converter(value, prefix, `${argument}[${index++}]`)); + seq.push(converter(value, prefix, `${argument}[${index2++}]`)); } return seq; }; @@ -4151,10 +4159,10 @@ var require_webidl = __commonJS({ }; webidl.converters.ByteString = function(V, prefix, argument) { const x = webidl.converters.DOMString(V, prefix, argument); - for (let index = 0; index < x.length; index++) { - if (x.charCodeAt(index) > 255) { + for (let index2 = 0; index2 < x.length; index2++) { + if (x.charCodeAt(index2) > 255) { throw new TypeError( - `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.` + `Cannot convert argument to a ByteString because the character at index ${index2} has a value of ${x.charCodeAt(index2)} which is greater than 255.` ); } } @@ -4285,7 +4293,7 @@ var require_webidl = __commonJS({ var require_util2 = __commonJS({ "node_modules/undici/lib/web/fetch/util.js"(exports2, module2) { "use strict"; - var { Transform } = require("node:stream"); + var { Transform: Transform5 } = require("node:stream"); var zlib3 = require("node:zlib"); var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants3(); var { getGlobalOrigin } = require_global(); @@ -4347,8 +4355,8 @@ var require_util2 = __commonJS({ } return "allowed"; } - function isErrorLike(object2) { - return object2 instanceof Error || (object2?.constructor?.name === "Error" || object2?.constructor?.name === "DOMException"); + function isErrorLike(object) { + return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); } function isValidReasonPhrase(statusText) { for (let i = 0; i < statusText.length; ++i) { @@ -4681,8 +4689,8 @@ var require_util2 = __commonJS({ function createDeferredPromise() { let res; let rej; - const promise = new Promise((resolve13, reject) => { - res = resolve13; + const promise = new Promise((resolve14, reject) => { + res = resolve14; rej = reject; }); return { promise, resolve: res, reject: rej }; @@ -4729,17 +4737,17 @@ var require_util2 = __commonJS({ `'next' called on an object that does not implement interface ${name} Iterator.` ); } - const index = this.#index; + const index2 = this.#index; const values = this.#target[kInternalIterator]; const len = values.length; - if (index >= len) { + if (index2 >= len) { return { value: void 0, done: true }; } - const { [keyIndex]: key, [valueIndex]: value } = values[index]; - this.#index = index + 1; + const { [keyIndex]: key, [valueIndex]: value } = values[index2]; + this.#index = index2 + 1; let result; switch (this.#kind) { case "key": @@ -4773,7 +4781,7 @@ var require_util2 = __commonJS({ return new FastIterableIterator(target, kind); }; } - function iteratorMixin(name, object2, kInternalIterator, keyIndex = 0, valueIndex = 1) { + function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) { const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex); const properties = { keys: { @@ -4781,7 +4789,7 @@ var require_util2 = __commonJS({ enumerable: true, configurable: true, value: function keys() { - webidl.brandCheck(this, object2); + webidl.brandCheck(this, object); return makeIterator(this, "key"); } }, @@ -4790,7 +4798,7 @@ var require_util2 = __commonJS({ enumerable: true, configurable: true, value: function values() { - webidl.brandCheck(this, object2); + webidl.brandCheck(this, object); return makeIterator(this, "value"); } }, @@ -4799,7 +4807,7 @@ var require_util2 = __commonJS({ enumerable: true, configurable: true, value: function entries() { - webidl.brandCheck(this, object2); + webidl.brandCheck(this, object); return makeIterator(this, "key+value"); } }, @@ -4808,7 +4816,7 @@ var require_util2 = __commonJS({ enumerable: true, configurable: true, value: function forEach(callbackfn, thisArg = globalThis) { - webidl.brandCheck(this, object2); + webidl.brandCheck(this, object); webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`); if (typeof callbackfn !== "function") { throw new TypeError( @@ -4821,7 +4829,7 @@ var require_util2 = __commonJS({ } } }; - return Object.defineProperties(object2.prototype, { + return Object.defineProperties(object.prototype, { ...properties, [Symbol.iterator]: { writable: true, @@ -4973,7 +4981,7 @@ var require_util2 = __commonJS({ contentRange += isomorphicEncode(`${fullLength}`); return contentRange; } - var InflateStream = class extends Transform { + var InflateStream = class extends Transform5 { #zlibOptions; /** @param {zlib.ZlibOptions} [zlibOptions] */ constructor(zlibOptions) { @@ -5221,8 +5229,8 @@ var require_file = __commonJS({ } }; webidl.converters.Blob = webidl.interfaceConverter(Blob2); - function isFileLike(object2) { - return object2 instanceof File2 || object2 && (typeof object2.stream === "function" || typeof object2.arrayBuffer === "function") && object2[Symbol.toStringTag] === "File"; + function isFileLike(object) { + return object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; } module2.exports = { FileLike, isFileLike }; } @@ -5630,7 +5638,7 @@ var require_formdata_parser = __commonJS({ var require_body = __commonJS({ "node_modules/undici/lib/web/fetch/body.js"(exports2, module2) { "use strict"; - var util = require_util(); + var util3 = require_util(); var { ReadableStreamFrom, isBlobLike, @@ -5670,12 +5678,12 @@ var require_body = __commonJS({ } }); } - function extractBody(object2, keepalive = false) { + function extractBody(object, keepalive = false) { let stream2 = null; - if (object2 instanceof ReadableStream) { - stream2 = object2; - } else if (isBlobLike(object2)) { - stream2 = object2.stream(); + if (object instanceof ReadableStream) { + stream2 = object; + } else if (isBlobLike(object)) { + stream2 = object.stream(); } else { stream2 = new ReadableStream({ async pull(controller) { @@ -5695,36 +5703,36 @@ var require_body = __commonJS({ let source = null; let length = null; let type = null; - if (typeof object2 === "string") { - source = object2; + if (typeof object === "string") { + source = object; type = "text/plain;charset=UTF-8"; - } else if (object2 instanceof URLSearchParams) { - source = object2.toString(); + } else if (object instanceof URLSearchParams) { + source = object.toString(); type = "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isArrayBuffer(object2)) { - source = new Uint8Array(object2.slice()); - } else if (ArrayBuffer.isView(object2)) { - source = new Uint8Array(object2.buffer.slice(object2.byteOffset, object2.byteOffset + object2.byteLength)); - } else if (util.isFormDataLike(object2)) { + } else if (isArrayBuffer(object)) { + source = new Uint8Array(object.slice()); + } else if (ArrayBuffer.isView(object)) { + source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); + } else if (util3.isFormDataLike(object)) { const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`; const prefix = `--${boundary}\r Content-Disposition: form-data`; - const escape2 = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); + const escape3 = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); const blobParts = []; const rn = new Uint8Array([13, 10]); length = 0; let hasUnknownSizeValue = false; - for (const [name, value] of object2) { + for (const [name, value] of object) { if (typeof value === "string") { - const chunk2 = textEncoder.encode(prefix + `; name="${escape2(normalizeLinefeeds(name))}"\r + const chunk2 = textEncoder.encode(prefix + `; name="${escape3(normalizeLinefeeds(name))}"\r \r ${normalizeLinefeeds(value)}\r `); blobParts.push(chunk2); length += chunk2.byteLength; } else { - const chunk2 = textEncoder.encode(`${prefix}; name="${escape2(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape2(value.name)}"` : "") + `\r + const chunk2 = textEncoder.encode(`${prefix}; name="${escape3(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape3(value.name)}"` : "") + `\r Content-Type: ${value.type || "application/octet-stream"}\r \r `); @@ -5743,7 +5751,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r if (hasUnknownSizeValue) { length = null; } - source = object2; + source = object; action = async function* () { for (const part of blobParts) { if (part.stream) { @@ -5754,31 +5762,31 @@ Content-Type: ${value.type || "application/octet-stream"}\r } }; type = `multipart/form-data; boundary=${boundary}`; - } else if (isBlobLike(object2)) { - source = object2; - length = object2.size; - if (object2.type) { - type = object2.type; + } else if (isBlobLike(object)) { + source = object; + length = object.size; + if (object.type) { + type = object.type; } - } else if (typeof object2[Symbol.asyncIterator] === "function") { + } else if (typeof object[Symbol.asyncIterator] === "function") { if (keepalive) { throw new TypeError("keepalive"); } - if (util.isDisturbed(object2) || object2.locked) { + if (util3.isDisturbed(object) || object.locked) { throw new TypeError( "Response body object should not be disturbed or locked" ); } - stream2 = object2 instanceof ReadableStream ? object2 : ReadableStreamFrom(object2); + stream2 = object instanceof ReadableStream ? object : ReadableStreamFrom(object); } - if (typeof source === "string" || util.isBuffer(source)) { + if (typeof source === "string" || util3.isBuffer(source)) { length = Buffer.byteLength(source); } if (action != null) { let iterator2; stream2 = new ReadableStream({ async start() { - iterator2 = action(object2)[Symbol.asyncIterator](); + iterator2 = action(object)[Symbol.asyncIterator](); }, async pull(controller) { const { value, done } = await iterator2.next(); @@ -5806,12 +5814,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r const body = { stream: stream2, source, length }; return [body, type]; } - function safelyExtractBody(object2, keepalive = false) { - if (object2 instanceof ReadableStream) { - assert(!util.isDisturbed(object2), "The body has already been consumed."); - assert(!object2.locked, "The stream is locked."); + function safelyExtractBody(object, keepalive = false) { + if (object instanceof ReadableStream) { + assert(!util3.isDisturbed(object), "The body has already been consumed."); + assert(!object.locked, "The stream is locked."); } - return extractBody(object2, keepalive); + return extractBody(object, keepalive); } function cloneBody(instance, body) { const [out1, out2] = body.stream.tee(); @@ -5891,12 +5899,12 @@ Content-Type: ${value.type || "application/octet-stream"}\r function mixinBody(prototype) { Object.assign(prototype.prototype, bodyMixinMethods(prototype)); } - async function consumeBody(object2, convertBytesToJSValue, instance) { - webidl.brandCheck(object2, instance); - if (bodyUnusable(object2)) { + async function consumeBody(object, convertBytesToJSValue, instance) { + webidl.brandCheck(object, instance); + if (bodyUnusable(object)) { throw new TypeError("Body is unusable: Body has already been read"); } - throwIfAborted(object2[kState]); + throwIfAborted(object[kState]); const promise = createDeferredPromise(); const errorSteps = (error3) => promise.reject(error3); const successSteps = (data) => { @@ -5906,16 +5914,16 @@ Content-Type: ${value.type || "application/octet-stream"}\r errorSteps(e); } }; - if (object2[kState].body == null) { + if (object[kState].body == null) { successSteps(Buffer.allocUnsafe(0)); return promise.promise; } - await fullyReadBody(object2[kState].body, successSteps, errorSteps); + await fullyReadBody(object[kState].body, successSteps, errorSteps); return promise.promise; } - function bodyUnusable(object2) { - const body = object2[kState].body; - return body != null && (body.stream.locked || util.isDisturbed(body.stream)); + function bodyUnusable(object) { + const body = object[kState].body; + return body != null && (body.stream.locked || util3.isDisturbed(body.stream)); } function parseJSONFromBytes(bytes) { return JSON.parse(utf8DecodeBytes(bytes)); @@ -5945,7 +5953,7 @@ var require_client_h1 = __commonJS({ "node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) { "use strict"; var assert = require("node:assert"); - var util = require_util(); + var util3 = require_util(); var { channels } = require_diagnostics(); var timers = require_timers(); var { @@ -5996,8 +6004,11 @@ var require_client_h1 = __commonJS({ var constants = require_constants2(); var EMPTY_BUF = Buffer.alloc(0); var FastBuffer = Buffer[Symbol.species]; - var addListener = util.addListener; - var removeAllListeners = util.removeAllListeners; + var addListener = util3.addListener; + var removeAllListeners = util3.removeAllListeners; + var kIdleSocketValidation = /* @__PURE__ */ Symbol("kIdleSocketValidation"); + var kIdleSocketValidationTimeout = /* @__PURE__ */ Symbol("kIdleSocketValidationTimeout"); + var kSocketUsed = /* @__PURE__ */ Symbol("kSocketUsed"); var extractBody; async function lazyllhttp() { const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; @@ -6160,24 +6171,55 @@ var require_client_h1 = __commonJS({ currentBufferRef = null; } const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; - if (ret === constants.ERROR.PAUSED_UPGRADE) { - this.onUpgrade(data.slice(offset)); - } else if (ret === constants.ERROR.PAUSED) { - this.paused = true; - socket.unshift(data.slice(offset)); - } else if (ret !== constants.ERROR.OK) { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; - if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + if (ret !== constants.ERROR.OK) { + const body = data.subarray(offset); + if (ret === constants.ERROR.PAUSED_UPGRADE) { + this.onUpgrade(body); + } else if (ret === constants.ERROR.PAUSED) { + this.paused = true; + socket.unshift(body); + } else { + throw this.createError(ret, body); } - throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); } } catch (err) { - util.destroy(socket, err); + util3.destroy(socket, err); } } + finish() { + assert(currentParser === null); + assert(this.ptr != null); + assert(!this.paused); + const { llhttp } = this; + let ret; + try { + currentParser = this; + ret = llhttp.llhttp_finish(this.ptr); + } finally { + currentParser = null; + } + if (ret === constants.ERROR.OK) { + return null; + } + if (ret === constants.ERROR.PAUSED || ret === constants.ERROR.PAUSED_UPGRADE) { + this.paused = true; + return null; + } + return this.createError(ret, EMPTY_BUF); + } + createError(ret, data) { + const { llhttp, contentLength, bytesRead } = this; + if (contentLength && bytesRead !== parseInt(contentLength, 10)) { + return new ResponseContentLengthMismatchError(); + } + const ptr = llhttp.llhttp_get_error_reason(this.ptr); + let message = ""; + if (ptr) { + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); + message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + } + return new HTTPParserError(message, constants.ERROR[ret], data); + } destroy() { assert(this.ptr != null); assert(currentParser == null); @@ -6197,6 +6239,10 @@ var require_client_h1 = __commonJS({ if (socket.destroyed) { return -1; } + if (client[kRunning] === 0) { + util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket))); + return -1; + } const request3 = client[kQueue][client[kRunningIdx]]; if (!request3) { return -1; @@ -6222,13 +6268,13 @@ var require_client_h1 = __commonJS({ } const key = this.headers[len - 2]; if (key.length === 10) { - const headerName = util.bufferToLowerCasedHeaderName(key); + const headerName = util3.bufferToLowerCasedHeaderName(key); if (headerName === "keep-alive") { this.keepAlive += buf.toString(); } else if (headerName === "connection") { this.connection += buf.toString(); } - } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") { + } else if (key.length === 14 && util3.bufferToLowerCasedHeaderName(key) === "content-length") { this.contentLength += buf.toString(); } this.trackHeader(buf.length); @@ -6236,7 +6282,7 @@ var require_client_h1 = __commonJS({ trackHeader(len) { this.headersSize += len; if (this.headersSize >= this.headersMaxSize) { - util.destroy(this.socket, new HeadersOverflowError()); + util3.destroy(this.socket, new HeadersOverflowError()); } } onUpgrade(head) { @@ -6267,7 +6313,7 @@ var require_client_h1 = __commonJS({ try { request3.onUpgrade(statusCode, headers, socket); } catch (err) { - util.destroy(socket, err); + util3.destroy(socket, err); } client[kResume](); } @@ -6276,6 +6322,10 @@ var require_client_h1 = __commonJS({ if (socket.destroyed) { return -1; } + if (client[kRunning] === 0) { + util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket))); + return -1; + } const request3 = client[kQueue][client[kRunningIdx]]; if (!request3) { return -1; @@ -6283,11 +6333,11 @@ var require_client_h1 = __commonJS({ assert(!this.upgrade); assert(this.statusCode < 200); if (statusCode === 100) { - util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); + util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket))); return -1; } if (upgrade && !request3.upgrade) { - util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); + util3.destroy(socket, new SocketError("bad upgrade", util3.getSocketInfo(socket))); return -1; } assert(this.timeoutType === TIMEOUT_HEADERS); @@ -6316,7 +6366,7 @@ var require_client_h1 = __commonJS({ this.headers = []; this.headersSize = 0; if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; + const keepAliveTimeout = this.keepAlive ? util3.parseKeepAliveTimeout(this.keepAlive) : null; if (keepAliveTimeout != null) { const timeout = Math.min( keepAliveTimeout - client[kKeepAliveTimeoutThreshold], @@ -6364,7 +6414,7 @@ var require_client_h1 = __commonJS({ } assert(statusCode >= 200); if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util.destroy(socket, new ResponseExceededMaxSizeError()); + util3.destroy(socket, new ResponseExceededMaxSizeError()); return -1; } this.bytesRead += buf.length; @@ -6396,20 +6446,21 @@ var require_client_h1 = __commonJS({ return; } if (request3.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util.destroy(socket, new ResponseContentLengthMismatchError()); + util3.destroy(socket, new ResponseContentLengthMismatchError()); return -1; } request3.onComplete(headers); client[kQueue][client[kRunningIdx]++] = null; + socket[kSocketUsed] = true; if (socket[kWriting]) { assert(client[kRunning] === 0); - util.destroy(socket, new InformationalError("reset")); + util3.destroy(socket, new InformationalError("reset")); return constants.ERROR.PAUSED; } else if (!shouldKeepAlive) { - util.destroy(socket, new InformationalError("reset")); + util3.destroy(socket, new InformationalError("reset")); return constants.ERROR.PAUSED; } else if (socket[kReset] && client[kRunning] === 0) { - util.destroy(socket, new InformationalError("reset")); + util3.destroy(socket, new InformationalError("reset")); return constants.ERROR.PAUSED; } else if (client[kPipelining] == null || client[kPipelining] === 1) { setImmediate(() => client[kResume]()); @@ -6423,15 +6474,15 @@ var require_client_h1 = __commonJS({ if (timeoutType === TIMEOUT_HEADERS) { if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { assert(!paused, "cannot be paused while waiting for headers"); - util.destroy(socket, new HeadersTimeoutError()); + util3.destroy(socket, new HeadersTimeoutError()); } } else if (timeoutType === TIMEOUT_BODY) { if (!paused) { - util.destroy(socket, new BodyTimeoutError()); + util3.destroy(socket, new BodyTimeoutError()); } } else if (timeoutType === TIMEOUT_KEEP_ALIVE) { assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util.destroy(socket, new InformationalError("socket idle timeout")); + util3.destroy(socket, new InformationalError("socket idle timeout")); } } async function connectH1(client, socket) { @@ -6444,12 +6495,19 @@ var require_client_h1 = __commonJS({ socket[kWriting] = false; socket[kReset] = false; socket[kBlocking] = false; + socket[kIdleSocketValidation] = 0; + socket[kIdleSocketValidationTimeout] = null; + socket[kSocketUsed] = false; socket[kParser] = new Parser(client, socket, llhttpInstance); addListener(socket, "error", function(err) { assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); const parser = this[kParser]; if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + const parserErr = parser.finish(); + if (parserErr) { + this[kError] = parserErr; + this[kClient][kOnError](parserErr); + } return; } this[kError] = err; @@ -6464,22 +6522,26 @@ var require_client_h1 = __commonJS({ addListener(socket, "end", function() { const parser = this[kParser]; if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + const parserErr = parser.finish(); + if (parserErr) { + util3.destroy(this, parserErr); + } return; } - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + util3.destroy(this, new SocketError("other side closed", util3.getSocketInfo(this))); }); addListener(socket, "close", function() { const client2 = this[kClient]; const parser = this[kParser]; + clearIdleSocketValidation(this); if (parser) { if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + this[kError] = parser.finish() || this[kError]; } this[kParser].destroy(); this[kParser] = null; } - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + const err = this[kError] || new SocketError("closed", util3.getSocketInfo(this)); client2[kSocket] = null; client2[kHTTPContext] = null; if (client2.destroyed) { @@ -6487,12 +6549,12 @@ var require_client_h1 = __commonJS({ const requests = client2[kQueue].splice(client2[kRunningIdx]); for (let i = 0; i < requests.length; i++) { const request3 = requests[i]; - util.errorRequest(client2, request3, err); + util3.errorRequest(client2, request3, err); } } else if (client2[kRunning] > 0 && err.code !== "UND_ERR_INFO") { const request3 = client2[kQueue][client2[kRunningIdx]]; client2[kQueue][client2[kRunningIdx]++] = null; - util.errorRequest(client2, request3, err); + util3.errorRequest(client2, request3, err); } client2[kPendingIdx] = client2[kRunningIdx]; assert(client2[kRunning] === 0); @@ -6523,7 +6585,7 @@ var require_client_h1 = __commonJS({ return socket.destroyed; }, busy(request3) { - if (socket[kWriting] || socket[kReset] || socket[kBlocking]) { + if (socket[kWriting] || socket[kReset] || socket[kBlocking] || socket[kIdleSocketValidation] === 1) { return true; } if (request3) { @@ -6533,7 +6595,7 @@ var require_client_h1 = __commonJS({ if (client[kRunning] > 0 && (request3.upgrade || request3.method === "CONNECT")) { return true; } - if (client[kRunning] > 0 && util.bodyLength(request3.body) !== 0 && (util.isStream(request3.body) || util.isAsyncIterable(request3.body) || util.isFormDataLike(request3.body))) { + if (client[kRunning] > 0 && util3.bodyLength(request3.body) !== 0 && (util3.isStream(request3.body) || util3.isAsyncIterable(request3.body) || util3.isFormDataLike(request3.body))) { return true; } } @@ -6541,6 +6603,24 @@ var require_client_h1 = __commonJS({ } }; } + function clearIdleSocketValidation(socket) { + if (socket[kIdleSocketValidationTimeout]) { + clearTimeout(socket[kIdleSocketValidationTimeout]); + socket[kIdleSocketValidationTimeout] = null; + } + socket[kIdleSocketValidation] = 0; + } + function scheduleIdleSocketValidation(client, socket) { + socket[kIdleSocketValidation] = 1; + socket[kIdleSocketValidationTimeout] = setTimeout(() => { + socket[kIdleSocketValidationTimeout] = null; + socket[kIdleSocketValidation] = 2; + if (client[kSocket] === socket && !socket.destroyed) { + client[kResume](); + } + }, 0); + socket[kIdleSocketValidationTimeout].unref?.(); + } function resumeH1(client) { const socket = client[kSocket]; if (socket && !socket.destroyed) { @@ -6553,6 +6633,29 @@ var require_client_h1 = __commonJS({ socket.ref(); socket[kNoRef] = false; } + if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) { + if (socket[kIdleSocketValidation] === 0) { + scheduleIdleSocketValidation(client, socket); + socket[kParser].readMore(); + if (socket.destroyed) { + return; + } + return; + } + if (socket[kIdleSocketValidation] === 1) { + socket[kParser].readMore(); + if (socket.destroyed) { + return; + } + return; + } + } + if (client[kRunning] === 0) { + socket[kParser].readMore(); + if (socket.destroyed) { + return; + } + } if (client[kSize] === 0) { if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) { socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE); @@ -6570,10 +6673,10 @@ var require_client_h1 = __commonJS({ return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; } function writeH1(client, request3) { - const { method, path: path29, host, upgrade, blocking, reset } = request3; + const { method, path: path30, host, upgrade, blocking, reset } = request3; let { body, headers, contentLength } = request3; const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH"; - if (util.isFormDataLike(body)) { + if (util3.isFormDataLike(body)) { if (!extractBody) { extractBody = require_body().extractBody; } @@ -6583,13 +6686,13 @@ var require_client_h1 = __commonJS({ } body = bodyStream.stream; contentLength = bodyStream.length; - } else if (util.isBlobLike(body) && request3.contentType == null && body.type) { + } else if (util3.isBlobLike(body) && request3.contentType == null && body.type) { headers.push("content-type", body.type); } if (body && typeof body.read === "function") { body.read(0); } - const bodyLength = util.bodyLength(body); + const bodyLength = util3.bodyLength(body); contentLength = bodyLength ?? contentLength; if (contentLength === null) { contentLength = request3.contentLength; @@ -6599,24 +6702,25 @@ var require_client_h1 = __commonJS({ } if (shouldSendContentLength(method) && contentLength > 0 && request3.contentLength !== null && request3.contentLength !== contentLength) { if (client[kStrictContentLength]) { - util.errorRequest(client, request3, new RequestContentLengthMismatchError()); + util3.errorRequest(client, request3, new RequestContentLengthMismatchError()); return false; } process.emitWarning(new RequestContentLengthMismatchError()); } const socket = client[kSocket]; + clearIdleSocketValidation(socket); const abort = (err) => { if (request3.aborted || request3.completed) { return; } - util.errorRequest(client, request3, err || new RequestAbortedError()); - util.destroy(body); - util.destroy(socket, new InformationalError("aborted")); + util3.errorRequest(client, request3, err || new RequestAbortedError()); + util3.destroy(body); + util3.destroy(socket, new InformationalError("aborted")); }; try { request3.onConnect(abort); } catch (err) { - util.errorRequest(client, request3, err); + util3.errorRequest(client, request3, err); } if (request3.aborted) { return false; @@ -6636,7 +6740,7 @@ var require_client_h1 = __commonJS({ if (blocking) { socket[kBlocking] = true; } - let header = `${method} ${path29} HTTP/1.1\r + let header = `${method} ${path30} HTTP/1.1\r `; if (typeof host === "string") { header += `host: ${host}\r @@ -6673,17 +6777,17 @@ upgrade: ${upgrade}\r } if (!body || bodyLength === 0) { writeBuffer(abort, null, client, request3, socket, contentLength, header, expectsPayload); - } else if (util.isBuffer(body)) { + } else if (util3.isBuffer(body)) { writeBuffer(abort, body, client, request3, socket, contentLength, header, expectsPayload); - } else if (util.isBlobLike(body)) { + } else if (util3.isBlobLike(body)) { if (typeof body.stream === "function") { writeIterable(abort, body.stream(), client, request3, socket, contentLength, header, expectsPayload); } else { writeBlob(abort, body, client, request3, socket, contentLength, header, expectsPayload); } - } else if (util.isStream(body)) { + } else if (util3.isStream(body)) { writeStream(abort, body, client, request3, socket, contentLength, header, expectsPayload); - } else if (util.isIterable(body)) { + } else if (util3.isIterable(body)) { writeIterable(abort, body, client, request3, socket, contentLength, header, expectsPayload); } else { assert(false); @@ -6703,7 +6807,7 @@ upgrade: ${upgrade}\r this.pause(); } } catch (err) { - util.destroy(this, err); + util3.destroy(this, err); } }; const onDrain = function() { @@ -6740,9 +6844,9 @@ upgrade: ${upgrade}\r } writer.destroy(err); if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util.destroy(body, err); + util3.destroy(body, err); } else { - util.destroy(body); + util3.destroy(body); } }; body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose); @@ -6771,7 +6875,7 @@ upgrade: ${upgrade}\r socket.write(`${header}\r `, "latin1"); } - } else if (util.isBuffer(body)) { + } else if (util3.isBuffer(body)) { assert(contentLength === body.byteLength, "buffer body must have content length"); socket.cork(); socket.write(`${header}content-length: ${contentLength}\r @@ -6823,12 +6927,12 @@ upgrade: ${upgrade}\r cb(); } } - const waitForDrain = () => new Promise((resolve13, reject) => { + const waitForDrain = () => new Promise((resolve14, reject) => { assert(callback === null); if (socket[kError]) { reject(socket[kError]); } else { - callback = resolve13; + callback = resolve14; } }); socket.on("close", onDrain).on("drain", onDrain); @@ -6966,7 +7070,7 @@ var require_client_h2 = __commonJS({ "use strict"; var assert = require("node:assert"); var { pipeline } = require("node:stream"); - var util = require_util(); + var util3 = require_util(); var { RequestContentLengthMismatchError, RequestAbortedError, @@ -7040,37 +7144,37 @@ var require_client_h2 = __commonJS({ session[kOpenStreams] = 0; session[kClient] = client; session[kSocket] = socket; - util.addListener(session, "error", onHttp2SessionError); - util.addListener(session, "frameError", onHttp2FrameError); - util.addListener(session, "end", onHttp2SessionEnd); - util.addListener(session, "goaway", onHTTP2GoAway); - util.addListener(session, "close", function() { + util3.addListener(session, "error", onHttp2SessionError); + util3.addListener(session, "frameError", onHttp2FrameError); + util3.addListener(session, "end", onHttp2SessionEnd); + util3.addListener(session, "goaway", onHTTP2GoAway); + util3.addListener(session, "close", function() { const { [kClient]: client2 } = this; const { [kSocket]: socket2 } = client2; - const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket2)); + const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util3.getSocketInfo(socket2)); client2[kHTTP2Session] = null; if (client2.destroyed) { assert(client2[kPending] === 0); const requests = client2[kQueue].splice(client2[kRunningIdx]); for (let i = 0; i < requests.length; i++) { const request3 = requests[i]; - util.errorRequest(client2, request3, err); + util3.errorRequest(client2, request3, err); } } }); session.unref(); client[kHTTP2Session] = session; socket[kHTTP2Session] = session; - util.addListener(socket, "error", function(err) { + util3.addListener(socket, "error", function(err) { assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); this[kError] = err; this[kClient][kOnError](err); }); - util.addListener(socket, "end", function() { - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); + util3.addListener(socket, "end", function() { + util3.destroy(this, new SocketError("other side closed", util3.getSocketInfo(this))); }); - util.addListener(socket, "close", function() { - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); + util3.addListener(socket, "close", function() { + const err = this[kError] || new SocketError("closed", util3.getSocketInfo(this)); client[kSocket] = null; if (this[kHTTP2Session] != null) { this[kHTTP2Session].destroy(err); @@ -7133,12 +7237,12 @@ var require_client_h2 = __commonJS({ } } function onHttp2SessionEnd() { - const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket])); + const err = new SocketError("other side closed", util3.getSocketInfo(this[kSocket])); this.destroy(err); - util.destroy(this[kSocket], err); + util3.destroy(this[kSocket], err); } function onHTTP2GoAway(code) { - const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util.getSocketInfo(this)); + const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${code}`, util3.getSocketInfo(this)); const client = this[kClient]; client[kSocket] = null; client[kHTTPContext] = null; @@ -7146,11 +7250,11 @@ var require_client_h2 = __commonJS({ this[kHTTP2Session].destroy(err); this[kHTTP2Session] = null; } - util.destroy(this[kSocket], err); + util3.destroy(this[kSocket], err); if (client[kRunningIdx] < client[kQueue].length) { const request3 = client[kQueue][client[kRunningIdx]]; client[kQueue][client[kRunningIdx]++] = null; - util.errorRequest(client, request3, err); + util3.errorRequest(client, request3, err); client[kPendingIdx] = client[kRunningIdx]; } assert(client[kRunning] === 0); @@ -7162,10 +7266,10 @@ var require_client_h2 = __commonJS({ } function writeH2(client, request3) { const session = client[kHTTP2Session]; - const { method, path: path29, host, upgrade, expectContinue, signal, headers: reqHeaders } = request3; + const { method, path: path30, host, upgrade, expectContinue, signal, headers: reqHeaders } = request3; let { body } = request3; if (upgrade) { - util.errorRequest(client, request3, new Error("Upgrade not supported for H2")); + util3.errorRequest(client, request3, new Error("Upgrade not supported for H2")); return false; } const headers = {}; @@ -7193,18 +7297,18 @@ var require_client_h2 = __commonJS({ return; } err = err || new RequestAbortedError(); - util.errorRequest(client, request3, err); + util3.errorRequest(client, request3, err); if (stream2 != null) { - util.destroy(stream2, err); + util3.destroy(stream2, err); } - util.destroy(body, err); + util3.destroy(body, err); client[kQueue][client[kRunningIdx]++] = null; client[kResume](); }; try { request3.onConnect(abort); } catch (err) { - util.errorRequest(client, request3, err); + util3.errorRequest(client, request3, err); } if (request3.aborted) { return false; @@ -7229,14 +7333,14 @@ var require_client_h2 = __commonJS({ }); return true; } - headers[HTTP2_HEADER_PATH] = path29; + headers[HTTP2_HEADER_PATH] = path30; headers[HTTP2_HEADER_SCHEME] = "https"; const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; if (body && typeof body.read === "function") { body.read(0); } - let contentLength = util.bodyLength(body); - if (util.isFormDataLike(body)) { + let contentLength = util3.bodyLength(body); + if (util3.isFormDataLike(body)) { extractBody ??= require_body().extractBody; const [bodyStream, contentType] = extractBody(body); headers["content-type"] = contentType; @@ -7251,7 +7355,7 @@ var require_client_h2 = __commonJS({ } if (shouldSendContentLength(method) && contentLength > 0 && request3.contentLength != null && request3.contentLength !== contentLength) { if (client[kStrictContentLength]) { - util.errorRequest(client, request3, new RequestContentLengthMismatchError()); + util3.errorRequest(client, request3, new RequestContentLengthMismatchError()); return false; } process.emitWarning(new RequestContentLengthMismatchError()); @@ -7279,8 +7383,8 @@ var require_client_h2 = __commonJS({ request3.onResponseStarted(); if (request3.aborted) { const err = new RequestAbortedError(); - util.errorRequest(client, request3, err); - util.destroy(stream2, err); + util3.errorRequest(client, request3, err); + util3.destroy(stream2, err); return; } if (request3.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream2.resume.bind(stream2), "") === false) { @@ -7329,7 +7433,7 @@ var require_client_h2 = __commonJS({ contentLength, expectsPayload ); - } else if (util.isBuffer(body)) { + } else if (util3.isBuffer(body)) { writeBuffer( abort, stream2, @@ -7340,7 +7444,7 @@ var require_client_h2 = __commonJS({ contentLength, expectsPayload ); - } else if (util.isBlobLike(body)) { + } else if (util3.isBlobLike(body)) { if (typeof body.stream === "function") { writeIterable( abort, @@ -7364,7 +7468,7 @@ var require_client_h2 = __commonJS({ expectsPayload ); } - } else if (util.isStream(body)) { + } else if (util3.isStream(body)) { writeStream( abort, client[kSocket], @@ -7375,7 +7479,7 @@ var require_client_h2 = __commonJS({ request3, contentLength ); - } else if (util.isIterable(body)) { + } else if (util3.isIterable(body)) { writeIterable( abort, stream2, @@ -7393,7 +7497,7 @@ var require_client_h2 = __commonJS({ } function writeBuffer(abort, h2stream, body, client, request3, socket, contentLength, expectsPayload) { try { - if (body != null && util.isBuffer(body)) { + if (body != null && util3.isBuffer(body)) { assert(contentLength === body.byteLength, "buffer body must have content length"); h2stream.cork(); h2stream.write(body); @@ -7417,10 +7521,10 @@ var require_client_h2 = __commonJS({ h2stream, (err) => { if (err) { - util.destroy(pipe, err); + util3.destroy(pipe, err); abort(err); } else { - util.removeAllListeners(pipe); + util3.removeAllListeners(pipe); request3.onRequestSent(); if (!expectsPayload) { socket[kReset] = true; @@ -7429,7 +7533,7 @@ var require_client_h2 = __commonJS({ } } ); - util.addListener(pipe, "data", onPipeData); + util3.addListener(pipe, "data", onPipeData); function onPipeData(chunk) { request3.onBodySent(chunk); } @@ -7465,12 +7569,12 @@ var require_client_h2 = __commonJS({ cb(); } } - const waitForDrain = () => new Promise((resolve13, reject) => { + const waitForDrain = () => new Promise((resolve14, reject) => { assert(callback === null); if (socket[kError]) { reject(socket[kError]); } else { - callback = resolve13; + callback = resolve14; } }); h2stream.on("close", onDrain).on("drain", onDrain); @@ -7505,7 +7609,7 @@ var require_client_h2 = __commonJS({ var require_redirect_handler = __commonJS({ "node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) { "use strict"; - var util = require_util(); + var util3 = require_util(); var { kBodyUsed } = require_symbols(); var assert = require("node:assert"); var { InvalidArgumentError } = require_errors(); @@ -7528,7 +7632,7 @@ var require_redirect_handler = __commonJS({ if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { throw new InvalidArgumentError("maxRedirections must be a positive number"); } - util.validateHandler(handler2, opts.method, opts.upgrade); + util3.validateHandler(handler2, opts.method, opts.upgrade); this.dispatch = dispatch; this.location = null; this.abort = null; @@ -7537,8 +7641,8 @@ var require_redirect_handler = __commonJS({ this.handler = handler2; this.history = []; this.redirectionLimitReached = false; - if (util.isStream(this.opts.body)) { - if (util.bodyLength(this.opts.body) === 0) { + if (util3.isStream(this.opts.body)) { + if (util3.bodyLength(this.opts.body) === 0) { this.opts.body.on("data", function() { assert(false); }); @@ -7551,7 +7655,7 @@ var require_redirect_handler = __commonJS({ } } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { this.opts.body = new BodyAsyncIterable(this.opts.body); - } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) { + } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util3.isIterable(this.opts.body)) { this.opts.body = new BodyAsyncIterable(this.opts.body); } } @@ -7566,7 +7670,7 @@ var require_redirect_handler = __commonJS({ this.handler.onError(error3); } onHeaders(statusCode, headers, resume, statusText) { - this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); + this.location = this.history.length >= this.maxRedirections || util3.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) { if (this.request) { this.request.abort(new Error("max redirects")); @@ -7581,10 +7685,10 @@ var require_redirect_handler = __commonJS({ if (!this.location) { return this.handler.onHeaders(statusCode, headers, resume, statusText); } - const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); - const path29 = search ? `${pathname}${search}` : pathname; + const { origin, pathname, search } = util3.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); + const path30 = search ? `${pathname}${search}` : pathname; this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); - this.opts.path = path29; + this.opts.path = path30; this.opts.origin = origin; this.opts.maxRedirections = 0; this.opts.query = null; @@ -7619,20 +7723,20 @@ var require_redirect_handler = __commonJS({ return null; } for (let i = 0; i < headers.length; i += 2) { - if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") { + if (headers[i].length === 8 && util3.headerNameToString(headers[i]) === "location") { return headers[i + 1]; } } } function shouldRemoveHeader(header, removeContent, unknownOrigin) { if (header.length === 4) { - return util.headerNameToString(header) === "host"; + return util3.headerNameToString(header) === "host"; } - if (removeContent && util.headerNameToString(header).startsWith("content-")) { + if (removeContent && util3.headerNameToString(header).startsWith("content-")) { return true; } if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { - const name = util.headerNameToString(header); + const name = util3.headerNameToString(header); return name === "authorization" || name === "cookie" || name === "proxy-authorization"; } return false; @@ -7689,7 +7793,7 @@ var require_client = __commonJS({ var assert = require("node:assert"); var net = require("node:net"); var http = require("node:http"); - var util = require_util(); + var util3 = require_util(); var { channels } = require_diagnostics(); var Request = require_request(); var DispatcherBase = require_dispatcher_base(); @@ -7784,9 +7888,10 @@ var require_client = __commonJS({ autoSelectFamilyAttemptTimeout, // h2 maxConcurrentStreams, - allowH2 + allowH2, + webSocket } = {}) { - super(); + super({ webSocket }); if (keepAlive !== void 0) { throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); } @@ -7872,7 +7977,7 @@ var require_client = __commonJS({ } else { this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })]; } - this[kUrl] = util.parseOrigin(url2); + this[kUrl] = util3.parseOrigin(url2); this[kConnector] = connect2; this[kPipelining] = pipelining != null ? pipelining : 1; this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; @@ -7935,7 +8040,7 @@ var require_client = __commonJS({ const request3 = new Request(origin, opts, handler2); this[kQueue].push(request3); if (this[kResuming]) { - } else if (util.bodyLength(request3.body) == null && util.isIterable(request3.body)) { + } else if (util3.bodyLength(request3.body) == null && util3.isIterable(request3.body)) { this[kResuming] = 1; queueMicrotask(() => resume(this)); } else { @@ -7947,27 +8052,27 @@ var require_client = __commonJS({ return this[kNeedDrain] < 2; } async [kClose]() { - return new Promise((resolve13) => { + return new Promise((resolve14) => { if (this[kSize]) { - this[kClosedResolve] = resolve13; + this[kClosedResolve] = resolve14; } else { - resolve13(null); + resolve14(null); } }); } async [kDestroy](err) { - return new Promise((resolve13) => { + return new Promise((resolve14) => { const requests = this[kQueue].splice(this[kPendingIdx]); for (let i = 0; i < requests.length; i++) { const request3 = requests[i]; - util.errorRequest(this, request3, err); + util3.errorRequest(this, request3, err); } const callback = () => { if (this[kClosedResolve]) { this[kClosedResolve](); this[kClosedResolve] = null; } - resolve13(null); + resolve14(null); }; if (this[kHTTPContext]) { this[kHTTPContext].destroy(err, callback); @@ -7986,7 +8091,7 @@ var require_client = __commonJS({ const requests = client[kQueue].splice(client[kRunningIdx]); for (let i = 0; i < requests.length; i++) { const request3 = requests[i]; - util.errorRequest(client, request3, err); + util3.errorRequest(client, request3, err); } assert(client[kSize] === 0); } @@ -8018,7 +8123,7 @@ var require_client = __commonJS({ }); } try { - const socket = await new Promise((resolve13, reject) => { + const socket = await new Promise((resolve14, reject) => { client[kConnector]({ host, hostname, @@ -8030,12 +8135,12 @@ var require_client = __commonJS({ if (err) { reject(err); } else { - resolve13(socket2); + resolve14(socket2); } }); }); if (client.destroyed) { - util.destroy(socket.on("error", noop3), new ClientDestroyedError()); + util3.destroy(socket.on("error", noop3), new ClientDestroyedError()); return; } assert(socket); @@ -8090,7 +8195,7 @@ var require_client = __commonJS({ assert(client[kRunning] === 0); while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { const request3 = client[kQueue][client[kPendingIdx]++]; - util.errorRequest(client, request3, err); + util3.errorRequest(client, request3, err); } } else { onError(client, err); @@ -8292,17 +8397,17 @@ var require_pool_base = __commonJS({ var kRemoveClient = /* @__PURE__ */ Symbol("remove client"); var kStats = /* @__PURE__ */ Symbol("stats"); var PoolBase = class extends DispatcherBase { - constructor() { - super(); + constructor(opts) { + super(opts); this[kQueue] = new FixedQueue(); this[kClients] = []; this[kQueued] = 0; const pool = this; this[kOnDrain] = function onDrain(origin, targets) { - const queue = pool[kQueue]; + const queue2 = pool[kQueue]; let needDrain = false; while (!needDrain) { - const item = queue.shift(); + const item = queue2.shift(); if (!item) { break; } @@ -8314,7 +8419,7 @@ var require_pool_base = __commonJS({ pool[kNeedDrain] = false; pool.emit("drain", origin, [pool, ...targets]); } - if (pool[kClosedResolve] && queue.isEmpty()) { + if (pool[kClosedResolve] && queue2.isEmpty()) { Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]); } }; @@ -8366,8 +8471,8 @@ var require_pool_base = __commonJS({ if (this[kQueue].isEmpty()) { await Promise.all(this[kClients].map((c) => c.close())); } else { - await new Promise((resolve13) => { - this[kClosedResolve] = resolve13; + await new Promise((resolve14) => { + this[kClosedResolve] = resolve14; }); } } @@ -8441,7 +8546,7 @@ var require_pool = __commonJS({ var { InvalidArgumentError } = require_errors(); - var util = require_util(); + var util3 = require_util(); var { kUrl, kInterceptors } = require_symbols(); var buildConnector = require_connect(); var kOptions = /* @__PURE__ */ Symbol("options"); @@ -8464,7 +8569,6 @@ var require_pool = __commonJS({ allowH2, ...options } = {}) { - super(); if (connections != null && (!Number.isFinite(connections) || connections < 0)) { throw new InvalidArgumentError("invalid connections"); } @@ -8485,10 +8589,11 @@ var require_pool = __commonJS({ ...connect }); } + super(options); this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; this[kConnections] = connections || null; - this[kUrl] = util.parseOrigin(origin); - this[kOptions] = { ...util.deepClone(options), connect, allowH2 }; + this[kUrl] = util3.parseOrigin(origin); + this[kOptions] = { ...util3.deepClone(options), connect, allowH2 }; this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; this[kFactory] = factory; this.on("connectionError", (origin2, targets, error3) => { @@ -8670,7 +8775,7 @@ var require_agent = __commonJS({ var DispatcherBase = require_dispatcher_base(); var Pool = require_pool(); var Client = require_client(); - var util = require_util(); + var util3 = require_util(); var createRedirectInterceptor = require_redirect_interceptor(); var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); @@ -8684,7 +8789,6 @@ var require_agent = __commonJS({ } var Agent = class extends DispatcherBase { constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { - super(); if (typeof factory !== "function") { throw new InvalidArgumentError("factory must be a function."); } @@ -8694,11 +8798,12 @@ var require_agent = __commonJS({ if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { throw new InvalidArgumentError("maxRedirections must be a positive number"); } + super(options); if (connect && typeof connect !== "function") { connect = { ...connect }; } this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; - this[kOptions] = { ...util.deepClone(options), connect }; + this[kOptions] = { ...util3.deepClone(options), connect }; this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; this[kMaxRedirections] = maxRedirections; this[kFactory] = factory; @@ -8818,10 +8923,10 @@ var require_proxy_agent = __commonJS({ }; const { origin, - path: path29 = "/", + path: path30 = "/", headers = {} } = opts; - opts.path = origin + path29; + opts.path = origin + path30; if (!("host" in headers) && !("Host" in headers)) { const { host } = new URL2(origin); headers.host = host; @@ -9314,8 +9419,8 @@ var require_retry_handler = __commonJS({ } if (this.end == null) { if (statusCode === 206) { - const range = parseRangeHeader(headers["content-range"]); - if (range == null) { + const range2 = parseRangeHeader(headers["content-range"]); + if (range2 == null) { return this.handler.onHeaders( statusCode, rawHeaders, @@ -9323,7 +9428,7 @@ var require_retry_handler = __commonJS({ statusMessage ); } - const { start, size, end = size - 1 } = range; + const { start, size, end = size - 1 } = range2; assert( start != null && Number.isFinite(start), "content-range mismatch" @@ -9455,9 +9560,9 @@ var require_readable = __commonJS({ "node_modules/undici/lib/api/readable.js"(exports2, module2) { "use strict"; var assert = require("node:assert"); - var { Readable: Readable2 } = require("node:stream"); + var { Readable: Readable3 } = require("node:stream"); var { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors(); - var util = require_util(); + var util3 = require_util(); var { ReadableStreamFrom } = require_util(); var kConsume = /* @__PURE__ */ Symbol("kConsume"); var kReading = /* @__PURE__ */ Symbol("kReading"); @@ -9467,7 +9572,7 @@ var require_readable = __commonJS({ var kContentLength = /* @__PURE__ */ Symbol("kContentLength"); var noop3 = () => { }; - var BodyReadable = class extends Readable2 { + var BodyReadable = class extends Readable3 { constructor({ resume, abort, @@ -9559,7 +9664,7 @@ var require_readable = __commonJS({ } // https://fetch.spec.whatwg.org/#dom-body-bodyused get bodyUsed() { - return util.isDisturbed(this); + return util3.isDisturbed(this); } // https://fetch.spec.whatwg.org/#dom-body-body get body() { @@ -9582,7 +9687,7 @@ var require_readable = __commonJS({ if (this._readableState.closeEmitted) { return null; } - return await new Promise((resolve13, reject) => { + return await new Promise((resolve14, reject) => { if (this[kContentLength] > limit) { this.destroy(new AbortError()); } @@ -9595,7 +9700,7 @@ var require_readable = __commonJS({ if (signal?.aborted) { reject(signal.reason ?? new AbortError()); } else { - resolve13(null); + resolve14(null); } }).on("error", noop3).on("data", function(chunk) { limit -= chunk.length; @@ -9610,11 +9715,11 @@ var require_readable = __commonJS({ return self2[kBody] && self2[kBody].locked === true || self2[kConsume]; } function isUnusable(self2) { - return util.isDisturbed(self2) || isLocked(self2); + return util3.isDisturbed(self2) || isLocked(self2); } async function consume(stream2, type) { assert(!stream2[kConsume]); - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { if (isUnusable(stream2)) { const rState = stream2._readableState; if (rState.destroyed && rState.closeEmitted === false) { @@ -9631,7 +9736,7 @@ var require_readable = __commonJS({ stream2[kConsume] = { type, stream: stream2, - resolve: resolve13, + resolve: resolve14, reject, length: 0, body: [] @@ -9701,18 +9806,18 @@ var require_readable = __commonJS({ return buffer; } function consumeEnd(consume2) { - const { type, body, resolve: resolve13, stream: stream2, length } = consume2; + const { type, body, resolve: resolve14, stream: stream2, length } = consume2; try { if (type === "text") { - resolve13(chunksDecode(body, length)); + resolve14(chunksDecode(body, length)); } else if (type === "json") { - resolve13(JSON.parse(chunksDecode(body, length))); + resolve14(JSON.parse(chunksDecode(body, length))); } else if (type === "arrayBuffer") { - resolve13(chunksConcat(body, length).buffer); + resolve14(chunksConcat(body, length).buffer); } else if (type === "blob") { - resolve13(new Blob(body, { type: stream2[kContentType] })); + resolve14(new Blob(body, { type: stream2[kContentType] })); } else if (type === "bytes") { - resolve13(chunksConcat(body, length)); + resolve14(chunksConcat(body, length)); } consumeFinish(consume2); } catch (err) { @@ -9809,9 +9914,9 @@ var require_api_request = __commonJS({ "node_modules/undici/lib/api/api-request.js"(exports2, module2) { "use strict"; var assert = require("node:assert"); - var { Readable: Readable2 } = require_readable(); + var { Readable: Readable3 } = require_readable(); var { InvalidArgumentError, RequestAbortedError } = require_errors(); - var util = require_util(); + var util3 = require_util(); var { getResolveErrorBodyCallback } = require_util3(); var { AsyncResource } = require("node:async_hooks"); var RequestHandler = class extends AsyncResource { @@ -9838,8 +9943,8 @@ var require_api_request = __commonJS({ } super("UNDICI_REQUEST"); } catch (err) { - if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); + if (util3.isStream(body)) { + util3.destroy(body.on("error", util3.nop), err); } throw err; } @@ -9858,7 +9963,7 @@ var require_api_request = __commonJS({ this.signal = signal; this.reason = null; this.removeAbortListener = null; - if (util.isStream(body)) { + if (util3.isStream(body)) { body.on("error", (err) => { this.onError(err); }); @@ -9867,10 +9972,10 @@ var require_api_request = __commonJS({ if (this.signal.aborted) { this.reason = this.signal.reason ?? new RequestAbortedError(); } else { - this.removeAbortListener = util.addAbortListener(this.signal, () => { + this.removeAbortListener = util3.addAbortListener(this.signal, () => { this.reason = this.signal.reason ?? new RequestAbortedError(); if (this.res) { - util.destroy(this.res.on("error", util.nop), this.reason); + util3.destroy(this.res.on("error", util3.nop), this.reason); } else if (this.abort) { this.abort(this.reason); } @@ -9894,17 +9999,17 @@ var require_api_request = __commonJS({ } onHeaders(statusCode, rawHeaders, resume, statusMessage) { const { callback, opaque, abort, context: context5, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); if (statusCode < 200) { if (this.onInfo) { this.onInfo({ statusCode, headers }); } return; } - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; + const parsedHeaders = responseHeaders === "raw" ? util3.parseHeaders(rawHeaders) : headers; const contentType = parsedHeaders["content-type"]; const contentLength = parsedHeaders["content-length"]; - const res = new Readable2({ + const res = new Readable3({ resume, abort, contentType, @@ -9939,7 +10044,7 @@ var require_api_request = __commonJS({ return this.res.push(chunk); } onComplete(trailers) { - util.parseHeaders(trailers, this.trailers); + util3.parseHeaders(trailers, this.trailers); this.res.push(null); } onError(err) { @@ -9953,12 +10058,12 @@ var require_api_request = __commonJS({ if (res) { this.res = null; queueMicrotask(() => { - util.destroy(res, err); + util3.destroy(res, err); }); } if (body) { this.body = null; - util.destroy(body, err); + util3.destroy(body, err); } if (this.removeAbortListener) { res?.off("close", this.removeAbortListener); @@ -9969,9 +10074,9 @@ var require_api_request = __commonJS({ }; function request3(opts, callback) { if (callback === void 0) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { request3.call(this, opts, (err, data) => { - return err ? reject(err) : resolve13(data); + return err ? reject(err) : resolve14(data); }); }); } @@ -10046,9 +10151,9 @@ var require_api_stream = __commonJS({ "node_modules/undici/lib/api/api-stream.js"(exports2, module2) { "use strict"; var assert = require("node:assert"); - var { finished, PassThrough } = require("node:stream"); + var { finished, PassThrough: PassThrough3 } = require("node:stream"); var { InvalidArgumentError, InvalidReturnValueError } = require_errors(); - var util = require_util(); + var util3 = require_util(); var { getResolveErrorBodyCallback } = require_util3(); var { AsyncResource } = require("node:async_hooks"); var { addSignal, removeSignal } = require_abort_signal(); @@ -10076,8 +10181,8 @@ var require_api_stream = __commonJS({ } super("UNDICI_STREAM"); } catch (err) { - if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); + if (util3.isStream(body)) { + util3.destroy(body.on("error", util3.nop), err); } throw err; } @@ -10092,7 +10197,7 @@ var require_api_stream = __commonJS({ this.body = body; this.onInfo = onInfo || null; this.throwOnError = throwOnError || false; - if (util.isStream(body)) { + if (util3.isStream(body)) { body.on("error", (err) => { this.onError(err); }); @@ -10110,7 +10215,7 @@ var require_api_stream = __commonJS({ } onHeaders(statusCode, rawHeaders, resume, statusMessage) { const { factory, opaque, context: context5, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); if (statusCode < 200) { if (this.onInfo) { this.onInfo({ statusCode, headers }); @@ -10120,9 +10225,9 @@ var require_api_stream = __commonJS({ this.factory = null; let res; if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; + const parsedHeaders = responseHeaders === "raw" ? util3.parseHeaders(rawHeaders) : headers; const contentType = parsedHeaders["content-type"]; - res = new PassThrough(); + res = new PassThrough3(); this.callback = null; this.runInAsyncScope( getResolveErrorBodyCallback, @@ -10146,7 +10251,7 @@ var require_api_stream = __commonJS({ const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; this.res = null; if (err || !res2.readable) { - util.destroy(res2, err); + util3.destroy(res2, err); } this.callback = null; this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); @@ -10170,7 +10275,7 @@ var require_api_stream = __commonJS({ if (!res) { return; } - this.trailers = util.parseHeaders(trailers); + this.trailers = util3.parseHeaders(trailers); res.end(); } onError(err) { @@ -10179,7 +10284,7 @@ var require_api_stream = __commonJS({ this.factory = null; if (res) { this.res = null; - util.destroy(res, err); + util3.destroy(res, err); } else if (callback) { this.callback = null; queueMicrotask(() => { @@ -10188,15 +10293,15 @@ var require_api_stream = __commonJS({ } if (body) { this.body = null; - util.destroy(body, err); + util3.destroy(body, err); } } }; function stream2(opts, factory, callback) { if (callback === void 0) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { stream2.call(this, opts, factory, (err, data) => { - return err ? reject(err) : resolve13(data); + return err ? reject(err) : resolve14(data); }); }); } @@ -10219,21 +10324,21 @@ var require_api_pipeline = __commonJS({ "node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { "use strict"; var { - Readable: Readable2, + Readable: Readable3, Duplex, - PassThrough + PassThrough: PassThrough3 } = require("node:stream"); var { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = require_errors(); - var util = require_util(); + var util3 = require_util(); var { AsyncResource } = require("node:async_hooks"); var { addSignal, removeSignal } = require_abort_signal(); var assert = require("node:assert"); var kResume = /* @__PURE__ */ Symbol("resume"); - var PipelineRequest = class extends Readable2 { + var PipelineRequest = class extends Readable3 { constructor() { super({ autoDestroy: true }); this[kResume] = null; @@ -10250,7 +10355,7 @@ var require_api_pipeline = __commonJS({ callback(err); } }; - var PipelineResponse = class extends Readable2 { + var PipelineResponse = class extends Readable3 { constructor(resume) { super({ autoDestroy: true }); this[kResume] = resume; @@ -10290,7 +10395,7 @@ var require_api_pipeline = __commonJS({ this.abort = null; this.context = null; this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util.nop); + this.req = new PipelineRequest().on("error", util3.nop); this.ret = new Duplex({ readableObjectMode: opts.objectMode, autoDestroy: true, @@ -10316,9 +10421,9 @@ var require_api_pipeline = __commonJS({ if (abort && err) { abort(); } - util.destroy(body, err); - util.destroy(req, err); - util.destroy(res, err); + util3.destroy(body, err); + util3.destroy(req, err); + util3.destroy(res, err); removeSignal(this); callback(err); } @@ -10344,7 +10449,7 @@ var require_api_pipeline = __commonJS({ const { opaque, handler: handler2, context: context5 } = this; if (statusCode < 200) { if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); this.onInfo({ statusCode, headers }); } return; @@ -10353,7 +10458,7 @@ var require_api_pipeline = __commonJS({ let body; try { this.handler = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); body = this.runInAsyncScope(handler2, null, { statusCode, headers, @@ -10362,7 +10467,7 @@ var require_api_pipeline = __commonJS({ context: context5 }); } catch (err) { - this.res.on("error", util.nop); + this.res.on("error", util3.nop); throw err; } if (!body || typeof body.on !== "function") { @@ -10375,14 +10480,14 @@ var require_api_pipeline = __commonJS({ } }).on("error", (err) => { const { ret } = this; - util.destroy(ret, err); + util3.destroy(ret, err); }).on("end", () => { const { ret } = this; ret.push(null); }).on("close", () => { const { ret } = this; if (!ret._readableState.ended) { - util.destroy(ret, new RequestAbortedError()); + util3.destroy(ret, new RequestAbortedError()); } }); this.body = body; @@ -10398,7 +10503,7 @@ var require_api_pipeline = __commonJS({ onError(err) { const { ret } = this; this.handler = null; - util.destroy(ret, err); + util3.destroy(ret, err); } }; function pipeline(opts, handler2) { @@ -10407,7 +10512,7 @@ var require_api_pipeline = __commonJS({ this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); return pipelineHandler.ret; } catch (err) { - return new PassThrough().destroy(err); + return new PassThrough3().destroy(err); } } module2.exports = pipeline; @@ -10420,7 +10525,7 @@ var require_api_upgrade = __commonJS({ "use strict"; var { InvalidArgumentError, SocketError } = require_errors(); var { AsyncResource } = require("node:async_hooks"); - var util = require_util(); + var util3 = require_util(); var { addSignal, removeSignal } = require_abort_signal(); var assert = require("node:assert"); var UpgradeHandler = class extends AsyncResource { @@ -10460,7 +10565,7 @@ var require_api_upgrade = __commonJS({ const { callback, opaque, context: context5 } = this; removeSignal(this); this.callback = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); this.runInAsyncScope(callback, null, null, { headers, socket, @@ -10481,9 +10586,9 @@ var require_api_upgrade = __commonJS({ }; function upgrade(opts, callback) { if (callback === void 0) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { upgrade.call(this, opts, (err, data) => { - return err ? reject(err) : resolve13(data); + return err ? reject(err) : resolve14(data); }); }); } @@ -10513,7 +10618,7 @@ var require_api_connect = __commonJS({ var assert = require("node:assert"); var { AsyncResource } = require("node:async_hooks"); var { InvalidArgumentError, SocketError } = require_errors(); - var util = require_util(); + var util3 = require_util(); var { addSignal, removeSignal } = require_abort_signal(); var ConnectHandler = class extends AsyncResource { constructor(opts, callback) { @@ -10552,7 +10657,7 @@ var require_api_connect = __commonJS({ this.callback = null; let headers = rawHeaders; if (headers != null) { - headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); + headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders); } this.runInAsyncScope(callback, null, null, { statusCode, @@ -10575,9 +10680,9 @@ var require_api_connect = __commonJS({ }; function connect(opts, callback) { if (callback === void 0) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { connect.call(this, opts, (err, data) => { - return err ? reject(err) : resolve13(data); + return err ? reject(err) : resolve14(data); }); }); } @@ -10680,15 +10785,15 @@ var require_mock_utils = __commonJS({ isPromise } } = require("node:util"); - function matchValue(match, value) { - if (typeof match === "string") { - return match === value; + function matchValue(match2, value) { + if (typeof match2 === "string") { + return match2 === value; } - if (match instanceof RegExp) { - return match.test(value); + if (match2 instanceof RegExp) { + return match2.test(value); } - if (typeof match === "function") { - return match(value) === true; + if (typeof match2 === "function") { + return match2(value) === true; } return false; } @@ -10716,8 +10821,8 @@ var require_mock_utils = __commonJS({ function buildHeadersFromArray(headers) { const clone = headers.slice(); const entries = []; - for (let index = 0; index < clone.length; index += 2) { - entries.push([clone[index], clone[index + 1]]); + for (let index2 = 0; index2 < clone.length; index2 += 2) { + entries.push([clone[index2], clone[index2 + 1]]); } return Object.fromEntries(entries); } @@ -10742,20 +10847,20 @@ var require_mock_utils = __commonJS({ } return true; } - function safeUrl(path29) { - if (typeof path29 !== "string") { - return path29; + function safeUrl(path30) { + if (typeof path30 !== "string") { + return path30; } - const pathSegments = path29.split("?"); + const pathSegments = path30.split("?"); if (pathSegments.length !== 2) { - return path29; + return path30; } const qp = new URLSearchParams(pathSegments.pop()); qp.sort(); return [...pathSegments, qp.toString()].join("?"); } - function matchKey(mockDispatch2, { path: path29, method, body, headers }) { - const pathMatch = matchValue(mockDispatch2.path, path29); + function matchKey(mockDispatch2, { path: path30, method, body, headers }) { + const pathMatch = matchValue(mockDispatch2.path, path30); const methodMatch = matchValue(mockDispatch2.method, method); const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; const headersMatch = matchHeaders(mockDispatch2, headers); @@ -10777,7 +10882,7 @@ var require_mock_utils = __commonJS({ function getMockDispatch(mockDispatches, key) { const basePath = key.query ? buildURL(key.path, key.query) : key.path; const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath; - let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path29 }) => matchValue(safeUrl(path29), resolvedPath)); + let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path30 }) => matchValue(safeUrl(path30), resolvedPath)); if (matchedMockDispatches.length === 0) { throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); } @@ -10804,20 +10909,20 @@ var require_mock_utils = __commonJS({ return newMockDispatch; } function deleteMockDispatch(mockDispatches, key) { - const index = mockDispatches.findIndex((dispatch) => { + const index2 = mockDispatches.findIndex((dispatch) => { if (!dispatch.consumed) { return false; } return matchKey(dispatch, key); }); - if (index !== -1) { - mockDispatches.splice(index, 1); + if (index2 !== -1) { + mockDispatches.splice(index2, 1); } } function buildKey(opts) { - const { path: path29, method, body, headers, query } = opts; + const { path: path30, method, body, headers, query } = opts; return { - path: path29, + path: path30, method, body, headers, @@ -11260,13 +11365,13 @@ var require_pluralizer = __commonJS({ var require_pending_interceptors_formatter = __commonJS({ "node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { "use strict"; - var { Transform } = require("node:stream"); + var { Transform: Transform5 } = require("node:stream"); var { Console } = require("node:console"); var PERSISTENT = process.versions.icu ? "\u2705" : "Y "; var NOT_PERSISTENT = process.versions.icu ? "\u274C" : "N "; module2.exports = class PendingInterceptorsFormatter { constructor({ disableColors } = {}) { - this.transform = new Transform({ + this.transform = new Transform5({ transform(chunk, _enc, cb) { cb(null, chunk); } @@ -11280,10 +11385,10 @@ var require_pending_interceptors_formatter = __commonJS({ } format(pendingInterceptors) { const withPrettyHeaders = pendingInterceptors.map( - ({ method, path: path29, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ + ({ method, path: path30, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ Method: method, Origin: origin, - Path: path29, + Path: path30, "Status code": statusCode, Persistent: persist ? PERSISTENT : NOT_PERSISTENT, Invocations: timesInvoked, @@ -11552,7 +11657,7 @@ var require_retry = __commonJS({ var require_dump = __commonJS({ "node_modules/undici/lib/interceptor/dump.js"(exports2, module2) { "use strict"; - var util = require_util(); + var util3 = require_util(); var { InvalidArgumentError, RequestAbortedError } = require_errors(); var DecoratorHandler = require_decorator_handler(); var DumpHandler = class extends DecoratorHandler { @@ -11581,7 +11686,7 @@ var require_dump = __commonJS({ } // TODO: will require adjustment after new hooks are out onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const headers = util.parseHeaders(rawHeaders); + const headers = util3.parseHeaders(rawHeaders); const contentLength = headers["content-length"]; if (contentLength != null && contentLength > this.#maxSize) { throw new RequestAbortedError( @@ -11948,7 +12053,7 @@ var require_headers = __commonJS({ } = require_util2(); var { webidl } = require_webidl(); var assert = require("node:assert"); - var util = require("node:util"); + var util3 = require("node:util"); var kHeadersMap = /* @__PURE__ */ Symbol("headers map"); var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted"); function isHTTPWhiteSpaceCharCode(code) { @@ -11961,10 +12066,10 @@ var require_headers = __commonJS({ while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i; return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j); } - function fill(headers, object2) { - if (Array.isArray(object2)) { - for (let i = 0; i < object2.length; ++i) { - const header = object2[i]; + function fill(headers, object) { + if (Array.isArray(object)) { + for (let i = 0; i < object.length; ++i) { + const header = object[i]; if (header.length !== 2) { throw webidl.errors.exception({ header: "Headers constructor", @@ -11973,10 +12078,10 @@ var require_headers = __commonJS({ } appendHeader(headers, header[0], header[1]); } - } else if (typeof object2 === "object" && object2 !== null) { - const keys = Object.keys(object2); + } else if (typeof object === "object" && object !== null) { + const keys = Object.keys(object); for (let i = 0; i < keys.length; ++i) { - appendHeader(headers, keys[i], object2[keys[i]]); + appendHeader(headers, keys[i], object[keys[i]]); } } else { throw webidl.errors.conversionFailed({ @@ -12012,13 +12117,13 @@ var require_headers = __commonJS({ var HeadersList = class _HeadersList { /** @type {[string, string][]|null} */ cookies = null; - constructor(init) { - if (init instanceof _HeadersList) { - this[kHeadersMap] = new Map(init[kHeadersMap]); - this[kHeadersSortedMap] = init[kHeadersSortedMap]; - this.cookies = init.cookies === null ? null : [...init.cookies]; + constructor(init2) { + if (init2 instanceof _HeadersList) { + this[kHeadersMap] = new Map(init2[kHeadersMap]); + this[kHeadersSortedMap] = init2[kHeadersSortedMap]; + this.cookies = init2.cookies === null ? null : [...init2.cookies]; } else { - this[kHeadersMap] = new Map(init); + this[kHeadersMap] = new Map(init2); this[kHeadersSortedMap] = null; } } @@ -12177,16 +12282,16 @@ var require_headers = __commonJS({ var Headers = class _Headers { #guard; #headersList; - constructor(init = void 0) { + constructor(init2 = void 0) { webidl.util.markAsUncloneable(this); - if (init === kConstruct) { + if (init2 === kConstruct) { return; } this.#headersList = new HeadersList(); this.#guard = "none"; - if (init !== void 0) { - init = webidl.converters.HeadersInit(init, "Headers contructor", "init"); - fill(this, init); + if (init2 !== void 0) { + init2 = webidl.converters.HeadersInit(init2, "Headers contructor", "init"); + fill(this, init2); } } // https://fetch.spec.whatwg.org/#dom-headers-append @@ -12307,9 +12412,9 @@ var require_headers = __commonJS({ } return this.#headersList[kHeadersSortedMap] = headers; } - [util.inspect.custom](depth, options) { + [util3.inspect.custom](depth, options) { options.depth ??= depth; - return `Headers ${util.formatWithOptions(options, this.#headersList.entries)}`; + return `Headers ${util3.formatWithOptions(options, this.#headersList.entries)}`; } static getHeadersGuard(o) { return o.#guard; @@ -12341,14 +12446,14 @@ var require_headers = __commonJS({ value: "Headers", configurable: true }, - [util.inspect.custom]: { + [util3.inspect.custom]: { enumerable: false } }); webidl.converters.HeadersInit = function(V, prefix, argument) { if (webidl.util.Type(V) === "Object") { const iterator2 = Reflect.get(V, Symbol.iterator); - if (!util.types.isProxy(V) && iterator2 === Headers.prototype.entries) { + if (!util3.types.isProxy(V) && iterator2 === Headers.prototype.entries) { try { return getHeadersList(V).entriesList; } catch { @@ -12385,9 +12490,9 @@ var require_response = __commonJS({ "use strict"; var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers(); var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body(); - var util = require_util(); + var util3 = require_util(); var nodeUtil = require("node:util"); - var { kEnumerableProperty } = util; + var { kEnumerableProperty } = util3; var { isValidReasonPhrase, isCancelled, @@ -12417,17 +12522,17 @@ var require_response = __commonJS({ return responseObject; } // https://fetch.spec.whatwg.org/#dom-response-json - static json(data, init = {}) { + static json(data, init2 = {}) { webidl.argumentLengthCheck(arguments, 1, "Response.json"); - if (init !== null) { - init = webidl.converters.ResponseInit(init); + if (init2 !== null) { + init2 = webidl.converters.ResponseInit(init2); } const bytes = textEncoder.encode( serializeJavascriptValueToJSONString(data) ); const body = extractBody(bytes); const responseObject = fromInnerResponse(makeResponse({}), "response"); - initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); + initializeResponse(responseObject, init2, { body: body[0], type: "application/json" }); return responseObject; } // Creates a redirect Response that redirects to url with status status. @@ -12451,7 +12556,7 @@ var require_response = __commonJS({ return responseObject; } // https://fetch.spec.whatwg.org/#dom-response - constructor(body = null, init = {}) { + constructor(body = null, init2 = {}) { webidl.util.markAsUncloneable(this); if (body === kConstruct) { return; @@ -12459,7 +12564,7 @@ var require_response = __commonJS({ if (body !== null) { body = webidl.converters.BodyInit(body); } - init = webidl.converters.ResponseInit(init); + init2 = webidl.converters.ResponseInit(init2); this[kState] = makeResponse({}); this[kHeaders] = new Headers(kConstruct); setHeadersGuard(this[kHeaders], "response"); @@ -12469,7 +12574,7 @@ var require_response = __commonJS({ const [extractedBody, type] = extractBody(body); bodyWithType = { body: extractedBody, type }; } - initializeResponse(this, init, bodyWithType); + initializeResponse(this, init2, bodyWithType); } // Returns response’s type, e.g., "cors". get type() { @@ -12517,7 +12622,7 @@ var require_response = __commonJS({ } get bodyUsed() { webidl.brandCheck(this, _Response); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + return !!this[kState].body && util3.isDisturbed(this[kState].body.stream); } // Returns a clone of response. clone() { @@ -12588,7 +12693,7 @@ var require_response = __commonJS({ } return newResponse; } - function makeResponse(init) { + function makeResponse(init2) { return { aborted: false, rangeRequested: false, @@ -12599,9 +12704,9 @@ var require_response = __commonJS({ timingInfo: null, cacheState: "", statusText: "", - ...init, - headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(), - urlList: init?.urlList ? [...init.urlList] : [] + ...init2, + headersList: init2?.headersList ? new HeadersList(init2?.headersList) : new HeadersList(), + urlList: init2?.urlList ? [...init2.urlList] : [] }; } function makeNetworkError(reason) { @@ -12671,23 +12776,23 @@ var require_response = __commonJS({ assert(isCancelled(fetchParams)); return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err })); } - function initializeResponse(response, init, body) { - if (init.status !== null && (init.status < 200 || init.status > 599)) { + function initializeResponse(response, init2, body) { + if (init2.status !== null && (init2.status < 200 || init2.status > 599)) { throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); } - if ("statusText" in init && init.statusText != null) { - if (!isValidReasonPhrase(String(init.statusText))) { + if ("statusText" in init2 && init2.statusText != null) { + if (!isValidReasonPhrase(String(init2.statusText))) { throw new TypeError("Invalid statusText"); } } - if ("status" in init && init.status != null) { - response[kState].status = init.status; + if ("status" in init2 && init2.status != null) { + response[kState].status = init2.status; } - if ("statusText" in init && init.statusText != null) { - response[kState].statusText = init.statusText; + if ("statusText" in init2 && init2.statusText != null) { + response[kState].statusText = init2.statusText; } - if ("headers" in init && init.headers != null) { - fill(response[kHeaders], init.headers); + if ("headers" in init2 && init2.headers != null) { + fill(response[kHeaders], init2.headers); } if (body) { if (nullBodyStatus.includes(response.status)) { @@ -12732,7 +12837,7 @@ var require_response = __commonJS({ if (ArrayBuffer.isView(V) || types2.isArrayBuffer(V)) { return webidl.converters.BufferSource(V, prefix, name); } - if (util.isFormDataLike(V)) { + if (util3.isFormDataLike(V)) { return webidl.converters.FormData(V, prefix, name, { strict: false }); } if (V instanceof URLSearchParams) { @@ -12827,7 +12932,7 @@ var require_request2 = __commonJS({ var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body(); var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers(); var { FinalizationRegistry: FinalizationRegistry2 } = require_dispatcher_weakref()(); - var util = require_util(); + var util3 = require_util(); var nodeUtil = require("node:util"); var { isValidHTTPToken, @@ -12844,7 +12949,7 @@ var require_request2 = __commonJS({ requestCache, requestDuplex } = require_constants3(); - var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util; + var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util3; var { kHeaders, kSignal, kState, kDispatcher } = require_symbols2(); var { webidl } = require_webidl(); var { URLSerializer } = require_data_url(); @@ -12883,7 +12988,7 @@ var require_request2 = __commonJS({ var patchMethodWarning = false; var Request = class _Request { // https://fetch.spec.whatwg.org/#dom-request - constructor(input, init = {}) { + constructor(input, init2 = {}) { webidl.util.markAsUncloneable(this); if (input === kConstruct) { return; @@ -12891,13 +12996,13 @@ var require_request2 = __commonJS({ const prefix = "Request constructor"; webidl.argumentLengthCheck(arguments, 1, prefix); input = webidl.converters.RequestInfo(input, prefix, "input"); - init = webidl.converters.RequestInit(init, prefix, "init"); + init2 = webidl.converters.RequestInit(init2, prefix, "init"); let request3 = null; let fallbackMode = null; const baseUrl = environmentSettingsObject.settingsObject.baseUrl; let signal = null; if (typeof input === "string") { - this[kDispatcher] = init.dispatcher; + this[kDispatcher] = init2.dispatcher; let parsedURL; try { parsedURL = new URL(input, baseUrl); @@ -12912,7 +13017,7 @@ var require_request2 = __commonJS({ request3 = makeRequest({ urlList: [parsedURL] }); fallbackMode = "cors"; } else { - this[kDispatcher] = init.dispatcher || input[kDispatcher]; + this[kDispatcher] = init2.dispatcher || input[kDispatcher]; assert(input instanceof _Request); request3 = input[kState]; signal = input[kSignal]; @@ -12922,10 +13027,10 @@ var require_request2 = __commonJS({ if (request3.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request3.window, origin)) { window2 = request3.window; } - if (init.window != null) { + if (init2.window != null) { throw new TypeError(`'window' option '${window2}' must be null`); } - if ("window" in init) { + if ("window" in init2) { window2 = "no-window"; } request3 = makeRequest({ @@ -12971,7 +13076,7 @@ var require_request2 = __commonJS({ // URL list A clone of request’s URL list. urlList: [...request3.urlList] }); - const initHasKey = Object.keys(init).length !== 0; + const initHasKey = Object.keys(init2).length !== 0; if (initHasKey) { if (request3.mode === "navigate") { request3.mode = "same-origin"; @@ -12984,8 +13089,8 @@ var require_request2 = __commonJS({ request3.url = request3.urlList[request3.urlList.length - 1]; request3.urlList = [request3.url]; } - if (init.referrer !== void 0) { - const referrer = init.referrer; + if (init2.referrer !== void 0) { + const referrer = init2.referrer; if (referrer === "") { request3.referrer = "no-referrer"; } else { @@ -13002,12 +13107,12 @@ var require_request2 = __commonJS({ } } } - if (init.referrerPolicy !== void 0) { - request3.referrerPolicy = init.referrerPolicy; + if (init2.referrerPolicy !== void 0) { + request3.referrerPolicy = init2.referrerPolicy; } let mode; - if (init.mode !== void 0) { - mode = init.mode; + if (init2.mode !== void 0) { + mode = init2.mode; } else { mode = fallbackMode; } @@ -13020,28 +13125,28 @@ var require_request2 = __commonJS({ if (mode != null) { request3.mode = mode; } - if (init.credentials !== void 0) { - request3.credentials = init.credentials; + if (init2.credentials !== void 0) { + request3.credentials = init2.credentials; } - if (init.cache !== void 0) { - request3.cache = init.cache; + if (init2.cache !== void 0) { + request3.cache = init2.cache; } if (request3.cache === "only-if-cached" && request3.mode !== "same-origin") { throw new TypeError( "'only-if-cached' can be set only with 'same-origin' mode" ); } - if (init.redirect !== void 0) { - request3.redirect = init.redirect; + if (init2.redirect !== void 0) { + request3.redirect = init2.redirect; } - if (init.integrity != null) { - request3.integrity = String(init.integrity); + if (init2.integrity != null) { + request3.integrity = String(init2.integrity); } - if (init.keepalive !== void 0) { - request3.keepalive = Boolean(init.keepalive); + if (init2.keepalive !== void 0) { + request3.keepalive = Boolean(init2.keepalive); } - if (init.method !== void 0) { - let method = init.method; + if (init2.method !== void 0) { + let method = init2.method; const mayBeNormalized = normalizedMethodRecords[method]; if (mayBeNormalized !== void 0) { request3.method = mayBeNormalized; @@ -13063,8 +13168,8 @@ var require_request2 = __commonJS({ patchMethodWarning = true; } } - if (init.signal !== void 0) { - signal = init.signal; + if (init2.signal !== void 0) { + signal = init2.signal; } this[kState] = request3; const ac = new AbortController(); @@ -13089,7 +13194,7 @@ var require_request2 = __commonJS({ } } catch { } - util.addAbortListener(signal, abort); + util3.addAbortListener(signal, abort); requestFinalizer.register(ac, { signal, abort }, abort); } } @@ -13106,7 +13211,7 @@ var require_request2 = __commonJS({ } if (initHasKey) { const headersList = getHeadersList(this[kHeaders]); - const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); + const headers = init2.headers !== void 0 ? init2.headers : new HeadersList(headersList); headersList.clear(); if (headers instanceof HeadersList) { for (const { name, value } of headers.rawValues()) { @@ -13118,13 +13223,13 @@ var require_request2 = __commonJS({ } } const inputBody = input instanceof _Request ? input[kState].body : null; - if ((init.body != null || inputBody != null) && (request3.method === "GET" || request3.method === "HEAD")) { + if ((init2.body != null || inputBody != null) && (request3.method === "GET" || request3.method === "HEAD")) { throw new TypeError("Request with GET/HEAD method cannot have body."); } let initBody = null; - if (init.body != null) { + if (init2.body != null) { const [extractedBody, contentType] = extractBody( - init.body, + init2.body, request3.keepalive ); initBody = extractedBody; @@ -13134,7 +13239,7 @@ var require_request2 = __commonJS({ } const inputOrInitBody = initBody ?? inputBody; if (inputOrInitBody != null && inputOrInitBody.source == null) { - if (initBody != null && init.duplex == null) { + if (initBody != null && init2.duplex == null) { throw new TypeError("RequestInit: duplex option is required when sending a body."); } if (request3.mode !== "same-origin" && request3.mode !== "cors") { @@ -13272,7 +13377,7 @@ var require_request2 = __commonJS({ } get bodyUsed() { webidl.brandCheck(this, _Request); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); + return !!this[kState].body && util3.isDisturbed(this[kState].body.stream); } get duplex() { webidl.brandCheck(this, _Request); @@ -13296,7 +13401,7 @@ var require_request2 = __commonJS({ } const acRef = new WeakRef(ac); list.add(acRef); - util.addAbortListener( + util3.addAbortListener( ac.signal, buildAbort(acRef) ); @@ -13329,46 +13434,46 @@ var require_request2 = __commonJS({ } }; mixinBody(Request); - function makeRequest(init) { + function makeRequest(init2) { return { - method: init.method ?? "GET", - localURLsOnly: init.localURLsOnly ?? false, - unsafeRequest: init.unsafeRequest ?? false, - body: init.body ?? null, - client: init.client ?? null, - reservedClient: init.reservedClient ?? null, - replacesClientId: init.replacesClientId ?? "", - window: init.window ?? "client", - keepalive: init.keepalive ?? false, - serviceWorkers: init.serviceWorkers ?? "all", - initiator: init.initiator ?? "", - destination: init.destination ?? "", - priority: init.priority ?? null, - origin: init.origin ?? "client", - policyContainer: init.policyContainer ?? "client", - referrer: init.referrer ?? "client", - referrerPolicy: init.referrerPolicy ?? "", - mode: init.mode ?? "no-cors", - useCORSPreflightFlag: init.useCORSPreflightFlag ?? false, - credentials: init.credentials ?? "same-origin", - useCredentials: init.useCredentials ?? false, - cache: init.cache ?? "default", - redirect: init.redirect ?? "follow", - integrity: init.integrity ?? "", - cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "", - parserMetadata: init.parserMetadata ?? "", - reloadNavigation: init.reloadNavigation ?? false, - historyNavigation: init.historyNavigation ?? false, - userActivation: init.userActivation ?? false, - taintedOrigin: init.taintedOrigin ?? false, - redirectCount: init.redirectCount ?? 0, - responseTainting: init.responseTainting ?? "basic", - preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false, - done: init.done ?? false, - timingAllowFailed: init.timingAllowFailed ?? false, - urlList: init.urlList, - url: init.urlList[0], - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() + method: init2.method ?? "GET", + localURLsOnly: init2.localURLsOnly ?? false, + unsafeRequest: init2.unsafeRequest ?? false, + body: init2.body ?? null, + client: init2.client ?? null, + reservedClient: init2.reservedClient ?? null, + replacesClientId: init2.replacesClientId ?? "", + window: init2.window ?? "client", + keepalive: init2.keepalive ?? false, + serviceWorkers: init2.serviceWorkers ?? "all", + initiator: init2.initiator ?? "", + destination: init2.destination ?? "", + priority: init2.priority ?? null, + origin: init2.origin ?? "client", + policyContainer: init2.policyContainer ?? "client", + referrer: init2.referrer ?? "client", + referrerPolicy: init2.referrerPolicy ?? "", + mode: init2.mode ?? "no-cors", + useCORSPreflightFlag: init2.useCORSPreflightFlag ?? false, + credentials: init2.credentials ?? "same-origin", + useCredentials: init2.useCredentials ?? false, + cache: init2.cache ?? "default", + redirect: init2.redirect ?? "follow", + integrity: init2.integrity ?? "", + cryptoGraphicsNonceMetadata: init2.cryptoGraphicsNonceMetadata ?? "", + parserMetadata: init2.parserMetadata ?? "", + reloadNavigation: init2.reloadNavigation ?? false, + historyNavigation: init2.historyNavigation ?? false, + userActivation: init2.userActivation ?? false, + taintedOrigin: init2.taintedOrigin ?? false, + redirectCount: init2.redirectCount ?? 0, + responseTainting: init2.responseTainting ?? "basic", + preventNoCacheCacheControlHeaderModification: init2.preventNoCacheCacheControlHeaderModification ?? false, + done: init2.done ?? false, + timingAllowFailed: init2.timingAllowFailed ?? false, + urlList: init2.urlList, + url: init2.urlList[0], + headersList: init2.headersList ? new HeadersList(init2.headersList) : new HeadersList() }; } function cloneRequest(request3) { @@ -13575,7 +13680,7 @@ var require_fetch = __commonJS({ subresourceSet } = require_constants3(); var EE = require("node:events"); - var { Readable: Readable2, pipeline, finished } = require("node:stream"); + var { Readable: Readable3, pipeline, finished } = require("node:stream"); var { addAbortListener, isErrored, isReadable, bufferToLowerCasedHeaderName } = require_util(); var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url(); var { getGlobalDispatcher } = require_global2(); @@ -13617,12 +13722,12 @@ var require_fetch = __commonJS({ function handleFetchDone(response) { finalizeAndReportTiming(response, "fetch"); } - function fetch(input, init = void 0) { + function fetch(input, init2 = void 0) { webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch"); let p = createDeferredPromise(); let requestObject; try { - requestObject = new Request(input, init); + requestObject = new Request(input, init2); } catch (e) { p.reject(e); return p.promise; @@ -14439,7 +14544,7 @@ var require_fetch = __commonJS({ function dispatch({ body }) { const url2 = requestCurrentURL(request3); const agent = fetchParams.controller.dispatcher; - return new Promise((resolve13, reject) => agent.dispatch( + return new Promise((resolve14, reject) => agent.dispatch( { path: url2.pathname + url2.search, origin: url2.origin, @@ -14476,7 +14581,7 @@ var require_fetch = __commonJS({ headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); } location = headersList.get("location", true); - this.body = new Readable2({ read: resume }); + this.body = new Readable3({ read: resume }); const decoders = []; const willFollow = location && request3.redirect === "follow" && redirectStatusSet.has(status); if (request3.method !== "HEAD" && request3.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { @@ -14515,7 +14620,7 @@ var require_fetch = __commonJS({ } } const onError = this.onError.bind(this); - resolve13({ + resolve14({ status, statusText, headersList, @@ -14561,7 +14666,7 @@ var require_fetch = __commonJS({ for (let i = 0; i < rawHeaders.length; i += 2) { headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true); } - resolve13({ + resolve14({ status, statusText: STATUS_CODES[status], headersList, @@ -15566,18 +15671,18 @@ var require_cache = __commonJS({ const p = Promise.all(responsePromises); const responses = await p; const operations = []; - let index = 0; + let index2 = 0; for (const response of responses) { const operation = { type: "put", // 7.3.2 - request: requestList[index], + request: requestList[index2], // 7.3.3 response // 7.3.4 }; operations.push(operation); - index++; + index2++; } const cacheJobPromise = createDeferredPromise(); let errorData = null; @@ -16164,9 +16269,9 @@ var require_util6 = __commonJS({ } } } - function validateCookiePath(path29) { - for (let i = 0; i < path29.length; ++i) { - const code = path29.charCodeAt(i); + function validateCookiePath(path30) { + for (let i = 0; i < path30.length; ++i) { + const code = path30.charCodeAt(i); if (code < 32 || // exclude CTLs (0-31) code === 127 || // DEL code === 59) { @@ -16388,18 +16493,14 @@ var require_parse = __commonJS({ } else if (attributeNameLowercase === "httponly") { cookieAttributeList.httpOnly = true; } else if (attributeNameLowercase === "samesite") { - let enforcement = "Default"; const attributeValueLowercase = attributeValue.toLowerCase(); - if (attributeValueLowercase.includes("none")) { - enforcement = "None"; + if (attributeValueLowercase === "none") { + cookieAttributeList.sameSite = "None"; + } else if (attributeValueLowercase === "strict") { + cookieAttributeList.sameSite = "Strict"; + } else if (attributeValueLowercase === "lax") { + cookieAttributeList.sameSite = "Lax"; } - if (attributeValueLowercase.includes("strict")) { - enforcement = "Strict"; - } - if (attributeValueLowercase.includes("lax")) { - enforcement = "Lax"; - } - cookieAttributeList.sameSite = enforcement; } else { cookieAttributeList.unparsed ??= []; cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); @@ -16602,9 +16703,9 @@ var require_events = __commonJS({ ports }); } - static createFastMessageEvent(type, init) { - const messageEvent = new _MessageEvent(kConstruct, type, init); - messageEvent.#eventInit = init; + static createFastMessageEvent(type, init2) { + const messageEvent = new _MessageEvent(kConstruct, type, init2); + messageEvent.#eventInit = init2; messageEvent.#eventInit.data ??= null; messageEvent.#eventInit.origin ??= ""; messageEvent.#eventInit.lastEventId ??= ""; @@ -16903,7 +17004,7 @@ var require_util7 = __commonJS({ function isClosed(ws) { return ws[kReadyState] === states.CLOSED; } - function fireEvent(e, target, eventFactory = (type, init) => new Event(type, init), eventInitDict = {}) { + function fireEvent(e, target, eventFactory = (type, init2) => new Event(type, init2), eventInitDict = {}) { const event = eventFactory(e, eventInitDict); target.dispatchEvent(event); } @@ -16981,7 +17082,7 @@ var require_util7 = __commonJS({ response.socket.destroy(); } if (reason) { - fireEvent("error", ws, (type, init) => new ErrorEvent(type, init), { + fireEvent("error", ws, (type, init2) => new ErrorEvent(type, init2), { error: new Error(reason), message: reason }); @@ -17289,7 +17390,7 @@ var require_connection = __commonJS({ code = 1006; } ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, (type, init) => new CloseEvent(type, init), { + fireEvent("close", ws, (type, init2) => new CloseEvent(type, init2), { wasClean, code, reason @@ -17327,27 +17428,26 @@ var require_permessage_deflate = __commonJS({ var tail = Buffer.from([0, 0, 255, 255]); var kBuffer = /* @__PURE__ */ Symbol("kBuffer"); var kLength = /* @__PURE__ */ Symbol("kLength"); - var kDefaultMaxDecompressedSize = 4 * 1024 * 1024; var PerMessageDeflate = class { /** @type {import('node:zlib').InflateRaw} */ #inflate; #options = {}; - /** @type {boolean} */ - #aborted = false; - /** @type {Function|null} */ - #currentCallback = null; + #maxPayloadSize = 0; /** * @param {Map} extensions */ - constructor(extensions) { + constructor(extensions, options) { this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover"); this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits"); + this.#maxPayloadSize = options.maxPayloadSize; } + /** + * Decompress a compressed payload. + * @param {Buffer} chunk Compressed data + * @param {boolean} fin Final fragment flag + * @param {Function} callback Callback function + */ decompress(chunk, fin, callback) { - if (this.#aborted) { - callback(new MessageSizeExceededError()); - return; - } if (!this.#inflate) { let windowBits = Z_DEFAULT_WINDOWBITS; if (this.#options.serverMaxWindowBits) { @@ -17366,20 +17466,11 @@ var require_permessage_deflate = __commonJS({ this.#inflate[kBuffer] = []; this.#inflate[kLength] = 0; this.#inflate.on("data", (data) => { - if (this.#aborted) { - return; - } this.#inflate[kLength] += data.length; - if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) { - this.#aborted = true; + if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) { + callback(new MessageSizeExceededError()); this.#inflate.removeAllListeners(); - this.#inflate.destroy(); this.#inflate = null; - if (this.#currentCallback) { - const cb = this.#currentCallback; - this.#currentCallback = null; - cb(new MessageSizeExceededError()); - } return; } this.#inflate[kBuffer].push(data); @@ -17389,19 +17480,17 @@ var require_permessage_deflate = __commonJS({ callback(err); }); } - this.#currentCallback = callback; this.#inflate.write(chunk); if (fin) { this.#inflate.write(tail); } this.#inflate.flush(() => { - if (this.#aborted || !this.#inflate) { + if (!this.#inflate) { return; } const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]); this.#inflate[kBuffer].length = 0; this.#inflate[kLength] = 0; - this.#currentCallback = null; callback(null, full); }); } @@ -17432,8 +17521,14 @@ var require_receiver = __commonJS({ var { WebsocketFrameSend } = require_frame(); var { closeWebSocketConnection } = require_connection(); var { PerMessageDeflate } = require_permessage_deflate(); + var { MessageSizeExceededError } = require_errors(); + function failWebsocketConnectionWithCode(ws, code, reason) { + closeWebSocketConnection(ws, code, reason, Buffer.byteLength(reason)); + failWebsocketConnection(ws, reason); + } var ByteParser = class extends Writable { #buffers = []; + #fragmentsBytes = 0; #byteOffset = 0; #loop = false; #state = parserStates.INFO; @@ -17441,16 +17536,23 @@ var require_receiver = __commonJS({ #fragments = []; /** @type {Map} */ #extensions; + /** @type {number} */ + #maxFragments; + /** @type {number} */ + #maxPayloadSize; /** * @param {import('./websocket').WebSocket} ws * @param {Map|null} extensions + * @param {{ maxFragments?: number, maxPayloadSize?: number }} [options] */ - constructor(ws, extensions) { + constructor(ws, extensions, options = {}) { super(); this.ws = ws; this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions; + this.#maxFragments = options.maxFragments ?? 0; + this.#maxPayloadSize = options.maxPayloadSize ?? 0; if (this.#extensions.has("permessage-deflate")) { - this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions)); + this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions, options)); } } /** @@ -17463,6 +17565,13 @@ var require_receiver = __commonJS({ this.#loop = true; this.run(callback); } + #validatePayloadLength() { + if (this.#maxPayloadSize > 0 && !isControlFrame(this.#info.opcode) && this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize) { + failWebsocketConnectionWithCode(this.ws, 1009, "Payload size exceeds maximum allowed size"); + return false; + } + return true; + } /** * Runs whenever a new chunk is received. * Callback is called whenever there are no more chunks buffering, @@ -17522,6 +17631,9 @@ var require_receiver = __commonJS({ if (payloadLength <= 125) { this.#info.payloadLength = payloadLength; this.#state = parserStates.READ_DATA; + if (!this.#validatePayloadLength()) { + return; + } } else if (payloadLength === 126) { this.#state = parserStates.PAYLOADLENGTH_16; } else if (payloadLength === 127) { @@ -17542,6 +17654,9 @@ var require_receiver = __commonJS({ const buffer = this.consume(2); this.#info.payloadLength = buffer.readUInt16BE(0); this.#state = parserStates.READ_DATA; + if (!this.#validatePayloadLength()) { + return; + } } else if (this.#state === parserStates.PAYLOADLENGTH_64) { if (this.#byteOffset < 8) { return callback(); @@ -17555,6 +17670,9 @@ var require_receiver = __commonJS({ } this.#info.payloadLength = lower; this.#state = parserStates.READ_DATA; + if (!this.#validatePayloadLength()) { + return; + } } else if (this.#state === parserStates.READ_DATA) { if (this.#byteOffset < this.#info.payloadLength) { return callback(); @@ -17565,32 +17683,46 @@ var require_receiver = __commonJS({ this.#state = parserStates.INFO; } else { if (!this.#info.compressed) { - this.#fragments.push(body); + if (!this.writeFragments(body)) { + return; + } + if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) { + failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message); + return; + } if (!this.#info.fragmented && this.#info.fin) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage); - this.#fragments.length = 0; + websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments()); } this.#state = parserStates.INFO; } else { - this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error3, data) => { - if (error3) { - failWebsocketConnection(this.ws, error3.message); - return; - } - this.#fragments.push(data); - if (!this.#info.fin) { - this.#state = parserStates.INFO; + this.#extensions.get("permessage-deflate").decompress( + body, + this.#info.fin, + (error3, data) => { + if (error3) { + const code = error3 instanceof MessageSizeExceededError ? 1009 : 1007; + failWebsocketConnectionWithCode(this.ws, code, error3.message); + return; + } + if (!this.writeFragments(data)) { + return; + } + if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) { + failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message); + return; + } + if (!this.#info.fin) { + this.#state = parserStates.INFO; + this.#loop = true; + this.run(callback); + return; + } + websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments()); this.#loop = true; + this.#state = parserStates.INFO; this.run(callback); - return; } - websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments)); - this.#loop = true; - this.#state = parserStates.INFO; - this.#fragments.length = 0; - this.run(callback); - }); + ); this.#loop = false; break; } @@ -17633,6 +17765,26 @@ var require_receiver = __commonJS({ this.#byteOffset -= n; return buffer; } + writeFragments(fragment) { + if (this.#maxFragments > 0 && this.#fragments.length === this.#maxFragments) { + failWebsocketConnectionWithCode(this.ws, 1008, "Too many message fragments"); + return false; + } + this.#fragmentsBytes += fragment.length; + this.#fragments.push(fragment); + return true; + } + consumeFragments() { + const fragments = this.#fragments; + if (fragments.length === 1) { + this.#fragmentsBytes = 0; + return fragments.shift(); + } + const output = Buffer.concat(fragments, this.#fragmentsBytes); + this.#fragments = []; + this.#fragmentsBytes = 0; + return output; + } parseCloseBody(data) { assert(data.length !== 1); let code; @@ -17771,9 +17923,9 @@ var require_sender = __commonJS({ } async #run() { this.#running = true; - const queue = this.#queue; - while (!queue.isEmpty()) { - const node = queue.shift(); + const queue2 = this.#queue; + while (!queue2.isEmpty()) { + const node = queue2.shift(); if (node.promise !== null) { await node.promise; } @@ -18070,7 +18222,13 @@ var require_websocket = __commonJS({ */ #onConnectionEstablished(response, parsedExtensions) { this[kResponse] = response; - const parser = new ByteParser(this, parsedExtensions); + const webSocketOptions = this[kController]?.dispatcher?.webSocketOptions; + const maxFragments = webSocketOptions?.maxFragments; + const maxPayloadSize = webSocketOptions?.maxPayloadSize; + const parser = new ByteParser(this, parsedExtensions, { + maxFragments, + maxPayloadSize + }); parser.on("drain", onParserDrain); parser.on("error", onParserError.bind(this)); response.socket.ws = this; @@ -18200,8 +18358,8 @@ var require_util8 = __commonJS({ return true; } function delay2(ms) { - return new Promise((resolve13) => { - setTimeout(resolve13, ms).unref(); + return new Promise((resolve14) => { + setTimeout(resolve14, ms).unref(); }); } module2.exports = { @@ -18216,14 +18374,14 @@ var require_util8 = __commonJS({ var require_eventsource_stream = __commonJS({ "node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module2) { "use strict"; - var { Transform } = require("node:stream"); + var { Transform: Transform5 } = require("node:stream"); var { isASCIINumber, isValidLastEventId } = require_util8(); var BOM = [239, 187, 191]; var LF = 10; var CR = 13; var COLON = 58; var SPACE = 32; - var EventSourceStream = class extends Transform { + var EventSourceStream = class extends Transform5 { /** * @type {eventSourceSettings} */ @@ -18752,7 +18910,7 @@ var require_undici = __commonJS({ var EnvHttpProxyAgent = require_env_http_proxy_agent(); var RetryAgent = require_retry_agent(); var errors = require_errors(); - var util = require_util(); + var util3 = require_util(); var { InvalidArgumentError } = errors; var api = require_api(); var buildConnector = require_connect(); @@ -18787,8 +18945,8 @@ var require_undici = __commonJS({ module2.exports.buildConnector = buildConnector; module2.exports.errors = errors; module2.exports.util = { - parseHeaders: util.parseHeaders, - headerNameToString: util.headerNameToString + parseHeaders: util3.parseHeaders, + headerNameToString: util3.headerNameToString }; function makeDispatcher(fn) { return (url2, opts, handler2) => { @@ -18806,16 +18964,16 @@ var require_undici = __commonJS({ if (typeof opts.path !== "string") { throw new InvalidArgumentError("invalid opts.path"); } - let path29 = opts.path; + let path30 = opts.path; if (!opts.path.startsWith("/")) { - path29 = `/${path29}`; + path30 = `/${path30}`; } - url2 = new URL(util.parseOrigin(url2).origin + path29); + url2 = new URL(util3.parseOrigin(url2).origin + path30); } else { if (!opts) { opts = typeof url2 === "object" ? url2 : {}; } - url2 = util.parseURL(url2); + url2 = util3.parseURL(url2); } const { agent, dispatcher = getGlobalDispatcher() } = opts; if (agent) { @@ -18832,9 +18990,9 @@ var require_undici = __commonJS({ module2.exports.setGlobalDispatcher = setGlobalDispatcher; module2.exports.getGlobalDispatcher = getGlobalDispatcher; var fetchImpl = require_fetch().fetch; - module2.exports.fetch = async function fetch(init, options = void 0) { + module2.exports.fetch = async function fetch(init2, options = void 0) { try { - return await fetchImpl(init, options); + return await fetchImpl(init2, options); } catch (err) { if (err && typeof err === "object") { Error.captureStackTrace(err); @@ -18924,11 +19082,11 @@ var require_lib = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -18944,7 +19102,7 @@ var require_lib = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -19031,26 +19189,26 @@ var require_lib = __commonJS({ } readBody() { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13) => __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve14) => __awaiter2(this, void 0, void 0, function* () { let output = Buffer.alloc(0); this.message.on("data", (chunk) => { output = Buffer.concat([output, chunk]); }); this.message.on("end", () => { - resolve13(output.toString()); + resolve14(output.toString()); }); })); }); } readBodyBuffer() { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13) => __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve14) => __awaiter2(this, void 0, void 0, function* () { const chunks = []; this.message.on("data", (chunk) => { chunks.push(chunk); }); this.message.on("end", () => { - resolve13(Buffer.concat(chunks)); + resolve14(Buffer.concat(chunks)); }); })); }); @@ -19258,14 +19416,14 @@ var require_lib = __commonJS({ */ requestRaw(info8, data) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { function callbackForResult(err, res) { if (err) { reject(err); } else if (!res) { reject(new Error("Unknown error")); } else { - resolve13(res); + resolve14(res); } } this.requestRawWithCallback(info8, data, callbackForResult); @@ -19509,12 +19667,12 @@ var require_lib = __commonJS({ return __awaiter2(this, void 0, void 0, function* () { retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise((resolve13) => setTimeout(() => resolve13(), ms)); + return new Promise((resolve14) => setTimeout(() => resolve14(), ms)); }); } _processResponse(res, options) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13, reject) => __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve14, reject) => __awaiter2(this, void 0, void 0, function* () { const statusCode = res.message.statusCode || 0; const response = { statusCode, @@ -19522,7 +19680,7 @@ var require_lib = __commonJS({ headers: {} }; if (statusCode === HttpCodes.NotFound) { - resolve13(response); + resolve14(response); } function dateTimeDeserializer(key, value) { if (typeof value === "string") { @@ -19561,7 +19719,7 @@ var require_lib = __commonJS({ err.result = response.result; reject(err); } else { - resolve13(response); + resolve14(response); } })); }); @@ -19578,11 +19736,11 @@ var require_auth = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -19598,7 +19756,7 @@ var require_auth = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -19682,11 +19840,11 @@ var require_oidc_utils = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -19702,7 +19860,7 @@ var require_oidc_utils = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -19736,7 +19894,7 @@ var require_oidc_utils = __commonJS({ } static getCall(id_token_url) { return __awaiter2(this, void 0, void 0, function* () { - var _a; + var _a2; const httpclient = _OidcClient.createHttpClient(); const res = yield httpclient.getJson(id_token_url).catch((error3) => { throw new Error(`Failed to get ID Token. @@ -19745,7 +19903,7 @@ var require_oidc_utils = __commonJS({ Error Message: ${error3.message}`); }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + const id_token = (_a2 = res.result) === null || _a2 === void 0 ? void 0 : _a2.value; if (!id_token) { throw new Error("Response json body do not have ID Token field"); } @@ -19780,11 +19938,11 @@ var require_summary = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -19800,7 +19958,7 @@ var require_summary = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -19833,7 +19991,7 @@ var require_summary = __commonJS({ } try { yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } catch (_a) { + } catch (_a2) { throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); } this._filePath = pathFromEnv; @@ -20113,7 +20271,7 @@ var require_path_utils = __commonJS({ exports2.toPosixPath = toPosixPath; exports2.toWin32Path = toWin32Path; exports2.toPlatformPath = toPlatformPath; - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); function toPosixPath(pth) { return pth.replace(/[\\]/g, "/"); } @@ -20121,7 +20279,7 @@ var require_path_utils = __commonJS({ return pth.replace(/[/]/g, "\\"); } function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path29.sep); + return pth.replace(/[/\\]/g, path30.sep); } } }); @@ -20169,11 +20327,11 @@ var require_io_util = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -20189,12 +20347,12 @@ var require_io_util = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var _a; + var _a2; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.READONLY = exports2.UV_FS_O_EXLOCK = exports2.IS_WINDOWS = exports2.unlink = exports2.symlink = exports2.stat = exports2.rmdir = exports2.rm = exports2.rename = exports2.readdir = exports2.open = exports2.mkdir = exports2.lstat = exports2.copyFile = exports2.chmod = void 0; exports2.readlink = readlink; @@ -20203,13 +20361,13 @@ var require_io_util = __commonJS({ exports2.isRooted = isRooted; exports2.tryGetExecutablePath = tryGetExecutablePath; exports2.getCmdPath = getCmdPath; - var fs31 = __importStar2(require("fs")); - var path29 = __importStar2(require("path")); - _a = fs31.promises, exports2.chmod = _a.chmod, exports2.copyFile = _a.copyFile, exports2.lstat = _a.lstat, exports2.mkdir = _a.mkdir, exports2.open = _a.open, exports2.readdir = _a.readdir, exports2.rename = _a.rename, exports2.rm = _a.rm, exports2.rmdir = _a.rmdir, exports2.stat = _a.stat, exports2.symlink = _a.symlink, exports2.unlink = _a.unlink; + var fs32 = __importStar2(require("fs")); + var path30 = __importStar2(require("path")); + _a2 = fs32.promises, exports2.chmod = _a2.chmod, exports2.copyFile = _a2.copyFile, exports2.lstat = _a2.lstat, exports2.mkdir = _a2.mkdir, exports2.open = _a2.open, exports2.readdir = _a2.readdir, exports2.rename = _a2.rename, exports2.rm = _a2.rm, exports2.rmdir = _a2.rmdir, exports2.stat = _a2.stat, exports2.symlink = _a2.symlink, exports2.unlink = _a2.unlink; exports2.IS_WINDOWS = process.platform === "win32"; function readlink(fsPath) { return __awaiter2(this, void 0, void 0, function* () { - const result = yield fs31.promises.readlink(fsPath); + const result = yield fs32.promises.readlink(fsPath); if (exports2.IS_WINDOWS && !result.endsWith("\\")) { return `${result}\\`; } @@ -20217,7 +20375,7 @@ var require_io_util = __commonJS({ }); } exports2.UV_FS_O_EXLOCK = 268435456; - exports2.READONLY = fs31.constants.O_RDONLY; + exports2.READONLY = fs32.constants.O_RDONLY; function exists(fsPath) { return __awaiter2(this, void 0, void 0, function* () { try { @@ -20259,7 +20417,7 @@ var require_io_util = __commonJS({ } if (stats && stats.isFile()) { if (exports2.IS_WINDOWS) { - const upperExt = path29.extname(filePath).toUpperCase(); + const upperExt = path30.extname(filePath).toUpperCase(); if (extensions.some((validExt) => validExt.toUpperCase() === upperExt)) { return filePath; } @@ -20283,11 +20441,11 @@ var require_io_util = __commonJS({ if (stats && stats.isFile()) { if (exports2.IS_WINDOWS) { try { - const directory = path29.dirname(filePath); - const upperName = path29.basename(filePath).toUpperCase(); + const directory = path30.dirname(filePath); + const upperName = path30.basename(filePath).toUpperCase(); for (const actualName of yield (0, exports2.readdir)(directory)) { if (upperName === actualName.toUpperCase()) { - filePath = path29.join(directory, actualName); + filePath = path30.join(directory, actualName); break; } } @@ -20317,8 +20475,8 @@ var require_io_util = __commonJS({ return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && process.getgid !== void 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && process.getuid !== void 0 && stats.uid === process.getuid(); } function getCmdPath() { - var _a2; - return (_a2 = process.env["COMSPEC"]) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`; + var _a3; + return (_a3 = process.env["COMSPEC"]) !== null && _a3 !== void 0 ? _a3 : `cmd.exe`; } } }); @@ -20366,11 +20524,11 @@ var require_io = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -20386,7 +20544,7 @@ var require_io = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -20399,7 +20557,7 @@ var require_io = __commonJS({ exports2.which = which9; exports2.findInPath = findInPath; var assert_1 = require("assert"); - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var ioUtil = __importStar2(require_io_util()); function cp(source_1, dest_1) { return __awaiter2(this, arguments, void 0, function* (source, dest, options = {}) { @@ -20408,7 +20566,7 @@ var require_io = __commonJS({ if (destStat && destStat.isFile() && !force) { return; } - const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path29.join(dest, path29.basename(source)) : dest; + const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path30.join(dest, path30.basename(source)) : dest; if (!(yield ioUtil.exists(source))) { throw new Error(`no such file or directory: ${source}`); } @@ -20420,7 +20578,7 @@ var require_io = __commonJS({ yield cpDirRecursive(source, newDest, 0, force); } } else { - if (path29.relative(source, newDest) === "") { + if (path30.relative(source, newDest) === "") { throw new Error(`'${newDest}' and '${source}' are the same file`); } yield copyFile2(source, newDest, force); @@ -20432,7 +20590,7 @@ var require_io = __commonJS({ if (yield ioUtil.exists(dest)) { let destExists = true; if (yield ioUtil.isDirectory(dest)) { - dest = path29.join(dest, path29.basename(source)); + dest = path30.join(dest, path30.basename(source)); destExists = yield ioUtil.exists(dest); } if (destExists) { @@ -20443,7 +20601,7 @@ var require_io = __commonJS({ } } } - yield mkdirP(path29.dirname(dest)); + yield mkdirP(path30.dirname(dest)); yield ioUtil.rename(source, dest); }); } @@ -20502,7 +20660,7 @@ var require_io = __commonJS({ } const extensions = []; if (ioUtil.IS_WINDOWS && process.env["PATHEXT"]) { - for (const extension of process.env["PATHEXT"].split(path29.delimiter)) { + for (const extension of process.env["PATHEXT"].split(path30.delimiter)) { if (extension) { extensions.push(extension); } @@ -20515,12 +20673,12 @@ var require_io = __commonJS({ } return []; } - if (tool.includes(path29.sep)) { + if (tool.includes(path30.sep)) { return []; } const directories = []; if (process.env.PATH) { - for (const p of process.env.PATH.split(path29.delimiter)) { + for (const p of process.env.PATH.split(path30.delimiter)) { if (p) { directories.push(p); } @@ -20528,7 +20686,7 @@ var require_io = __commonJS({ } const matches = []; for (const directory of directories) { - const filePath = yield ioUtil.tryGetExecutablePath(path29.join(directory, tool), extensions); + const filePath = yield ioUtil.tryGetExecutablePath(path30.join(directory, tool), extensions); if (filePath) { matches.push(filePath); } @@ -20627,11 +20785,11 @@ var require_toolrunner = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -20647,7 +20805,7 @@ var require_toolrunner = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -20658,7 +20816,7 @@ var require_toolrunner = __commonJS({ var os7 = __importStar2(require("os")); var events = __importStar2(require("events")); var child = __importStar2(require("child_process")); - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var io9 = __importStar2(require_io()); var ioUtil = __importStar2(require_io_util()); var timers_1 = require("timers"); @@ -20873,10 +21031,10 @@ var require_toolrunner = __commonJS({ exec() { return __awaiter2(this, void 0, void 0, function* () { if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) { - this.toolPath = path29.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); + this.toolPath = path30.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); } this.toolPath = yield io9.which(this.toolPath, true); - return new Promise((resolve13, reject) => __awaiter2(this, void 0, void 0, function* () { + return new Promise((resolve14, reject) => __awaiter2(this, void 0, void 0, function* () { this._debug(`exec tool: ${this.toolPath}`); this._debug("arguments:"); for (const arg of this.args) { @@ -20959,7 +21117,7 @@ var require_toolrunner = __commonJS({ if (error3) { reject(error3); } else { - resolve13(exitCode); + resolve14(exitCode); } }); if (this.options.input) { @@ -21125,11 +21283,11 @@ var require_exec = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -21145,7 +21303,7 @@ var require_exec = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -21169,12 +21327,12 @@ var require_exec = __commonJS({ } function getExecOutput(commandLine, args, options) { return __awaiter2(this, void 0, void 0, function* () { - var _a, _b; + var _a2, _b; let stdout = ""; let stderr = ""; const stdoutDecoder = new string_decoder_1.StringDecoder("utf8"); const stderrDecoder = new string_decoder_1.StringDecoder("utf8"); - const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; + const originalStdoutListener = (_a2 = options === null || options === void 0 ? void 0 : options.listeners) === null || _a2 === void 0 ? void 0 : _a2.stdout; const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; const stdErrListener = (data) => { stderr += stderrDecoder.write(data); @@ -21245,11 +21403,11 @@ var require_platform = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -21265,7 +21423,7 @@ var require_platform = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -21291,11 +21449,11 @@ var require_platform = __commonJS({ }; }); var getMacOsInfo = () => __awaiter2(void 0, void 0, void 0, function* () { - var _a, _b, _c, _d; + var _a2, _b, _c, _d; const { stdout } = yield exec3.getExecOutput("sw_vers", void 0, { silent: true }); - const version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : ""; + const version = (_b = (_a2 = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a2 === void 0 ? void 0 : _a2[1]) !== null && _b !== void 0 ? _b : ""; const name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ""; return { name, @@ -21374,11 +21532,11 @@ var require_core = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -21394,7 +21552,7 @@ var require_core = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -21409,7 +21567,7 @@ var require_core = __commonJS({ exports2.getBooleanInput = getBooleanInput; exports2.setOutput = setOutput7; exports2.setCommandEcho = setCommandEcho; - exports2.setFailed = setFailed12; + exports2.setFailed = setFailed13; exports2.isDebug = isDebug5; exports2.debug = debug6; exports2.error = error3; @@ -21426,7 +21584,7 @@ var require_core = __commonJS({ var file_command_1 = require_file_command(); var utils_1 = require_utils(); var os7 = __importStar2(require("os")); - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var oidc_utils_1 = require_oidc_utils(); var ExitCode; (function(ExitCode2) { @@ -21452,7 +21610,7 @@ var require_core = __commonJS({ } else { (0, command_1.issueCommand)("add-path", {}, inputPath); } - process.env["PATH"] = `${inputPath}${path29.delimiter}${process.env["PATH"]}`; + process.env["PATH"] = `${inputPath}${path30.delimiter}${process.env["PATH"]}`; } function getInput2(name, options) { const val = process.env[`INPUT_${name.replace(/ /g, "_").toUpperCase()}`] || ""; @@ -21493,7 +21651,7 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); function setCommandEcho(enabled) { (0, command_1.issue)("echo", enabled ? "on" : "off"); } - function setFailed12(message) { + function setFailed13(message) { process.exitCode = ExitCode.Failure; error3(message); } @@ -21583,14 +21741,14 @@ var require_context = __commonJS({ * Hydrate the context from the environment */ constructor() { - var _a, _b, _c; + var _a2, _b, _c; this.payload = {}; if (process.env.GITHUB_EVENT_PATH) { if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) { this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" })); } else { - const path29 = process.env.GITHUB_EVENT_PATH; - process.stdout.write(`GITHUB_EVENT_PATH ${path29} does not exist${os_1.EOL}`); + const path30 = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path30} does not exist${os_1.EOL}`); } } this.eventName = process.env.GITHUB_EVENT_NAME; @@ -21603,7 +21761,7 @@ var require_context = __commonJS({ this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10); this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; + this.apiUrl = (_a2 = process.env.GITHUB_API_URL) !== null && _a2 !== void 0 ? _a2 : `https://api.github.com`; this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; } @@ -21672,11 +21830,11 @@ var require_utils3 = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -21692,7 +21850,7 @@ var require_utils3 = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -21820,13 +21978,13 @@ function removeHook(state, name, method) { if (!state.registry[name]) { return; } - const index = state.registry[name].map((registered) => { + const index2 = state.registry[name].map((registered) => { return registered.orig; }).indexOf(method); - if (index === -1) { + if (index2 === -1) { return; } - state.registry[name].splice(index, 1); + state.registry[name].splice(index2, 1); } var init_remove = __esm({ "node_modules/before-after-hook/lib/remove.js"() { @@ -21891,12 +22049,12 @@ var init_universal_user_agent2 = __esm({ }); // node_modules/@octokit/endpoint/dist-bundle/index.js -function lowercaseKeys(object2) { - if (!object2) { +function lowercaseKeys(object) { + if (!object) { return {}; } - return Object.keys(object2).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object2[key]; + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; return newObj; }, {}); } @@ -21908,12 +22066,12 @@ function isPlainObject(value) { const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); } -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); +function mergeDeep(defaults2, options) { + const result = Object.assign({}, defaults2); Object.keys(options).forEach((key) => { if (isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { [key]: options[key] }); - else result[key] = mergeDeep(defaults[key], options[key]); + if (!(key in defaults2)) Object.assign(result, { [key]: options[key] }); + else result[key] = mergeDeep(defaults2[key], options[key]); } else { Object.assign(result, { [key]: options[key] }); } @@ -21928,7 +22086,7 @@ function removeUndefinedProperties(obj) { } return obj; } -function merge(defaults, route, options) { +function merge(defaults2, route, options) { if (typeof route === "string") { let [method, url2] = route.split(" "); options = Object.assign(url2 ? { method, url: url2 } : { url: method }, options); @@ -21938,10 +22096,10 @@ function merge(defaults, route, options) { options.headers = lowercaseKeys(options.headers); removeUndefinedProperties(options); removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); + const mergedOptions = mergeDeep(defaults2 || {}, options); if (options.url === "/graphql") { - if (defaults && defaults.mediaType.previews?.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( + if (defaults2 && defaults2.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults2.mediaType.previews.filter( (preview) => !mergedOptions.mediaType.previews.includes(preview) ).concat(mergedOptions.mediaType.previews); } @@ -21972,11 +22130,11 @@ function extractUrlVariableNames(url2) { } return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); } -function omit(object2, keysToOmit) { +function omit(object, keysToOmit) { const result = { __proto__: null }; - for (const key of Object.keys(object2)) { + for (const key of Object.keys(object)) { if (keysToOmit.indexOf(key) === -1) { - result[key] = object2[key]; + result[key] = object[key]; } } return result; @@ -22174,8 +22332,8 @@ function parse(options) { options.request ? { request: options.request } : null ); } -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); +function endpointWithDefaults(defaults2, route, options) { + return parse(merge(defaults2, route, options)); } function withDefaults(oldDefaults, newDefaults) { const DEFAULTS2 = merge(oldDefaults, newDefaults); @@ -22241,8 +22399,8 @@ var require_fast_content_type_parse = __commonJS({ if (typeof header !== "string") { throw new TypeError("argument header is required and must be a string"); } - let index = header.indexOf(";"); - const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); + let index2 = header.indexOf(";"); + const type = index2 !== -1 ? header.slice(0, index2).trim() : header.trim(); if (mediaTypeRE.test(type) === false) { throw new TypeError("invalid media type"); } @@ -22250,27 +22408,27 @@ var require_fast_content_type_parse = __commonJS({ type: type.toLowerCase(), parameters: new NullObject() }; - if (index === -1) { + if (index2 === -1) { return result; } let key; - let match; + let match2; let value; - paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { - if (match.index !== index) { + paramRE.lastIndex = index2; + while (match2 = paramRE.exec(header)) { + if (match2.index !== index2) { throw new TypeError("invalid parameter format"); } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; + index2 += match2[0].length; + key = match2[1].toLowerCase(); + value = match2[2]; if (value[0] === '"') { value = value.slice(1, value.length - 1); quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); } result.parameters[key] = value; } - if (index !== header.length) { + if (index2 !== header.length) { throw new TypeError("invalid parameter format"); } return result; @@ -22279,8 +22437,8 @@ var require_fast_content_type_parse = __commonJS({ if (typeof header !== "string") { return defaultContentType; } - let index = header.indexOf(";"); - const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); + let index2 = header.indexOf(";"); + const type = index2 !== -1 ? header.slice(0, index2).trim() : header.trim(); if (mediaTypeRE.test(type) === false) { return defaultContentType; } @@ -22288,27 +22446,27 @@ var require_fast_content_type_parse = __commonJS({ type: type.toLowerCase(), parameters: new NullObject() }; - if (index === -1) { + if (index2 === -1) { return result; } let key; - let match; + let match2; let value; - paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { - if (match.index !== index) { + paramRE.lastIndex = index2; + while (match2 = paramRE.exec(header)) { + if (match2.index !== index2) { return defaultContentType; } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; + index2 += match2[0].length; + key = match2[1].toLowerCase(); + value = match2[2]; if (value[0] === '"') { value = value.slice(1, value.length - 1); quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); } result.parameters[key] = value; } - if (index !== header.length) { + if (index2 !== header.length) { return defaultContentType; } return result; @@ -22774,21 +22932,21 @@ var init_dist_src2 = __esm({ userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`; Octokit = class { static VERSION = VERSION4; - static defaults(defaults) { + static defaults(defaults2) { const OctokitWithDefaults = class extends this { constructor(...args) { const options = args[0] || {}; - if (typeof defaults === "function") { - super(defaults(options)); + if (typeof defaults2 === "function") { + super(defaults2(options)); return; } super( Object.assign( {}, - defaults, + defaults2, options, - options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` + options.userAgent && defaults2.userAgent ? { + userAgent: `${options.userAgent} ${defaults2.userAgent}` } : null ) ); @@ -25200,8 +25358,8 @@ function endpointsToMethods(octokit) { } return newMethods; } -function decorate(octokit, scope, methodName, defaults, decorations) { - const requestWithDefaults = octokit.request.defaults(defaults); +function decorate(octokit, scope, methodName, defaults2, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults2); function withDecorations(...args) { let options = requestWithDefaults.endpoint.merge(...args); if (decorations.mapToData) { @@ -25248,14 +25406,14 @@ var init_endpoints_to_methods = __esm({ endpointMethodsMap = /* @__PURE__ */ new Map(); for (const [scope, endpoints] of Object.entries(endpoints_default)) { for (const [methodName, endpoint2] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint2; + const [route, defaults2, decorations] = endpoint2; const [method, url2] = route.split(/ /); const endpointDefaults = Object.assign( { method, url: url2 }, - defaults + defaults2 ); if (!endpointMethodsMap.has(scope)) { endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); @@ -25954,13 +26112,13 @@ var require_re = __commonJS({ }; var createToken = (name, value, isGlobal) => { const safe = makeSafeRegex(value); - const index = R++; - debug6(name, index, value); - t[name] = index; - src[index] = value; - safeSrc[index] = safe; - re[index] = new RegExp(value, isGlobal ? "g" : void 0); - safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0); + const index2 = R++; + debug6(name, index2, value); + t[name] = index2; + src[index2] = value; + safeSrc[index2] = safe; + re[index2] = new RegExp(value, isGlobal ? "g" : void 0); + safeRe[index2] = new RegExp(safe, isGlobal ? "g" : void 0); }; createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); createToken("NUMERICIDENTIFIERLOOSE", "\\d+"); @@ -26034,13 +26192,13 @@ var require_parse_options = __commonJS({ var require_identifiers = __commonJS({ "node_modules/semver/internal/identifiers.js"(exports2, module2) { "use strict"; - var numeric = /^[0-9]+$/; + var numeric2 = /^[0-9]+$/; var compareIdentifiers = (a, b) => { if (typeof a === "number" && typeof b === "number") { return a === b ? 0 : a < b ? -1 : 1; } - const anum = numeric.test(a); - const bnum = numeric.test(b); + const anum = numeric2.test(a); + const bnum = numeric2.test(b); if (anum && bnum) { a = +a; b = +b; @@ -26236,8 +26394,8 @@ var require_semver = __commonJS({ throw new Error("invalid increment argument: identifier is empty"); } if (identifier) { - const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); - if (!match || match[1] !== identifier) { + const match2 = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); + if (!match2 || match2[1] !== identifier) { throw new Error(`invalid identifier: ${identifier}`); } } @@ -26615,8 +26773,8 @@ var require_gte = __commonJS({ "node_modules/semver/functions/gte.js"(exports2, module2) { "use strict"; var compare3 = require_compare(); - var gte6 = (a, b, loose) => compare3(a, b, loose) >= 0; - module2.exports = gte6; + var gte7 = (a, b, loose) => compare3(a, b, loose) >= 0; + module2.exports = gte7; } }); @@ -26625,8 +26783,8 @@ var require_lte = __commonJS({ "node_modules/semver/functions/lte.js"(exports2, module2) { "use strict"; var compare3 = require_compare(); - var lte = (a, b, loose) => compare3(a, b, loose) <= 0; - module2.exports = lte; + var lte2 = (a, b, loose) => compare3(a, b, loose) <= 0; + module2.exports = lte2; } }); @@ -26637,9 +26795,9 @@ var require_cmp = __commonJS({ var eq = require_eq(); var neq = require_neq(); var gt = require_gt(); - var gte6 = require_gte(); + var gte7 = require_gte(); var lt2 = require_lt(); - var lte = require_lte(); + var lte2 = require_lte(); var cmp = (a, op, b, loose) => { switch (op) { case "===": @@ -26667,11 +26825,11 @@ var require_cmp = __commonJS({ case ">": return gt(a, b, loose); case ">=": - return gte6(a, b, loose); + return gte7(a, b, loose); case "<": return lt2(a, b, loose); case "<=": - return lte(a, b, loose); + return lte2(a, b, loose); default: throw new TypeError(`Invalid operator: ${op}`); } @@ -26698,29 +26856,29 @@ var require_coerce = __commonJS({ return null; } options = options || {}; - let match = null; + let match2 = null; if (!options.rtl) { - match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); + match2 = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); } else { const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]; let next; - while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; + while ((next = coerceRtlRegex.exec(version)) && (!match2 || match2.index + match2[0].length !== version.length)) { + if (!match2 || next.index + next[0].length !== match2.index + match2[0].length) { + match2 = next; } coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length; } coerceRtlRegex.lastIndex = -1; } - if (match === null) { + if (match2 === null) { return null; } - const major = match[2]; - const minor = match[3] || "0"; - const patch = match[4] || "0"; - const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ""; - const build = options.includePrerelease && match[6] ? `+${match[6]}` : ""; - return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options); + const major = match2[2]; + const minor = match2[3] || "0"; + const patch = match2[4] || "0"; + const prerelease = options.includePrerelease && match2[5] ? `-${match2[5]}` : ""; + const build2 = options.includePrerelease && match2[6] ? `+${match2[6]}` : ""; + return parse2(`${major}.${minor}.${patch}${prerelease}${build2}`, options); }; module2.exports = coerce3; } @@ -26811,25 +26969,25 @@ var require_range = __commonJS({ "use strict"; var SPACE_CHARACTERS = /\s+/g; var Range2 = class _Range { - constructor(range, options) { + constructor(range2, options) { options = parseOptions(options); - if (range instanceof _Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; + if (range2 instanceof _Range) { + if (range2.loose === !!options.loose && range2.includePrerelease === !!options.includePrerelease) { + return range2; } else { - return new _Range(range.raw, options); + return new _Range(range2.raw, options); } } - if (range instanceof Comparator) { - this.raw = range.value; - this.set = [[range]]; + if (range2 instanceof Comparator) { + this.raw = range2.value; + this.set = [[range2]]; this.formatted = void 0; return this; } this.options = options; this.loose = !!options.loose; this.includePrerelease = !!options.includePrerelease; - this.raw = range.trim().replace(SPACE_CHARACTERS, " "); + this.raw = range2.trim().replace(SPACE_CHARACTERS, " "); this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); if (!this.set.length) { throw new TypeError(`Invalid SemVer Range: ${this.raw}`); @@ -26874,25 +27032,25 @@ var require_range = __commonJS({ toString() { return this.range; } - parseRange(range) { - range = range.replace(BUILDSTRIPRE, ""); + parseRange(range2) { + range2 = range2.replace(BUILDSTRIPRE, ""); const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); - const memoKey = memoOpts + ":" + range; + const memoKey = memoOpts + ":" + range2; const cached = cache.get(memoKey); if (cached) { return cached; } const loose = this.options.loose; const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); - debug6("hyphen replace", range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug6("comparator trim", range); - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); - debug6("tilde trim", range); - range = range.replace(re[t.CARETTRIM], caretTrimReplace); - debug6("caret trim", range); - let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); + range2 = range2.replace(hr, hyphenReplace(this.options.includePrerelease)); + debug6("hyphen replace", range2); + range2 = range2.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + debug6("comparator trim", range2); + range2 = range2.replace(re[t.TILDETRIM], tildeTrimReplace); + debug6("tilde trim", range2); + range2 = range2.replace(re[t.CARETTRIM], caretTrimReplace); + debug6("caret trim", range2); + let rangeList = range2.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); if (loose) { rangeList = rangeList.filter((comp) => { debug6("loose invalid filter", comp, this.options); @@ -26915,12 +27073,12 @@ var require_range = __commonJS({ cache.set(memoKey, result); return result; } - intersects(range, options) { - if (!(range instanceof _Range)) { + intersects(range2, options) { + if (!(range2 instanceof _Range)) { throw new TypeError("a Range is required"); } return this.set.some((thisComparators) => { - return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { + return isSatisfiable(thisComparators, options) && range2.set.some((rangeComparators) => { return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { return rangeComparators.every((rangeComparator) => { return thisComparator.intersects(rangeComparator, options); @@ -27000,15 +27158,16 @@ var require_range = __commonJS({ }; var replaceTilde = (comp, options) => { const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; + const z = options.includePrerelease ? "-0" : ""; return comp.replace(r, (_2, M, m, p, pr) => { debug6("tilde", comp, _2, M, m, p, pr); let ret; if (isX(M)) { ret = ""; } else if (isX(m)) { - ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; } else if (isX(p)) { - ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; } else if (pr) { debug6("replaceTilde pr", pr); ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; @@ -27307,13 +27466,13 @@ var require_satisfies = __commonJS({ "node_modules/semver/functions/satisfies.js"(exports2, module2) { "use strict"; var Range2 = require_range(); - var satisfies2 = (version, range, options) => { + var satisfies2 = (version, range2, options) => { try { - range = new Range2(range, options); + range2 = new Range2(range2, options); } catch (er) { return false; } - return range.test(version); + return range2.test(version); }; module2.exports = satisfies2; } @@ -27324,7 +27483,7 @@ var require_to_comparators = __commonJS({ "node_modules/semver/ranges/to-comparators.js"(exports2, module2) { "use strict"; var Range2 = require_range(); - var toComparators = (range, options) => new Range2(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); + var toComparators = (range2, options) => new Range2(range2, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); module2.exports = toComparators; } }); @@ -27335,12 +27494,12 @@ var require_max_satisfying = __commonJS({ "use strict"; var SemVer = require_semver(); var Range2 = require_range(); - var maxSatisfying = (versions, range, options) => { + var maxSatisfying = (versions, range2, options) => { let max = null; let maxSV = null; let rangeObj = null; try { - rangeObj = new Range2(range, options); + rangeObj = new Range2(range2, options); } catch (er) { return null; } @@ -27364,12 +27523,12 @@ var require_min_satisfying = __commonJS({ "use strict"; var SemVer = require_semver(); var Range2 = require_range(); - var minSatisfying = (versions, range, options) => { + var minSatisfying = (versions, range2, options) => { let min = null; let minSV = null; let rangeObj = null; try { - rangeObj = new Range2(range, options); + rangeObj = new Range2(range2, options); } catch (er) { return null; } @@ -27394,19 +27553,19 @@ var require_min_version = __commonJS({ var SemVer = require_semver(); var Range2 = require_range(); var gt = require_gt(); - var minVersion = (range, loose) => { - range = new Range2(range, loose); + var minVersion = (range2, loose) => { + range2 = new Range2(range2, loose); let minver = new SemVer("0.0.0"); - if (range.test(minver)) { + if (range2.test(minver)) { return minver; } minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { + if (range2.test(minver)) { return minver; } minver = null; - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; + for (let i = 0; i < range2.set.length; ++i) { + const comparators = range2.set[i]; let setMin = null; comparators.forEach((comparator) => { const compver = new SemVer(comparator.semver.version); @@ -27437,7 +27596,7 @@ var require_min_version = __commonJS({ minver = setMin; } } - if (minver && range.test(minver)) { + if (minver && range2.test(minver)) { return minver; } return null; @@ -27451,9 +27610,9 @@ var require_valid2 = __commonJS({ "node_modules/semver/ranges/valid.js"(exports2, module2) { "use strict"; var Range2 = require_range(); - var validRange = (range, options) => { + var validRange = (range2, options) => { try { - return new Range2(range, options).range || "*"; + return new Range2(range2, options).range || "*"; } catch (er) { return null; } @@ -27473,23 +27632,23 @@ var require_outside = __commonJS({ var satisfies2 = require_satisfies(); var gt = require_gt(); var lt2 = require_lt(); - var lte = require_lte(); - var gte6 = require_gte(); - var outside = (version, range, hilo, options) => { + var lte2 = require_lte(); + var gte7 = require_gte(); + var outside = (version, range2, hilo, options) => { version = new SemVer(version, options); - range = new Range2(range, options); + range2 = new Range2(range2, options); let gtfn, ltefn, ltfn, comp, ecomp; switch (hilo) { case ">": gtfn = gt; - ltefn = lte; + ltefn = lte2; ltfn = lt2; comp = ">"; ecomp = ">="; break; case "<": gtfn = lt2; - ltefn = gte6; + ltefn = gte7; ltfn = gt; comp = "<"; ecomp = "<="; @@ -27497,11 +27656,11 @@ var require_outside = __commonJS({ default: throw new TypeError('Must provide a hilo val of "<" or ">"'); } - if (satisfies2(version, range, options)) { + if (satisfies2(version, range2, options)) { return false; } - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; + for (let i = 0; i < range2.set.length; ++i) { + const comparators = range2.set[i]; let high = null; let low = null; comparators.forEach((comparator) => { @@ -27536,7 +27695,7 @@ var require_gtr = __commonJS({ "node_modules/semver/ranges/gtr.js"(exports2, module2) { "use strict"; var outside = require_outside(); - var gtr = (version, range, options) => outside(version, range, ">", options); + var gtr = (version, range2, options) => outside(version, range2, ">", options); module2.exports = gtr; } }); @@ -27546,7 +27705,7 @@ var require_ltr = __commonJS({ "node_modules/semver/ranges/ltr.js"(exports2, module2) { "use strict"; var outside = require_outside(); - var ltr = (version, range, options) => outside(version, range, "<", options); + var ltr = (version, range2, options) => outside(version, range2, "<", options); module2.exports = ltr; } }); @@ -27571,13 +27730,13 @@ var require_simplify = __commonJS({ "use strict"; var satisfies2 = require_satisfies(); var compare3 = require_compare(); - module2.exports = (versions, range, options) => { + module2.exports = (versions, range2, options) => { const set = []; let first = null; let prev = null; const v = versions.sort((a, b) => compare3(a, b, options)); for (const version of v) { - const included = satisfies2(version, range, options); + const included = satisfies2(version, range2, options); if (included) { prev = version; if (!first) { @@ -27609,8 +27768,8 @@ var require_simplify = __commonJS({ } } const simplified = ranges.join(" || "); - const original = typeof range.raw === "string" ? range.raw : String(range); - return simplified.length < original.length ? simplified : range; + const original = typeof range2.raw === "string" ? range2.raw : String(range2); + return simplified.length < original.length ? simplified : range2; }; } }); @@ -27804,8 +27963,8 @@ var require_semver2 = __commonJS({ var lt2 = require_lt(); var eq = require_eq(); var neq = require_neq(); - var gte6 = require_gte(); - var lte = require_lte(); + var gte7 = require_gte(); + var lte2 = require_lte(); var cmp = require_cmp(); var coerce3 = require_coerce(); var truncate = require_truncate(); @@ -27843,8 +28002,8 @@ var require_semver2 = __commonJS({ lt: lt2, eq, neq, - gte: gte6, - lte, + gte: gte7, + lte: lte2, cmp, coerce: coerce3, truncate, @@ -27885,19 +28044,19 @@ var require_light = __commonJS({ function getCjsExportFromNamespace(n) { return n && n["default"] || n; } - var load2 = function(received, defaults, onto = {}) { + var load2 = function(received, defaults2, onto = {}) { var k, ref, v; - for (k in defaults) { - v = defaults[k]; + for (k in defaults2) { + v = defaults2[k]; onto[k] = (ref = received[k]) != null ? ref : v; } return onto; }; - var overwrite = function(received, defaults, onto = {}) { + var overwrite = function(received, defaults2, onto = {}) { var k, v; for (k in received) { v = received[k]; - if (defaults[k] !== void 0) { + if (defaults2[k] !== void 0) { onto[k] = v; } } @@ -28327,8 +28486,8 @@ var require_light = __commonJS({ return this.Promise.resolve(); } yieldLoop(t = 0) { - return new this.Promise(function(resolve13, reject) { - return setTimeout(resolve13, t); + return new this.Promise(function(resolve14, reject) { + return setTimeout(resolve14, t); }); } computePenalty() { @@ -28399,7 +28558,7 @@ var require_light = __commonJS({ now = Date.now(); return this.check(weight, now); } - async __register__(index, weight, expiration) { + async __register__(index2, weight, expiration) { var now, wait; await this.yieldLoop(); now = Date.now(); @@ -28444,7 +28603,7 @@ var require_light = __commonJS({ strategy: this.storeOptions.strategy }; } - async __free__(index, weight) { + async __free__(index2, weight) { await this.yieldLoop(); this._running -= weight; this._done += weight; @@ -28539,15 +28698,15 @@ var require_light = __commonJS({ return this._queue.length === 0; } async _tryToRun() { - var args, cb, error3, reject, resolve13, returned, task; + var args, cb, error3, reject, resolve14, returned, task; if (this._running < 1 && this._queue.length > 0) { this._running++; - ({ task, args, resolve: resolve13, reject } = this._queue.shift()); + ({ task, args, resolve: resolve14, reject } = this._queue.shift()); cb = await (async function() { try { returned = await task(...args); return function() { - return resolve13(returned); + return resolve14(returned); }; } catch (error1) { error3 = error1; @@ -28562,13 +28721,13 @@ var require_light = __commonJS({ } } schedule(task, ...args) { - var promise, reject, resolve13; - resolve13 = reject = null; + var promise, reject, resolve14; + resolve14 = reject = null; promise = new this.Promise(function(_resolve, _reject) { - resolve13 = _resolve; + resolve14 = _resolve; return reject = _reject; }); - this._queue.push({ task, args, resolve: resolve13, reject }); + this._queue.push({ task, args, resolve: resolve14, reject }); this._tryToRun(); return promise; } @@ -28870,19 +29029,19 @@ var require_light = __commonJS({ check(weight = 1) { return this._store.__check__(weight); } - _clearGlobalState(index) { - if (this._scheduled[index] != null) { - clearTimeout(this._scheduled[index].expiration); - delete this._scheduled[index]; + _clearGlobalState(index2) { + if (this._scheduled[index2] != null) { + clearTimeout(this._scheduled[index2].expiration); + delete this._scheduled[index2]; return true; } else { return false; } } - async _free(index, job, options, eventInfo) { + async _free(index2, job, options, eventInfo) { var e, running; try { - ({ running } = await this._store.__free__(index, options.weight)); + ({ running } = await this._store.__free__(index2, options.weight)); this.Events.trigger("debug", `Freed ${options.id}`, eventInfo); if (running === 0 && this.empty()) { return this.Events.trigger("idle"); @@ -28892,13 +29051,13 @@ var require_light = __commonJS({ return this.Events.trigger("error", e); } } - _run(index, job, wait) { + _run(index2, job, wait) { var clearGlobalState, free, run9; job.doRun(); - clearGlobalState = this._clearGlobalState.bind(this, index); - run9 = this._run.bind(this, index, job); - free = this._free.bind(this, index, job); - return this._scheduled[index] = { + clearGlobalState = this._clearGlobalState.bind(this, index2); + run9 = this._run.bind(this, index2, job); + free = this._free.bind(this, index2, job); + return this._scheduled[index2] = { timeout: setTimeout(() => { return job.doExecute(this._limiter, clearGlobalState, run9, free); }, wait), @@ -28910,22 +29069,22 @@ var require_light = __commonJS({ } _drainOne(capacity) { return this._registerLock.schedule(() => { - var args, index, next, options, queue; + var args, index2, next, options, queue2; if (this.queued() === 0) { return this.Promise.resolve(null); } - queue = this._queues.getFirst(); - ({ options, args } = next = queue.first()); + queue2 = this._queues.getFirst(); + ({ options, args } = next = queue2.first()); if (capacity != null && options.weight > capacity) { return this.Promise.resolve(null); } this.Events.trigger("debug", `Draining ${options.id}`, { args, options }); - index = this._randomIndex(); - return this._store.__register__(index, options.weight, options.expiration).then(({ success, wait, reservoir }) => { + index2 = this._randomIndex(); + return this._store.__register__(index2, options.weight, options.expiration).then(({ success, wait, reservoir }) => { var empty; this.Events.trigger("debug", `Drained ${options.id}`, { success, args, options }); if (success) { - queue.shift(); + queue2.shift(); empty = this.empty(); if (empty) { this.Events.trigger("empty"); @@ -28933,7 +29092,7 @@ var require_light = __commonJS({ if (reservoir === 0) { this.Events.trigger("depleted", empty); } - this._run(index, next, wait); + this._run(index2, next, wait); return this.Promise.resolve(options.weight); } else { return this.Promise.resolve(null); @@ -28969,20 +29128,20 @@ var require_light = __commonJS({ counts = this._states.counts; return counts[0] + counts[1] + counts[2] + counts[3] === at; }; - return new this.Promise((resolve13, reject) => { + return new this.Promise((resolve14, reject) => { if (finished()) { - return resolve13(); + return resolve14(); } else { return this.on("done", () => { if (finished()) { this.removeAllListeners("done"); - return resolve13(); + return resolve14(); } }); } }); }; - done = options.dropWaitingJobs ? (this._run = function(index, next) { + done = options.dropWaitingJobs ? (this._run = function(index2, next) { return next.doDrop({ message: options.dropErrorMessage }); @@ -29069,9 +29228,9 @@ var require_light = __commonJS({ options = parser$5.load(options, this.jobDefaults); } task = (...args2) => { - return new this.Promise(function(resolve13, reject) { + return new this.Promise(function(resolve14, reject) { return fn(...args2, function(...args3) { - return (args3[0] != null ? reject : resolve13)(args3); + return (args3[0] != null ? reject : resolve14)(args3); }); }); }; @@ -29197,14 +29356,14 @@ var require_light = __commonJS({ var require_helpers = __commonJS({ "node_modules/jsonschema/lib/helpers.js"(exports2, module2) { "use strict"; - var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema, path29, name, argument) { - if (Array.isArray(path29)) { - this.path = path29; - this.property = path29.reduce(function(sum, item) { + var ValidationError = exports2.ValidationError = function ValidationError2(message, instance, schema, path30, name, argument) { + if (Array.isArray(path30)) { + this.path = path30; + this.property = path30.reduce(function(sum, item) { return sum + makeSuffix(item); }, "instance"); - } else if (path29 !== void 0) { - this.property = path29; + } else if (path30 !== void 0) { + this.property = path30; } if (message) { this.message = message; @@ -29297,28 +29456,28 @@ var require_helpers = __commonJS({ name: { value: "SchemaError", enumerable: false } } ); - var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema, options, path29, base, schemas) { + var SchemaContext = exports2.SchemaContext = function SchemaContext2(schema, options, path30, base, schemas) { this.schema = schema; this.options = options; - if (Array.isArray(path29)) { - this.path = path29; - this.propertyPath = path29.reduce(function(sum, item) { + if (Array.isArray(path30)) { + this.path = path30; + this.propertyPath = path30.reduce(function(sum, item) { return sum + makeSuffix(item); }, "instance"); } else { - this.propertyPath = path29; + this.propertyPath = path30; } this.base = base; this.schemas = schemas; }; - SchemaContext.prototype.resolve = function resolve13(target) { + SchemaContext.prototype.resolve = function resolve14(target) { return (() => resolveUrl(this.base, target))(); }; SchemaContext.prototype.makeChild = function makeChild(schema, propertyName) { - var path29 = propertyName === void 0 ? this.path : this.path.concat([propertyName]); + var path30 = propertyName === void 0 ? this.path : this.path.concat([propertyName]); var id = schema.$id || schema.id; let base = (() => resolveUrl(this.base, id || ""))(); - var ctx = new SchemaContext(schema, this.options, path29, base, Object.create(this.schemas)); + var ctx = new SchemaContext(schema, this.options, path30, base, Object.create(this.schemas)); if (id && !ctx.schemas[base]) { ctx.schemas[base] = schema; } @@ -29567,12 +29726,12 @@ var require_attribute = __commonJS({ return result; }; function testSchemaNoThrow(instance, options, ctx, callback, schema) { - var throwError = options.throwError; + var throwError2 = options.throwError; var throwAll = options.throwAll; options.throwError = false; options.throwAll = false; var res = this.validateSchema(instance, schema, options, ctx); - options.throwError = throwError; + options.throwError = throwError2; options.throwAll = throwAll; if (!res.valid && callback instanceof Function) { callback(res); @@ -29694,11 +29853,11 @@ var require_attribute = __commonJS({ } return result; }; - function getEnumerableProperty(object2, key) { - if (Object.hasOwnProperty.call(object2, key)) return object2[key]; - if (!(key in object2)) return; - while (object2 = Object.getPrototypeOf(object2)) { - if (Object.propertyIsEnumerable.call(object2, key)) return object2[key]; + function getEnumerableProperty(object, key) { + if (Object.hasOwnProperty.call(object, key)) return object[key]; + if (!(key in object)) return; + while (object = Object.getPrototypeOf(object)) { + if (Object.propertyIsEnumerable.call(object, key)) return object[key]; } } validators.propertyNames = function validatePropertyNames(instance, schema, options, ctx) { @@ -30416,7 +30575,7 @@ var require_validator = __commonJS({ } return schema; }; - Validator3.prototype.resolve = function resolve13(schema, switchSchema, ctx) { + Validator3.prototype.resolve = function resolve14(schema, switchSchema, ctx) { switchSchema = ctx.resolve(switchSchema); if (ctx.schemas[switchSchema]) { return { subschema: ctx.schemas[switchSchema], switchSchema }; @@ -30692,7 +30851,7 @@ var require_internal_glob_options_helper = __commonJS({ })(); Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getOptions = getOptions; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); function getOptions(copy) { const result = { followSymbolicLinks: true, @@ -30704,23 +30863,23 @@ var require_internal_glob_options_helper = __commonJS({ if (copy) { if (typeof copy.followSymbolicLinks === "boolean") { result.followSymbolicLinks = copy.followSymbolicLinks; - core30.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`); + core31.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`); } if (typeof copy.implicitDescendants === "boolean") { result.implicitDescendants = copy.implicitDescendants; - core30.debug(`implicitDescendants '${result.implicitDescendants}'`); + core31.debug(`implicitDescendants '${result.implicitDescendants}'`); } if (typeof copy.matchDirectories === "boolean") { result.matchDirectories = copy.matchDirectories; - core30.debug(`matchDirectories '${result.matchDirectories}'`); + core31.debug(`matchDirectories '${result.matchDirectories}'`); } if (typeof copy.omitBrokenSymbolicLinks === "boolean") { result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks; - core30.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`); + core31.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`); } if (typeof copy.excludeHiddenFiles === "boolean") { result.excludeHiddenFiles = copy.excludeHiddenFiles; - core30.debug(`excludeHiddenFiles '${result.excludeHiddenFiles}'`); + core31.debug(`excludeHiddenFiles '${result.excludeHiddenFiles}'`); } } return result; @@ -30773,21 +30932,21 @@ var require_internal_path_helper = __commonJS({ return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.dirname = dirname5; + exports2.dirname = dirname6; exports2.ensureAbsoluteRoot = ensureAbsoluteRoot; exports2.hasAbsoluteRoot = hasAbsoluteRoot; exports2.hasRoot = hasRoot; exports2.normalizeSeparators = normalizeSeparators; exports2.safeTrimTrailingSeparator = safeTrimTrailingSeparator; - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var assert_1 = __importDefault2(require("assert")); var IS_WINDOWS = process.platform === "win32"; - function dirname5(p) { + function dirname6(p) { p = safeTrimTrailingSeparator(p); if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) { return p; } - let result = path29.dirname(p); + let result = path30.dirname(p); if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) { result = safeTrimTrailingSeparator(result); } @@ -30824,7 +30983,7 @@ var require_internal_path_helper = __commonJS({ (0, assert_1.default)(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`); if (root.endsWith("/") || IS_WINDOWS && root.endsWith("\\")) { } else { - root += path29.sep; + root += path30.sep; } return root + itemPath; } @@ -30858,10 +31017,10 @@ var require_internal_path_helper = __commonJS({ return ""; } p = normalizeSeparators(p); - if (!p.endsWith(path29.sep)) { + if (!p.endsWith(path30.sep)) { return p; } - if (p === path29.sep) { + if (p === path30.sep) { return p; } if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) { @@ -30931,7 +31090,7 @@ var require_internal_pattern_helper = __commonJS({ })(); Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getSearchPaths = getSearchPaths; - exports2.match = match; + exports2.match = match2; exports2.partialMatch = partialMatch; var pathHelper = __importStar2(require_internal_path_helper()); var internal_match_kind_1 = require_internal_match_kind(); @@ -30967,7 +31126,7 @@ var require_internal_pattern_helper = __commonJS({ } return result; } - function match(patterns, itemPath) { + function match2(patterns, itemPath) { let result = internal_match_kind_1.MatchKind.None; for (const pattern of patterns) { if (pattern.negate) { @@ -31006,11 +31165,11 @@ var require_concat_map = __commonJS({ var require_balanced_match = __commonJS({ "node_modules/balanced-match/index.js"(exports2, module2) { "use strict"; - module2.exports = balanced; - function balanced(a, b, str) { - if (a instanceof RegExp) a = maybeMatch(a, str); - if (b instanceof RegExp) b = maybeMatch(b, str); - var r = range(a, b, str); + module2.exports = balanced2; + function balanced2(a, b, str) { + if (a instanceof RegExp) a = maybeMatch2(a, str); + if (b instanceof RegExp) b = maybeMatch2(b, str); + var r = range2(a, b, str); return r && { start: r[0], end: r[1], @@ -31019,12 +31178,12 @@ var require_balanced_match = __commonJS({ post: str.slice(r[1] + b.length) }; } - function maybeMatch(reg, str) { + function maybeMatch2(reg, str) { var m = str.match(reg); return m ? m[0] : null; } - balanced.range = range; - function range(a, b, str) { + balanced2.range = range2; + function range2(a, b, str) { var begs, beg, left, right, result; var ai = str.indexOf(a); var bi = str.indexOf(b, ai + 1); @@ -31061,27 +31220,27 @@ var require_balanced_match = __commonJS({ var require_brace_expansion = __commonJS({ "node_modules/brace-expansion/index.js"(exports2, module2) { var concatMap = require_concat_map(); - var balanced = require_balanced_match(); + var balanced2 = require_balanced_match(); module2.exports = expandTop; - var escSlash = "\0SLASH" + Math.random() + "\0"; - var escOpen = "\0OPEN" + Math.random() + "\0"; - var escClose = "\0CLOSE" + Math.random() + "\0"; - var escComma = "\0COMMA" + Math.random() + "\0"; - var escPeriod = "\0PERIOD" + Math.random() + "\0"; - function numeric(str) { + var escSlash2 = "\0SLASH" + Math.random() + "\0"; + var escOpen2 = "\0OPEN" + Math.random() + "\0"; + var escClose2 = "\0CLOSE" + Math.random() + "\0"; + var escComma2 = "\0COMMA" + Math.random() + "\0"; + var escPeriod2 = "\0PERIOD" + Math.random() + "\0"; + function numeric2(str) { return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0); } - function escapeBraces(str) { - return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod); + function escapeBraces2(str) { + return str.split("\\\\").join(escSlash2).split("\\{").join(escOpen2).split("\\}").join(escClose2).split("\\,").join(escComma2).split("\\.").join(escPeriod2); } - function unescapeBraces(str) { - return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join("."); + function unescapeBraces2(str) { + return str.split(escSlash2).join("\\").split(escOpen2).join("{").split(escClose2).join("}").split(escComma2).join(",").split(escPeriod2).join("."); } - function parseCommaParts(str) { + function parseCommaParts2(str) { if (!str) return [""]; var parts = []; - var m = balanced("{", "}", str); + var m = balanced2("{", "}", str); if (!m) return str.split(","); var pre = m.pre; @@ -31089,7 +31248,7 @@ var require_brace_expansion = __commonJS({ var post = m.post; var p = pre.split(","); p[p.length - 1] += "{" + body + "}"; - var postParts = parseCommaParts(post); + var postParts = parseCommaParts2(post); if (post.length) { p[p.length - 1] += postParts.shift(); p.push.apply(p, postParts); @@ -31105,23 +31264,23 @@ var require_brace_expansion = __commonJS({ if (str.substr(0, 2) === "{}") { str = "\\{\\}" + str.substr(2); } - return expand2(escapeBraces(str), max, true).map(unescapeBraces); + return expand3(escapeBraces2(str), max, true).map(unescapeBraces2); } - function embrace(str) { + function embrace2(str) { return "{" + str + "}"; } - function isPadded(el) { + function isPadded2(el) { return /^-?0\d/.test(el); } - function lte(i, y) { + function lte2(i, y) { return i <= y; } - function gte6(i, y) { + function gte7(i, y) { return i >= y; } - function expand2(str, max, isTop) { + function expand3(str, max, isTop) { var expansions = []; - var m = balanced("{", "}", str); + var m = balanced2("{", "}", str); if (!m || /\$$/.test(m.pre)) return [str]; var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); @@ -31129,8 +31288,8 @@ var require_brace_expansion = __commonJS({ var isOptions = m.body.indexOf(",") >= 0; if (!isSequence && !isOptions) { if (m.post.match(/,(?!,).*\}/)) { - str = m.pre + "{" + m.body + escClose + m.post; - return expand2(str, max, true); + str = m.pre + "{" + m.body + escClose2 + m.post; + return expand3(str, max, true); } return [str]; } @@ -31138,11 +31297,11 @@ var require_brace_expansion = __commonJS({ if (isSequence) { n = m.body.split(/\.\./); } else { - n = parseCommaParts(m.body); + n = parseCommaParts2(m.body); if (n.length === 1) { - n = expand2(n[0], max, false).map(embrace); + n = expand3(n[0], max, false).map(embrace2); if (n.length === 1) { - var post = m.post.length ? expand2(m.post, max, false) : [""]; + var post = m.post.length ? expand3(m.post, max, false) : [""]; return post.map(function(p) { return m.pre + n[0] + p; }); @@ -31150,20 +31309,20 @@ var require_brace_expansion = __commonJS({ } } var pre = m.pre; - var post = m.post.length ? expand2(m.post, max, false) : [""]; + var post = m.post.length ? expand3(m.post, max, false) : [""]; var N; if (isSequence) { - var x = numeric(n[0]); - var y = numeric(n[1]); + var x = numeric2(n[0]); + var y = numeric2(n[1]); var width = Math.max(n[0].length, n[1].length); - var incr = n.length == 3 ? Math.max(Math.abs(numeric(n[2])), 1) : 1; - var test = lte; + var incr = n.length == 3 ? Math.max(Math.abs(numeric2(n[2])), 1) : 1; + var test = lte2; var reverse = y < x; if (reverse) { incr *= -1; - test = gte6; + test = gte7; } - var pad = n.some(isPadded); + var pad = n.some(isPadded2); N = []; for (var i = x; test(i, y); i += incr) { var c; @@ -31188,7 +31347,7 @@ var require_brace_expansion = __commonJS({ } } else { N = concatMap(n, function(el) { - return expand2(el, max, false); + return expand3(el, max, false); }); } for (var j = 0; j < N.length; j++) { @@ -31206,9 +31365,9 @@ var require_brace_expansion = __commonJS({ // node_modules/minimatch/minimatch.js var require_minimatch = __commonJS({ "node_modules/minimatch/minimatch.js"(exports2, module2) { - module2.exports = minimatch; - minimatch.Minimatch = Minimatch; - var path29 = (function() { + module2.exports = minimatch2; + minimatch2.Minimatch = Minimatch2; + var path30 = (function() { try { return require("path"); } catch (e) { @@ -31216,9 +31375,9 @@ var require_minimatch = __commonJS({ })() || { sep: "/" }; - minimatch.sep = path29.sep; - var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; - var expand2 = require_brace_expansion(); + minimatch2.sep = path30.sep; + var GLOBSTAR2 = minimatch2.GLOBSTAR = Minimatch2.GLOBSTAR = {}; + var expand3 = require_brace_expansion(); var plTypes = { "!": { open: "(?:(?!(?:", close: "))[^/]*?)" }, "?": { open: "(?:", close: ")?" }, @@ -31226,11 +31385,11 @@ var require_minimatch = __commonJS({ "*": { open: "(?:", close: ")*" }, "@": { open: "(?:", close: ")" } }; - var qmark = "[^/]"; - var star = qmark + "*?"; - var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; - var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; - var reSpecials = charSet("().*{}+?[]^$\\!"); + var qmark3 = "[^/]"; + var star3 = qmark3 + "*?"; + var twoStarDot2 = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; + var twoStarNoDot2 = "(?:(?!(?:\\/|^)\\.).)*?"; + var reSpecials2 = charSet("().*{}+?[]^$\\!"); function charSet(s) { return s.split("").reduce(function(set, c) { set[c] = true; @@ -31238,14 +31397,14 @@ var require_minimatch = __commonJS({ }, {}); } var slashSplit = /\/+/; - minimatch.filter = filter; - function filter(pattern, options) { + minimatch2.filter = filter2; + function filter2(pattern, options) { options = options || {}; return function(p, i, list) { - return minimatch(p, pattern, options); + return minimatch2(p, pattern, options); }; } - function ext(a, b) { + function ext2(a, b) { b = b || {}; var t = {}; Object.keys(a).forEach(function(k) { @@ -31256,57 +31415,57 @@ var require_minimatch = __commonJS({ }); return t; } - minimatch.defaults = function(def) { + minimatch2.defaults = function(def) { if (!def || typeof def !== "object" || !Object.keys(def).length) { - return minimatch; + return minimatch2; } - var orig = minimatch; - var m = function minimatch2(p, pattern, options) { - return orig(p, pattern, ext(def, options)); + var orig = minimatch2; + var m = function minimatch3(p, pattern, options) { + return orig(p, pattern, ext2(def, options)); }; - m.Minimatch = function Minimatch2(pattern, options) { - return new orig.Minimatch(pattern, ext(def, options)); + m.Minimatch = function Minimatch3(pattern, options) { + return new orig.Minimatch(pattern, ext2(def, options)); }; - m.Minimatch.defaults = function defaults(options) { - return orig.defaults(ext(def, options)).Minimatch; + m.Minimatch.defaults = function defaults2(options) { + return orig.defaults(ext2(def, options)).Minimatch; }; - m.filter = function filter2(pattern, options) { - return orig.filter(pattern, ext(def, options)); + m.filter = function filter3(pattern, options) { + return orig.filter(pattern, ext2(def, options)); }; - m.defaults = function defaults(options) { - return orig.defaults(ext(def, options)); + m.defaults = function defaults2(options) { + return orig.defaults(ext2(def, options)); }; - m.makeRe = function makeRe2(pattern, options) { - return orig.makeRe(pattern, ext(def, options)); + m.makeRe = function makeRe3(pattern, options) { + return orig.makeRe(pattern, ext2(def, options)); }; - m.braceExpand = function braceExpand2(pattern, options) { - return orig.braceExpand(pattern, ext(def, options)); + m.braceExpand = function braceExpand3(pattern, options) { + return orig.braceExpand(pattern, ext2(def, options)); }; m.match = function(list, pattern, options) { - return orig.match(list, pattern, ext(def, options)); + return orig.match(list, pattern, ext2(def, options)); }; return m; }; - Minimatch.defaults = function(def) { - return minimatch.defaults(def).Minimatch; + Minimatch2.defaults = function(def) { + return minimatch2.defaults(def).Minimatch; }; - function minimatch(p, pattern, options) { - assertValidPattern(pattern); + function minimatch2(p, pattern, options) { + assertValidPattern2(pattern); if (!options) options = {}; if (!options.nocomment && pattern.charAt(0) === "#") { return false; } - return new Minimatch(pattern, options).match(p); + return new Minimatch2(pattern, options).match(p); } - function Minimatch(pattern, options) { - if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options); + function Minimatch2(pattern, options) { + if (!(this instanceof Minimatch2)) { + return new Minimatch2(pattern, options); } - assertValidPattern(pattern); + assertValidPattern2(pattern); if (!options) options = {}; pattern = pattern.trim(); - if (!options.allowWindowsEscape && path29.sep !== "/") { - pattern = pattern.split(path29.sep).join("/"); + if (!options.allowWindowsEscape && path30.sep !== "/") { + pattern = pattern.split(path30.sep).join("/"); } this.options = options; this.maxGlobstarRecursion = options.maxGlobstarRecursion !== void 0 ? options.maxGlobstarRecursion : 200; @@ -31319,9 +31478,9 @@ var require_minimatch = __commonJS({ this.partial = !!options.partial; this.make(); } - Minimatch.prototype.debug = function() { + Minimatch2.prototype.debug = function() { }; - Minimatch.prototype.make = make; + Minimatch2.prototype.make = make; function make() { var pattern = this.pattern; var options = this.options; @@ -31353,7 +31512,7 @@ var require_minimatch = __commonJS({ this.debug(this.pattern, set); this.set = set; } - Minimatch.prototype.parseNegate = parseNegate; + Minimatch2.prototype.parseNegate = parseNegate; function parseNegate() { var pattern = this.pattern; var negate2 = false; @@ -31367,42 +31526,42 @@ var require_minimatch = __commonJS({ if (negateOffset) this.pattern = pattern.substr(negateOffset); this.negate = negate2; } - minimatch.braceExpand = function(pattern, options) { - return braceExpand(pattern, options); + minimatch2.braceExpand = function(pattern, options) { + return braceExpand2(pattern, options); }; - Minimatch.prototype.braceExpand = braceExpand; - function braceExpand(pattern, options) { + Minimatch2.prototype.braceExpand = braceExpand2; + function braceExpand2(pattern, options) { if (!options) { - if (this instanceof Minimatch) { + if (this instanceof Minimatch2) { options = this.options; } else { options = {}; } } pattern = typeof pattern === "undefined" ? this.pattern : pattern; - assertValidPattern(pattern); + assertValidPattern2(pattern); if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { return [pattern]; } - return expand2(pattern); + return expand3(pattern); } - var MAX_PATTERN_LENGTH = 1024 * 64; - var assertValidPattern = function(pattern) { + var MAX_PATTERN_LENGTH2 = 1024 * 64; + var assertValidPattern2 = function(pattern) { if (typeof pattern !== "string") { throw new TypeError("invalid pattern"); } - if (pattern.length > MAX_PATTERN_LENGTH) { + if (pattern.length > MAX_PATTERN_LENGTH2) { throw new TypeError("pattern is too long"); } }; - Minimatch.prototype.parse = parse2; + Minimatch2.prototype.parse = parse2; var SUBPARSE = {}; function parse2(pattern, isSub) { - assertValidPattern(pattern); + assertValidPattern2(pattern); var options = this.options; if (pattern === "**") { if (!options.noglobstar) - return GLOBSTAR; + return GLOBSTAR2; else pattern = "*"; } @@ -31422,11 +31581,11 @@ var require_minimatch = __commonJS({ if (stateChar) { switch (stateChar) { case "*": - re += star; + re += star3; hasMagic = true; break; case "?": - re += qmark; + re += qmark3; hasMagic = true; break; default: @@ -31439,7 +31598,7 @@ var require_minimatch = __commonJS({ } for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) { this.debug("%s %s %s %j", pattern, i, re, c); - if (escaping && reSpecials[c]) { + if (escaping && reSpecials2[c]) { re += "\\" + c; escaping = false; continue; @@ -31552,7 +31711,7 @@ var require_minimatch = __commonJS({ clearStateChar(); if (escaping) { escaping = false; - } else if (reSpecials[c] && !(c === "^" && inClass)) { + } else if (reSpecials2[c] && !(c === "^" && inClass)) { re += "\\"; } re += c; @@ -31574,7 +31733,7 @@ var require_minimatch = __commonJS({ return $1 + $1 + $2 + "|"; }); this.debug("tail=%j\n %s", tail, tail, pl, re); - var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; + var t = pl.type === "*" ? star3 : pl.type === "?" ? qmark3 : "\\" + pl.type; hasMagic = true; re = re.slice(0, pl.reStart) + t + "\\(" + tail; } @@ -31582,12 +31741,12 @@ var require_minimatch = __commonJS({ if (escaping) { re += "\\\\"; } - var addPatternStart = false; + var addPatternStart2 = false; switch (re.charAt(0)) { case "[": case ".": case "(": - addPatternStart = true; + addPatternStart2 = true; } for (var n = negativeLists.length - 1; n > -1; n--) { var nl = negativeLists[n]; @@ -31612,7 +31771,7 @@ var require_minimatch = __commonJS({ if (re !== "" && hasMagic) { re = "(?=.)" + re; } - if (addPatternStart) { + if (addPatternStart2) { re = patternStart + re; } if (isSub === SUBPARSE) { @@ -31631,11 +31790,11 @@ var require_minimatch = __commonJS({ regExp._src = re; return regExp; } - minimatch.makeRe = function(pattern, options) { - return new Minimatch(pattern, options || {}).makeRe(); + minimatch2.makeRe = function(pattern, options) { + return new Minimatch2(pattern, options || {}).makeRe(); }; - Minimatch.prototype.makeRe = makeRe; - function makeRe() { + Minimatch2.prototype.makeRe = makeRe2; + function makeRe2() { if (this.regexp || this.regexp === false) return this.regexp; var set = this.set; if (!set.length) { @@ -31643,11 +31802,11 @@ var require_minimatch = __commonJS({ return this.regexp; } var options = this.options; - var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; + var twoStar = options.noglobstar ? star3 : options.dot ? twoStarDot2 : twoStarNoDot2; var flags = options.nocase ? "i" : ""; var re = set.map(function(pattern) { return pattern.map(function(p) { - return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src; + return p === GLOBSTAR2 ? twoStar : typeof p === "string" ? regExpEscape3(p) : p._src; }).join("\\/"); }).join("|"); re = "^(?:" + re + ")$"; @@ -31659,9 +31818,9 @@ var require_minimatch = __commonJS({ } return this.regexp; } - minimatch.match = function(list, pattern, options) { + minimatch2.match = function(list, pattern, options) { options = options || {}; - var mm = new Minimatch(pattern, options); + var mm = new Minimatch2(pattern, options); list = list.filter(function(f) { return mm.match(f); }); @@ -31670,15 +31829,15 @@ var require_minimatch = __commonJS({ } return list; }; - Minimatch.prototype.match = function match(f, partial) { + Minimatch2.prototype.match = function match2(f, partial) { if (typeof partial === "undefined") partial = this.partial; this.debug("match", f, this.pattern); if (this.comment) return false; if (this.empty) return f === ""; if (f === "/" && partial) return true; var options = this.options; - if (path29.sep !== "/") { - f = f.split(path29.sep).join("/"); + if (path30.sep !== "/") { + f = f.split(path30.sep).join("/"); } f = f.split(slashSplit); this.debug(this.pattern, "split", f); @@ -31705,24 +31864,24 @@ var require_minimatch = __commonJS({ if (options.flipNegate) return false; return this.negate; }; - Minimatch.prototype.matchOne = function(file, pattern, partial) { - if (pattern.indexOf(GLOBSTAR) !== -1) { + Minimatch2.prototype.matchOne = function(file, pattern, partial) { + if (pattern.indexOf(GLOBSTAR2) !== -1) { return this._matchGlobstar(file, pattern, partial, 0, 0); } return this._matchOne(file, pattern, partial, 0, 0); }; - Minimatch.prototype._matchGlobstar = function(file, pattern, partial, fileIndex, patternIndex) { + Minimatch2.prototype._matchGlobstar = function(file, pattern, partial, fileIndex, patternIndex) { var i; var firstgs = -1; for (i = patternIndex; i < pattern.length; i++) { - if (pattern[i] === GLOBSTAR) { + if (pattern[i] === GLOBSTAR2) { firstgs = i; break; } } var lastgs = -1; for (i = pattern.length - 1; i >= 0; i--) { - if (pattern[i] === GLOBSTAR) { + if (pattern[i] === GLOBSTAR2) { lastgs = i; break; } @@ -31771,7 +31930,7 @@ var require_minimatch = __commonJS({ var nonGsPartsSums = [0]; for (var bi = 0; bi < body.length; bi++) { var b = body[bi]; - if (b === GLOBSTAR) { + if (b === GLOBSTAR2) { nonGsPartsSums.push(nonGsParts); currentBody = [[], 0]; bodySegments.push(currentBody); @@ -31795,7 +31954,7 @@ var require_minimatch = __commonJS({ !!fileTailMatch ); }; - Minimatch.prototype._matchGlobStarBodySections = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) { + Minimatch2.prototype._matchGlobStarBodySections = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) { var bs = bodySegments[bodyIndex]; if (!bs) { for (var i = fileIndex; i < file.length; i++) { @@ -31839,14 +31998,14 @@ var require_minimatch = __commonJS({ } return partial || null; }; - Minimatch.prototype._matchOne = function(file, pattern, partial, fileIndex, patternIndex) { + Minimatch2.prototype._matchOne = function(file, pattern, partial, fileIndex, patternIndex) { var fi, pi, fl, pl; for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { this.debug("matchOne loop"); var p = pattern[pi]; var f = file[fi]; this.debug(pattern, p, f); - if (p === false || p === GLOBSTAR) return false; + if (p === false || p === GLOBSTAR2) return false; var hit; if (typeof p === "string") { hit = f === p; @@ -31869,7 +32028,7 @@ var require_minimatch = __commonJS({ function globUnescape(s) { return s.replace(/\\(.)/g, "$1"); } - function regExpEscape(s) { + function regExpEscape3(s) { return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); } } @@ -31921,7 +32080,7 @@ var require_internal_path = __commonJS({ }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Path = void 0; - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var pathHelper = __importStar2(require_internal_path_helper()); var assert_1 = __importDefault2(require("assert")); var IS_WINDOWS = process.platform === "win32"; @@ -31936,12 +32095,12 @@ var require_internal_path = __commonJS({ (0, assert_1.default)(itemPath, `Parameter 'itemPath' must not be empty`); itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); if (!pathHelper.hasRoot(itemPath)) { - this.segments = itemPath.split(path29.sep); + this.segments = itemPath.split(path30.sep); } else { let remaining = itemPath; let dir = pathHelper.dirname(remaining); while (dir !== remaining) { - const basename2 = path29.basename(remaining); + const basename2 = path30.basename(remaining); this.segments.unshift(basename2); remaining = dir; dir = pathHelper.dirname(remaining); @@ -31959,7 +32118,7 @@ var require_internal_path = __commonJS({ (0, assert_1.default)(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`); this.segments.push(segment); } else { - (0, assert_1.default)(!segment.includes(path29.sep), `Parameter 'itemPath' contains unexpected path separators`); + (0, assert_1.default)(!segment.includes(path30.sep), `Parameter 'itemPath' contains unexpected path separators`); this.segments.push(segment); } } @@ -31970,12 +32129,12 @@ var require_internal_path = __commonJS({ */ toString() { let result = this.segments[0]; - let skipSlash = result.endsWith(path29.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result); + let skipSlash = result.endsWith(path30.sep) || IS_WINDOWS && /^[A-Z]:$/i.test(result); for (let i = 1; i < this.segments.length; i++) { if (skipSlash) { skipSlash = false; } else { - result += path29.sep; + result += path30.sep; } result += this.segments[i]; } @@ -32033,7 +32192,7 @@ var require_internal_pattern = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Pattern = void 0; var os7 = __importStar2(require("os")); - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var pathHelper = __importStar2(require_internal_path_helper()); var assert_1 = __importDefault2(require("assert")); var minimatch_1 = require_minimatch(); @@ -32062,7 +32221,7 @@ var require_internal_pattern = __commonJS({ } pattern = _Pattern.fixupPattern(pattern, homedir2); this.segments = new internal_path_1.Path(pattern).segments; - this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path29.sep); + this.trailingSeparator = pathHelper.normalizeSeparators(pattern).endsWith(path30.sep); pattern = pathHelper.safeTrimTrailingSeparator(pattern); let foundGlob = false; const searchSegments = this.segments.map((x) => _Pattern.getLiteral(x)).filter((x) => !foundGlob && !(foundGlob = x === "")); @@ -32086,8 +32245,8 @@ var require_internal_pattern = __commonJS({ match(itemPath) { if (this.segments[this.segments.length - 1] === "**") { itemPath = pathHelper.normalizeSeparators(itemPath); - if (!itemPath.endsWith(path29.sep) && this.isImplicitPattern === false) { - itemPath = `${itemPath}${path29.sep}`; + if (!itemPath.endsWith(path30.sep) && this.isImplicitPattern === false) { + itemPath = `${itemPath}${path30.sep}`; } } else { itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); @@ -32122,9 +32281,9 @@ var require_internal_pattern = __commonJS({ (0, assert_1.default)(literalSegments.every((x, i) => (x !== "." || i === 0) && x !== ".."), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`); (0, assert_1.default)(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`); pattern = pathHelper.normalizeSeparators(pattern); - if (pattern === "." || pattern.startsWith(`.${path29.sep}`)) { + if (pattern === "." || pattern.startsWith(`.${path30.sep}`)) { pattern = _Pattern.globEscape(process.cwd()) + pattern.substr(1); - } else if (pattern === "~" || pattern.startsWith(`~${path29.sep}`)) { + } else if (pattern === "~" || pattern.startsWith(`~${path30.sep}`)) { homedir2 = homedir2 || os7.homedir(); (0, assert_1.default)(homedir2, "Unable to determine HOME directory"); (0, assert_1.default)(pathHelper.hasAbsoluteRoot(homedir2), `Expected HOME directory to be a rooted path. Actual '${homedir2}'`); @@ -32208,8 +32367,8 @@ var require_internal_search_state = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SearchState = void 0; var SearchState = class { - constructor(path29, level) { - this.path = path29; + constructor(path30, level) { + this.path = path30; this.level = level; } }; @@ -32260,11 +32419,11 @@ var require_internal_globber = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -32280,7 +32439,7 @@ var require_internal_globber = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -32293,14 +32452,14 @@ var require_internal_globber = __commonJS({ }, i); function verb(n) { i[n] = o[n] && function(v) { - return new Promise(function(resolve13, reject) { - v = o[n](v), settle(resolve13, reject, v.done, v.value); + return new Promise(function(resolve14, reject) { + v = o[n](v), settle(resolve14, reject, v.done, v.value); }); }; } - function settle(resolve13, reject, d, v) { + function settle(resolve14, reject, d, v) { Promise.resolve(v).then(function(v2) { - resolve13({ value: v2, done: d }); + resolve14({ value: v2, done: d }); }, reject); } }; @@ -32350,10 +32509,10 @@ var require_internal_globber = __commonJS({ }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DefaultGlobber = void 0; - var core30 = __importStar2(require_core()); - var fs31 = __importStar2(require("fs")); + var core31 = __importStar2(require_core()); + var fs32 = __importStar2(require("fs")); var globOptionsHelper = __importStar2(require_internal_glob_options_helper()); - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var patternHelper = __importStar2(require_internal_pattern_helper()); var internal_match_kind_1 = require_internal_match_kind(); var internal_pattern_1 = require_internal_pattern(); @@ -32370,10 +32529,10 @@ var require_internal_globber = __commonJS({ } glob() { return __awaiter2(this, void 0, void 0, function* () { - var _a, e_1, _b, _c; + var _a2, e_1, _b, _c; const result = []; try { - for (var _d = true, _e = __asyncValues2(this.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) { + for (var _d = true, _e = __asyncValues2(this.globGenerator()), _f; _f = yield _e.next(), _a2 = _f.done, !_a2; _d = true) { _c = _f.value; _d = false; const itemPath = _c; @@ -32383,7 +32542,7 @@ var require_internal_globber = __commonJS({ e_1 = { error: e_1_1 }; } finally { try { - if (!_d && !_a && (_b = _e.return)) yield _b.call(_e); + if (!_d && !_a2 && (_b = _e.return)) yield _b.call(_e); } finally { if (e_1) throw e_1.error; } @@ -32403,9 +32562,9 @@ var require_internal_globber = __commonJS({ } const stack = []; for (const searchPath of patternHelper.getSearchPaths(patterns)) { - core30.debug(`Search path '${searchPath}'`); + core31.debug(`Search path '${searchPath}'`); try { - yield __await2(fs31.promises.lstat(searchPath)); + yield __await2(fs32.promises.lstat(searchPath)); } catch (err) { if (err.code === "ENOENT") { continue; @@ -32417,9 +32576,9 @@ var require_internal_globber = __commonJS({ const traversalChain = []; while (stack.length) { const item = stack.pop(); - const match = patternHelper.match(patterns, item.path); - const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path); - if (!match && !partialMatch) { + const match2 = patternHelper.match(patterns, item.path); + const partialMatch = !!match2 || patternHelper.partialMatch(patterns, item.path); + if (!match2 && !partialMatch) { continue; } const stats = yield __await2( @@ -32429,19 +32588,19 @@ var require_internal_globber = __commonJS({ if (!stats) { continue; } - if (options.excludeHiddenFiles && path29.basename(item.path).match(/^\./)) { + if (options.excludeHiddenFiles && path30.basename(item.path).match(/^\./)) { continue; } if (stats.isDirectory()) { - if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) { + if (match2 & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) { yield yield __await2(item.path); } else if (!partialMatch) { continue; } const childLevel = item.level + 1; - const childItems = (yield __await2(fs31.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path29.join(item.path, x), childLevel)); + const childItems = (yield __await2(fs32.promises.readdir(item.path))).map((x) => new internal_search_state_1.SearchState(path30.join(item.path, x), childLevel)); stack.push(...childItems.reverse()); - } else if (match & internal_match_kind_1.MatchKind.File) { + } else if (match2 & internal_match_kind_1.MatchKind.File) { yield yield __await2(item.path); } } @@ -32474,11 +32633,11 @@ var require_internal_globber = __commonJS({ let stats; if (options.followSymbolicLinks) { try { - stats = yield fs31.promises.stat(item.path); + stats = yield fs32.promises.stat(item.path); } catch (err) { if (err.code === "ENOENT") { if (options.omitBrokenSymbolicLinks) { - core30.debug(`Broken symlink '${item.path}'`); + core31.debug(`Broken symlink '${item.path}'`); return void 0; } throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`); @@ -32486,15 +32645,15 @@ var require_internal_globber = __commonJS({ throw err; } } else { - stats = yield fs31.promises.lstat(item.path); + stats = yield fs32.promises.lstat(item.path); } if (stats.isDirectory() && options.followSymbolicLinks) { - const realPath = yield fs31.promises.realpath(item.path); + const realPath = yield fs32.promises.realpath(item.path); while (traversalChain.length >= item.level) { traversalChain.pop(); } if (traversalChain.some((x) => x === realPath)) { - core30.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`); + core31.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`); return void 0; } traversalChain.push(realPath); @@ -32550,11 +32709,11 @@ var require_internal_hash_files = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -32570,7 +32729,7 @@ var require_internal_hash_files = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -32583,51 +32742,51 @@ var require_internal_hash_files = __commonJS({ }, i); function verb(n) { i[n] = o[n] && function(v) { - return new Promise(function(resolve13, reject) { - v = o[n](v), settle(resolve13, reject, v.done, v.value); + return new Promise(function(resolve14, reject) { + v = o[n](v), settle(resolve14, reject, v.done, v.value); }); }; } - function settle(resolve13, reject, d, v) { + function settle(resolve14, reject, d, v) { Promise.resolve(v).then(function(v2) { - resolve13({ value: v2, done: d }); + resolve14({ value: v2, done: d }); }, reject); } }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.hashFiles = hashFiles2; var crypto3 = __importStar2(require("crypto")); - var core30 = __importStar2(require_core()); - var fs31 = __importStar2(require("fs")); + var core31 = __importStar2(require_core()); + var fs32 = __importStar2(require("fs")); var stream2 = __importStar2(require("stream")); - var util = __importStar2(require("util")); - var path29 = __importStar2(require("path")); + var util3 = __importStar2(require("util")); + var path30 = __importStar2(require("path")); function hashFiles2(globber_1, currentWorkspace_1) { return __awaiter2(this, arguments, void 0, function* (globber, currentWorkspace, verbose = false) { - var _a, e_1, _b, _c; + var _a2, e_1, _b, _c; var _d; - const writeDelegate = verbose ? core30.info : core30.debug; + const writeDelegate = verbose ? core31.info : core31.debug; let hasMatch = false; const githubWorkspace = currentWorkspace ? currentWorkspace : (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd(); const result = crypto3.createHash("sha256"); let count = 0; try { - for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) { + for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a2 = _g.done, !_a2; _e = true) { _c = _g.value; _e = false; const file = _c; writeDelegate(file); - if (!file.startsWith(`${githubWorkspace}${path29.sep}`)) { + if (!file.startsWith(`${githubWorkspace}${path30.sep}`)) { writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`); continue; } - if (fs31.statSync(file).isDirectory()) { + if (fs32.statSync(file).isDirectory()) { writeDelegate(`Skip directory '${file}'.`); continue; } const hash2 = crypto3.createHash("sha256"); - const pipeline = util.promisify(stream2.pipeline); - yield pipeline(fs31.createReadStream(file), hash2); + const pipeline = util3.promisify(stream2.pipeline); + yield pipeline(fs32.createReadStream(file), hash2); result.write(hash2.digest()); count++; if (!hasMatch) { @@ -32638,7 +32797,7 @@ var require_internal_hash_files = __commonJS({ e_1 = { error: e_1_1 }; } finally { try { - if (!_e && !_a && (_b = _f.return)) yield _b.call(_f); + if (!_e && !_a2 && (_b = _f.return)) yield _b.call(_f); } finally { if (e_1) throw e_1.error; } @@ -32662,11 +32821,11 @@ var require_glob = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -32682,7 +32841,7 @@ var require_glob = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -33135,10 +33294,10 @@ var require_semver3 = __commonJS({ } } exports2.compareIdentifiers = compareIdentifiers; - var numeric = /^[0-9]+$/; + var numeric2 = /^[0-9]+$/; function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); + var anum = numeric2.test(a); + var bnum = numeric2.test(b); if (anum && bnum) { a = +a; b = +b; @@ -33207,12 +33366,12 @@ var require_semver3 = __commonJS({ function neq(a, b, loose) { return compare3(a, b, loose) !== 0; } - exports2.gte = gte6; - function gte6(a, b, loose) { + exports2.gte = gte7; + function gte7(a, b, loose) { return compare3(a, b, loose) >= 0; } - exports2.lte = lte; - function lte(a, b, loose) { + exports2.lte = lte2; + function lte2(a, b, loose) { return compare3(a, b, loose) <= 0; } exports2.cmp = cmp; @@ -33239,11 +33398,11 @@ var require_semver3 = __commonJS({ case ">": return gt(a, b, loose); case ">=": - return gte6(a, b, loose); + return gte7(a, b, loose); case "<": return lt2(a, b, loose); case "<=": - return lte(a, b, loose); + return lte2(a, b, loose); default: throw new TypeError("Invalid operator: " + op); } @@ -33345,32 +33504,32 @@ var require_semver3 = __commonJS({ return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; }; exports2.Range = Range2; - function Range2(range, options) { + function Range2(range2, options) { if (!options || typeof options !== "object") { options = { loose: !!options, includePrerelease: false }; } - if (range instanceof Range2) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; + if (range2 instanceof Range2) { + if (range2.loose === !!options.loose && range2.includePrerelease === !!options.includePrerelease) { + return range2; } else { - return new Range2(range.raw, options); + return new Range2(range2.raw, options); } } - if (range instanceof Comparator) { - return new Range2(range.value, options); + if (range2 instanceof Comparator) { + return new Range2(range2.value, options); } if (!(this instanceof Range2)) { - return new Range2(range, options); + return new Range2(range2, options); } this.options = options; this.loose = !!options.loose; this.includePrerelease = !!options.includePrerelease; - this.raw = range.trim().split(/\s+/).join(" "); - this.set = this.raw.split("||").map(function(range2) { - return this.parseRange(range2.trim()); + this.raw = range2.trim().split(/\s+/).join(" "); + this.set = this.raw.split("||").map(function(range3) { + return this.parseRange(range3.trim()); }, this).filter(function(c) { return c.length; }); @@ -33388,18 +33547,18 @@ var require_semver3 = __commonJS({ Range2.prototype.toString = function() { return this.range; }; - Range2.prototype.parseRange = function(range) { + Range2.prototype.parseRange = function(range2) { var loose = this.options.loose; var hr = loose ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug6("hyphen replace", range); - range = range.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace); - debug6("comparator trim", range, safeRe[t.COMPARATORTRIM]); - range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace); - range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace); - range = range.split(/\s+/).join(" "); + range2 = range2.replace(hr, hyphenReplace); + debug6("hyphen replace", range2); + range2 = range2.replace(safeRe[t.COMPARATORTRIM], comparatorTrimReplace); + debug6("comparator trim", range2, safeRe[t.COMPARATORTRIM]); + range2 = range2.replace(safeRe[t.TILDETRIM], tildeTrimReplace); + range2 = range2.replace(safeRe[t.CARETTRIM], caretTrimReplace); + range2 = range2.split(/\s+/).join(" "); var compRe = loose ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR]; - var set = range.split(" ").map(function(comp) { + var set = range2.split(" ").map(function(comp) { return parseComparator(comp, this.options); }, this).join(" ").split(/\s+/); if (this.options.loose) { @@ -33412,12 +33571,12 @@ var require_semver3 = __commonJS({ }, this); return set; }; - Range2.prototype.intersects = function(range, options) { - if (!(range instanceof Range2)) { + Range2.prototype.intersects = function(range2, options) { + if (!(range2 instanceof Range2)) { throw new TypeError("a Range is required"); } return this.set.some(function(thisComparators) { - return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) { + return isSatisfiable(thisComparators, options) && range2.set.some(function(rangeComparators) { return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) { return rangeComparators.every(function(rangeComparator) { return thisComparator.intersects(rangeComparator, options); @@ -33439,8 +33598,8 @@ var require_semver3 = __commonJS({ return result; } exports2.toComparators = toComparators; - function toComparators(range, options) { - return new Range2(range, options).set.map(function(comp) { + function toComparators(range2, options) { + return new Range2(range2, options).set.map(function(comp) { return comp.map(function(c) { return c.value; }).join(" ").trim().split(" "); @@ -33662,20 +33821,20 @@ var require_semver3 = __commonJS({ return true; } exports2.satisfies = satisfies2; - function satisfies2(version, range, options) { + function satisfies2(version, range2, options) { try { - range = new Range2(range, options); + range2 = new Range2(range2, options); } catch (er) { return false; } - return range.test(version); + return range2.test(version); } exports2.maxSatisfying = maxSatisfying; - function maxSatisfying(versions, range, options) { + function maxSatisfying(versions, range2, options) { var max = null; var maxSV = null; try { - var rangeObj = new Range2(range, options); + var rangeObj = new Range2(range2, options); } catch (er) { return null; } @@ -33690,11 +33849,11 @@ var require_semver3 = __commonJS({ return max; } exports2.minSatisfying = minSatisfying; - function minSatisfying(versions, range, options) { + function minSatisfying(versions, range2, options) { var min = null; var minSV = null; try { - var rangeObj = new Range2(range, options); + var rangeObj = new Range2(range2, options); } catch (er) { return null; } @@ -33709,19 +33868,19 @@ var require_semver3 = __commonJS({ return min; } exports2.minVersion = minVersion; - function minVersion(range, loose) { - range = new Range2(range, loose); + function minVersion(range2, loose) { + range2 = new Range2(range2, loose); var minver = new SemVer("0.0.0"); - if (range.test(minver)) { + if (range2.test(minver)) { return minver; } minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { + if (range2.test(minver)) { return minver; } minver = null; - for (var i2 = 0; i2 < range.set.length; ++i2) { - var comparators = range.set[i2]; + for (var i2 = 0; i2 < range2.set.length; ++i2) { + var comparators = range2.set[i2]; comparators.forEach(function(comparator) { var compver = new SemVer(comparator.semver.version); switch (comparator.operator) { @@ -33748,43 +33907,43 @@ var require_semver3 = __commonJS({ } }); } - if (minver && range.test(minver)) { + if (minver && range2.test(minver)) { return minver; } return null; } exports2.validRange = validRange; - function validRange(range, options) { + function validRange(range2, options) { try { - return new Range2(range, options).range || "*"; + return new Range2(range2, options).range || "*"; } catch (er) { return null; } } exports2.ltr = ltr; - function ltr(version, range, options) { - return outside(version, range, "<", options); + function ltr(version, range2, options) { + return outside(version, range2, "<", options); } exports2.gtr = gtr; - function gtr(version, range, options) { - return outside(version, range, ">", options); + function gtr(version, range2, options) { + return outside(version, range2, ">", options); } exports2.outside = outside; - function outside(version, range, hilo, options) { + function outside(version, range2, hilo, options) { version = new SemVer(version, options); - range = new Range2(range, options); + range2 = new Range2(range2, options); var gtfn, ltefn, ltfn, comp, ecomp; switch (hilo) { case ">": gtfn = gt; - ltefn = lte; + ltefn = lte2; ltfn = lt2; comp = ">"; ecomp = ">="; break; case "<": gtfn = lt2; - ltefn = gte6; + ltefn = gte7; ltfn = gt; comp = "<"; ecomp = "<="; @@ -33792,11 +33951,11 @@ var require_semver3 = __commonJS({ default: throw new TypeError('Must provide a hilo val of "<" or ">"'); } - if (satisfies2(version, range, options)) { + if (satisfies2(version, range2, options)) { return false; } - for (var i2 = 0; i2 < range.set.length; ++i2) { - var comparators = range.set[i2]; + for (var i2 = 0; i2 < range2.set.length; ++i2) { + var comparators = range2.set[i2]; var high = null; var low = null; comparators.forEach(function(comparator) { @@ -33845,23 +34004,23 @@ var require_semver3 = __commonJS({ return null; } options = options || {}; - var match = null; + var match2 = null; if (!options.rtl) { - match = version.match(safeRe[t.COERCE]); + match2 = version.match(safeRe[t.COERCE]); } else { var next; - while ((next = safeRe[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; + while ((next = safeRe[t.COERCERTL].exec(version)) && (!match2 || match2.index + match2[0].length !== version.length)) { + if (!match2 || next.index + next[0].length !== match2.index + match2[0].length) { + match2 = next; } safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; } safeRe[t.COERCERTL].lastIndex = -1; } - if (match === null) { + if (match2 === null) { return null; } - return parse2(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options); + return parse2(match2[2] + "." + (match2[3] || "0") + "." + (match2[4] || "0"), options); } } }); @@ -33942,11 +34101,11 @@ var require_cacheUtils = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -33962,7 +34121,7 @@ var require_cacheUtils = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -33975,14 +34134,14 @@ var require_cacheUtils = __commonJS({ }, i); function verb(n) { i[n] = o[n] && function(v) { - return new Promise(function(resolve13, reject) { - v = o[n](v), settle(resolve13, reject, v.done, v.value); + return new Promise(function(resolve14, reject) { + v = o[n](v), settle(resolve14, reject, v.done, v.value); }); }; } - function settle(resolve13, reject, d, v) { + function settle(resolve14, reject, d, v) { Promise.resolve(v).then(function(v2) { - resolve13({ value: v2, done: d }); + resolve14({ value: v2, done: d }); }, reject); } }; @@ -33997,15 +34156,15 @@ var require_cacheUtils = __commonJS({ exports2.assertDefined = assertDefined; exports2.getCacheVersion = getCacheVersion; exports2.getRuntimeToken = getRuntimeToken; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var exec3 = __importStar2(require_exec()); var glob2 = __importStar2(require_glob()); var io9 = __importStar2(require_io()); var crypto3 = __importStar2(require("crypto")); - var fs31 = __importStar2(require("fs")); - var path29 = __importStar2(require("path")); + var fs32 = __importStar2(require("fs")); + var path30 = __importStar2(require("path")); var semver11 = __importStar2(require_semver3()); - var util = __importStar2(require("util")); + var util3 = __importStar2(require("util")); var constants_1 = require_constants7(); var versionSalt = "1.0"; function createTempDirectory() { @@ -34023,19 +34182,19 @@ var require_cacheUtils = __commonJS({ baseLocation = "/home"; } } - tempDirectory = path29.join(baseLocation, "actions", "temp"); + tempDirectory = path30.join(baseLocation, "actions", "temp"); } - const dest = path29.join(tempDirectory, crypto3.randomUUID()); + const dest = path30.join(tempDirectory, crypto3.randomUUID()); yield io9.mkdirP(dest); return dest; }); } function getArchiveFileSizeInBytes(filePath) { - return fs31.statSync(filePath).size; + return fs32.statSync(filePath).size; } function resolvePaths(patterns) { return __awaiter2(this, void 0, void 0, function* () { - var _a, e_1, _b, _c; + var _a2, e_1, _b, _c; var _d; const paths = []; const workspace = (_d = process.env["GITHUB_WORKSPACE"]) !== null && _d !== void 0 ? _d : process.cwd(); @@ -34043,12 +34202,12 @@ var require_cacheUtils = __commonJS({ implicitDescendants: false }); try { - for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) { + for (var _e = true, _f = __asyncValues2(globber.globGenerator()), _g; _g = yield _f.next(), _a2 = _g.done, !_a2; _e = true) { _c = _g.value; _e = false; const file = _c; - const relativeFile = path29.relative(workspace, file).replace(new RegExp(`\\${path29.sep}`, "g"), "/"); - core30.debug(`Matched: ${relativeFile}`); + const relativeFile = path30.relative(workspace, file).replace(new RegExp(`\\${path30.sep}`, "g"), "/"); + core31.debug(`Matched: ${relativeFile}`); if (relativeFile === "") { paths.push("."); } else { @@ -34059,7 +34218,7 @@ var require_cacheUtils = __commonJS({ e_1 = { error: e_1_1 }; } finally { try { - if (!_e && !_a && (_b = _f.return)) yield _b.call(_f); + if (!_e && !_a2 && (_b = _f.return)) yield _b.call(_f); } finally { if (e_1) throw e_1.error; } @@ -34069,14 +34228,14 @@ var require_cacheUtils = __commonJS({ } function unlinkFile(filePath) { return __awaiter2(this, void 0, void 0, function* () { - return util.promisify(fs31.unlink)(filePath); + return util3.promisify(fs32.unlink)(filePath); }); } function getVersion(app_1) { return __awaiter2(this, arguments, void 0, function* (app, additionalArgs = []) { let versionOutput = ""; additionalArgs.push("--version"); - core30.debug(`Checking ${app} ${additionalArgs.join(" ")}`); + core31.debug(`Checking ${app} ${additionalArgs.join(" ")}`); try { yield exec3.exec(`${app}`, additionalArgs, { ignoreReturnCode: true, @@ -34087,10 +34246,10 @@ var require_cacheUtils = __commonJS({ } }); } catch (err) { - core30.debug(err.message); + core31.debug(err.message); } versionOutput = versionOutput.trim(); - core30.debug(versionOutput); + core31.debug(versionOutput); return versionOutput; }); } @@ -34098,7 +34257,7 @@ var require_cacheUtils = __commonJS({ return __awaiter2(this, void 0, void 0, function* () { const versionOutput = yield getVersion("zstd", ["--quiet"]); const version = semver11.clean(versionOutput); - core30.debug(`zstd version: ${version}`); + core31.debug(`zstd version: ${version}`); if (versionOutput === "") { return constants_1.CompressionMethod.Gzip; } else { @@ -34111,7 +34270,7 @@ var require_cacheUtils = __commonJS({ } function getGnuTarPathOnWindows() { return __awaiter2(this, void 0, void 0, function* () { - if (fs31.existsSync(constants_1.GnuTarPathOnWindows)) { + if (fs32.existsSync(constants_1.GnuTarPathOnWindows)) { return constants_1.GnuTarPathOnWindows; } const versionOutput = yield getVersion("tar"); @@ -34264,11 +34423,11 @@ function __metadata(metadataKey, metadataValue) { } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -34284,7 +34443,7 @@ function __awaiter(thisArg, _arguments, P, generator) { } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -34475,14 +34634,14 @@ function __asyncValues(o) { }, i); function verb(n) { i[n] = o[n] && function(v) { - return new Promise(function(resolve13, reject) { - v = o[n](v), settle(resolve13, reject, v.done, v.value); + return new Promise(function(resolve14, reject) { + v = o[n](v), settle(resolve14, reject, v.done, v.value); }); }; } - function settle(resolve13, reject, d, v) { + function settle(resolve14, reject, d, v) { Promise.resolve(v).then(function(v2) { - resolve13({ value: v2, done: d }); + resolve14({ value: v2, done: d }); }, reject); } } @@ -34574,13 +34733,13 @@ function __disposeResources(env) { } return next(); } -function __rewriteRelativeImportExtension(path29, preserveJsx) { - if (typeof path29 === "string" && /^\.\.?\//.test(path29)) { - return path29.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) { - return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js"; +function __rewriteRelativeImportExtension(path30, preserveJsx) { + if (typeof path30 === "string" && /^\.\.?\//.test(path30)) { + return path30.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext2, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext2 || !cm) ? m : d + ext2 + "." + cm.toLowerCase() + "js"; }); } - return path29; + return path30; } var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default; var init_tslib_es6 = __esm({ @@ -34851,9 +35010,9 @@ var require_debug2 = __commonJS({ return newDebugger; } function destroy() { - const index = debuggers.indexOf(this); - if (index >= 0) { - debuggers.splice(index, 1); + const index2 = debuggers.indexOf(this); + if (index2 >= 0) { + debuggers.splice(index2, 1); return true; } return false; @@ -35654,9 +35813,9 @@ var require_nodeHttpClient = __commonJS({ if (stream2.readable === false) { return Promise.resolve(); } - return new Promise((resolve13) => { + return new Promise((resolve14) => { const handler2 = () => { - resolve13(); + resolve14(); stream2.removeListener("close", handler2); stream2.removeListener("end", handler2); stream2.removeListener("error", handler2); @@ -35811,8 +35970,8 @@ var require_nodeHttpClient = __commonJS({ headers: request3.headers.toJSON({ preserveCase: true }), ...request3.requestOverrides }; - return new Promise((resolve13, reject) => { - const req = isInsecure ? node_http_1.default.request(options, resolve13) : node_https_1.default.request(options, resolve13); + return new Promise((resolve14, reject) => { + const req = isInsecure ? node_http_1.default.request(options, resolve14) : node_https_1.default.request(options, resolve14); req.once("error", (err) => { reject(new restError_js_1.RestError(err.message, { code: err.code ?? restError_js_1.RestError.REQUEST_SEND_ERROR, request: request3 })); }); @@ -35896,7 +36055,7 @@ var require_nodeHttpClient = __commonJS({ return stream2; } function streamToText(stream2) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { const buffer = []; stream2.on("data", (chunk) => { if (Buffer.isBuffer(chunk)) { @@ -35906,7 +36065,7 @@ var require_nodeHttpClient = __commonJS({ } }); stream2.on("end", () => { - resolve13(Buffer.concat(buffer).toString("utf8")); + resolve14(Buffer.concat(buffer).toString("utf8")); }); stream2.on("error", (e) => { if (e && e?.name === "AbortError") { @@ -36184,7 +36343,7 @@ var require_helpers2 = __commonJS({ var AbortError_js_1 = require_AbortError(); var StandardAbortMessage = "The operation was aborted."; function delay2(delayInMs, value, options) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { let timer = void 0; let onAborted = void 0; const rejectOnAbort = () => { @@ -36207,7 +36366,7 @@ var require_helpers2 = __commonJS({ } timer = setTimeout(() => { removeListeners(); - resolve13(value); + resolve14(value); }, delayInMs); if (options?.abortSignal) { options.abortSignal.addEventListener("abort", onAborted); @@ -36573,14 +36732,14 @@ var require_ms = __commonJS({ if (str.length > 100) { return; } - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + var match2 = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( str ); - if (!match) { + if (!match2) { return; } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); + var n = parseFloat(match2[1]); + var type = (match2[2] || "ms").toLowerCase(); switch (type) { case "years": case "year": @@ -36664,7 +36823,7 @@ var require_ms = __commonJS({ }); // node_modules/debug/src/common.js -var require_common2 = __commonJS({ +var require_common = __commonJS({ "node_modules/debug/src/common.js"(exports2, module2) { function setup(env) { createDebug.debug = createDebug; @@ -36710,20 +36869,20 @@ var require_common2 = __commonJS({ if (typeof args[0] !== "string") { args.unshift("%O"); } - let index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { - if (match === "%%") { + let index2 = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match2, format) => { + if (match2 === "%%") { return "%"; } - index++; + index2++; const formatter = createDebug.formatters[format]; if (typeof formatter === "function") { - const val = args[index]; - match = formatter.call(self2, val); - args.splice(index, 1); - index--; + const val = args[index2]; + match2 = formatter.call(self2, val); + args.splice(index2, 1); + index2--; } - return match; + return match2; }); createDebug.formatArgs.call(self2, args); const logFn = self2.log || createDebug.log; @@ -36956,15 +37115,15 @@ var require_browser = __commonJS({ } const c = "color: " + this.color; args.splice(1, 0, c, "color: inherit"); - let index = 0; + let index2 = 0; let lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { + args[0].replace(/%[a-zA-Z%]/g, (match2) => { + if (match2 === "%%") { return; } - index++; - if (match === "%c") { - lastC = index; + index2++; + if (match2 === "%c") { + lastC = index2; } }); args.splice(lastC, 0, c); @@ -36998,7 +37157,7 @@ var require_browser = __commonJS({ } catch (error3) { } } - module2.exports = require_common2()(exports2); + module2.exports = require_common()(exports2); var { formatters } = module2.exports; formatters.j = function(v) { try { @@ -37129,14 +37288,14 @@ var require_supports_color = __commonJS({ var require_node = __commonJS({ "node_modules/debug/src/node.js"(exports2, module2) { var tty = require("tty"); - var util = require("util"); - exports2.init = init; + var util3 = require("util"); + exports2.init = init2; exports2.log = log; exports2.formatArgs = formatArgs; exports2.save = save; exports2.load = load2; exports2.useColors = useColors; - exports2.destroy = util.deprecate( + exports2.destroy = util3.deprecate( () => { }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." @@ -37267,7 +37426,7 @@ var require_node = __commonJS({ return (/* @__PURE__ */ new Date()).toISOString() + " "; } function log(...args) { - return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n"); + return process.stderr.write(util3.formatWithOptions(exports2.inspectOpts, ...args) + "\n"); } function save(namespaces) { if (namespaces) { @@ -37279,22 +37438,22 @@ var require_node = __commonJS({ function load2() { return process.env.DEBUG; } - function init(debug6) { + function init2(debug6) { debug6.inspectOpts = {}; const keys = Object.keys(exports2.inspectOpts); for (let i = 0; i < keys.length; i++) { debug6.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]]; } } - module2.exports = require_common2()(exports2); + module2.exports = require_common()(exports2); var { formatters } = module2.exports; formatters.o = function(v) { this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + return util3.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); }; formatters.O = function(v) { this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); + return util3.inspect(v, this.inspectOpts); }; } }); @@ -37370,8 +37529,8 @@ var require_helpers3 = __commonJS({ function req(url2, opts = {}) { const href = typeof url2 === "string" ? url2 : url2.href; const req2 = (href.startsWith("https:") ? https3 : http).request(url2, opts); - const promise = new Promise((resolve13, reject) => { - req2.once("response", resolve13).once("error", reject).end(); + const promise = new Promise((resolve14, reject) => { + req2.once("response", resolve14).once("error", reject).end(); }); req2.then = promise.then.bind(promise); return req2; @@ -37466,9 +37625,9 @@ var require_dist = __commonJS({ return; } const sockets = this.sockets[name]; - const index = sockets.indexOf(socket); - if (index !== -1) { - sockets.splice(index, 1); + const index2 = sockets.indexOf(socket); + if (index2 !== -1) { + sockets.splice(index2, 1); this.totalSocketCount--; if (sockets.length === 0) { delete this.sockets[name]; @@ -37548,7 +37707,7 @@ var require_parse_proxy_response = __commonJS({ var debug_1 = __importDefault2(require_src()); var debug6 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response"); function parseProxyResponse(socket) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { let buffersLength = 0; const buffers = []; function read() { @@ -37614,7 +37773,7 @@ var require_parse_proxy_response = __commonJS({ } debug6("got proxy server response: %o %o", firstLine, headers); cleanup(); - resolve13({ + resolve14({ connect: { statusCode, statusText, @@ -38994,8 +39153,8 @@ var require_getClient = __commonJS({ } const { allowInsecureConnection, httpClient } = clientOptions; const endpointUrl = clientOptions.endpoint ?? endpoint2; - const client = (path29, ...args) => { - const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path29, args, { allowInsecureConnection, ...requestOptions }); + const client = (path30, ...args) => { + const getUrl = (requestOptions) => (0, urlHelpers_js_1.buildRequestUrl)(endpointUrl, path30, args, { allowInsecureConnection, ...requestOptions }); return { get: (requestOptions = {}) => { return buildOperation("GET", getUrl(requestOptions), pipeline, requestOptions, allowInsecureConnection, httpClient); @@ -39700,7 +39859,7 @@ var require_createAbortablePromise = __commonJS({ var abort_controller_1 = require_commonjs3(); function createAbortablePromise(buildPromise, options) { const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {}; - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { function rejectOnAbort() { reject(new abort_controller_1.AbortError(abortErrorMsg ?? "The operation was aborted.")); } @@ -39718,7 +39877,7 @@ var require_createAbortablePromise = __commonJS({ try { buildPromise((x) => { removeListeners(); - resolve13(x); + resolve14(x); }, (x) => { removeListeners(); reject(x); @@ -39745,8 +39904,8 @@ var require_delay2 = __commonJS({ function delay2(timeInMs, options) { let token; const { abortSignal, abortErrorMsg } = options ?? {}; - return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve13) => { - token = setTimeout(resolve13, timeInMs); + return (0, createAbortablePromise_js_1.createAbortablePromise)((resolve14) => { + token = setTimeout(resolve14, timeInMs); }, { cleanupBeforeAbort: () => clearTimeout(token), abortSignal, @@ -40951,10 +41110,10 @@ var require_bearerTokenAuthenticationPolicy = __commonJS({ const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g; const paramRegex = /(\w+)="([^"]*)"/g; const parsedChallenges = []; - let match; - while ((match = challengeRegex.exec(challenges)) !== null) { - const scheme = match[1]; - const paramsString = match[2]; + let match2; + while ((match2 = challengeRegex.exec(challenges)) !== null) { + const scheme = match2[1]; + const paramsString = match2[2]; const params = {}; let paramMatch; while ((paramMatch = paramRegex.exec(paramsString)) !== null) { @@ -41670,7 +41829,7 @@ var require_serializer = __commonJS({ * * @returns A valid serialized Javascript object */ - serialize(mapper, object2, objectName, options = { xml: {} }) { + serialize(mapper, object, objectName, options = { xml: {} }) { const updatedOptions = { xml: { rootName: options.xml.rootName ?? "", @@ -41687,40 +41846,40 @@ var require_serializer = __commonJS({ payload = []; } if (mapper.isConstant) { - object2 = mapper.defaultValue; + object = mapper.defaultValue; } const { required, nullable } = mapper; - if (required && nullable && object2 === void 0) { + if (required && nullable && object === void 0) { throw new Error(`${objectName} cannot be undefined.`); } - if (required && !nullable && (object2 === void 0 || object2 === null)) { + if (required && !nullable && (object === void 0 || object === null)) { throw new Error(`${objectName} cannot be null or undefined.`); } - if (!required && nullable === false && object2 === null) { + if (!required && nullable === false && object === null) { throw new Error(`${objectName} cannot be null.`); } - if (object2 === void 0 || object2 === null) { - payload = object2; + if (object === void 0 || object === null) { + payload = object; } else { if (mapperType.match(/^any$/i) !== null) { - payload = object2; + payload = object; } else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) { - payload = serializeBasicTypes(mapperType, objectName, object2); + payload = serializeBasicTypes(mapperType, objectName, object); } else if (mapperType.match(/^Enum$/i) !== null) { const enumMapper = mapper; - payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object2); + payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object); } else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) { - payload = serializeDateTypes(mapperType, object2, objectName); + payload = serializeDateTypes(mapperType, object, objectName); } else if (mapperType.match(/^ByteArray$/i) !== null) { - payload = serializeByteArrayType(objectName, object2); + payload = serializeByteArrayType(objectName, object); } else if (mapperType.match(/^Base64Url$/i) !== null) { - payload = serializeBase64UrlType(objectName, object2); + payload = serializeBase64UrlType(objectName, object); } else if (mapperType.match(/^Sequence$/i) !== null) { - payload = serializeSequenceType(this, mapper, object2, objectName, Boolean(this.isXML), updatedOptions); + payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions); } else if (mapperType.match(/^Dictionary$/i) !== null) { - payload = serializeDictionaryType(this, mapper, object2, objectName, Boolean(this.isXML), updatedOptions); + payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions); } else if (mapperType.match(/^Composite$/i) !== null) { - payload = serializeCompositeType(this, mapper, object2, objectName, Boolean(this.isXML), updatedOptions); + payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions); } } return payload; @@ -41960,8 +42119,8 @@ var require_serializer = __commonJS({ } return value; } - function serializeSequenceType(serializer, mapper, object2, objectName, isXml, options) { - if (!Array.isArray(object2)) { + function serializeSequenceType(serializer, mapper, object, objectName, isXml, options) { + if (!Array.isArray(object)) { throw new Error(`${objectName} must be of type Array.`); } let elementType = mapper.type.element; @@ -41972,8 +42131,8 @@ var require_serializer = __commonJS({ elementType = serializer.modelMappers[elementType.type.className] ?? elementType; } const tempArray = []; - for (let i = 0; i < object2.length; i++) { - const serializedValue = serializer.serialize(elementType, object2[i], objectName, options); + for (let i = 0; i < object.length; i++) { + const serializedValue = serializer.serialize(elementType, object[i], objectName, options); if (isXml && elementType.xmlNamespace) { const xmlnsKey = elementType.xmlNamespacePrefix ? `xmlns:${elementType.xmlNamespacePrefix}` : "xmlns"; if (elementType.type.name === "Composite") { @@ -41990,8 +42149,8 @@ var require_serializer = __commonJS({ } return tempArray; } - function serializeDictionaryType(serializer, mapper, object2, objectName, isXml, options) { - if (typeof object2 !== "object") { + function serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) { + if (typeof object !== "object") { throw new Error(`${objectName} must be of type object.`); } const valueType = mapper.type.value; @@ -41999,8 +42158,8 @@ var require_serializer = __commonJS({ throw new Error(`"value" metadata for a Dictionary must be defined in the mapper and it must of type "object" in ${objectName}.`); } const tempDictionary = {}; - for (const key of Object.keys(object2)) { - const serializedValue = serializer.serialize(valueType, object2[key], objectName, options); + for (const key of Object.keys(object)) { + const serializedValue = serializer.serialize(valueType, object[key], objectName, options); tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options); } if (isXml && mapper.xmlNamespace) { @@ -42040,11 +42199,11 @@ var require_serializer = __commonJS({ } return modelProps; } - function serializeCompositeType(serializer, mapper, object2, objectName, isXml, options) { + function serializeCompositeType(serializer, mapper, object, objectName, isXml, options) { if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) { - mapper = getPolymorphicMapper(serializer, mapper, object2, "clientName"); + mapper = getPolymorphicMapper(serializer, mapper, object, "clientName"); } - if (object2 !== void 0 && object2 !== null) { + if (object !== void 0 && object !== null) { const payload = {}; const modelProps = resolveModelProperties(serializer, mapper, objectName); for (const key of Object.keys(modelProps)) { @@ -42065,7 +42224,7 @@ var require_serializer = __commonJS({ propName = paths.pop(); for (const pathName of paths) { const childObject = parentObject[pathName]; - if ((childObject === void 0 || childObject === null) && (object2[key] !== void 0 && object2[key] !== null || propertyMapper.defaultValue !== void 0)) { + if ((childObject === void 0 || childObject === null) && (object[key] !== void 0 && object[key] !== null || propertyMapper.defaultValue !== void 0)) { parentObject[pathName] = {}; } parentObject = parentObject[pathName]; @@ -42080,7 +42239,7 @@ var require_serializer = __commonJS({ }; } const propertyObjectName = propertyMapper.serializedName !== "" ? objectName + "." + propertyMapper.serializedName : objectName; - let toSerialize = object2[key]; + let toSerialize = object[key]; const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper); if (polymorphicDiscriminator && polymorphicDiscriminator.clientName === key && (toSerialize === void 0 || toSerialize === null)) { toSerialize = mapper.serializedName; @@ -42102,16 +42261,16 @@ var require_serializer = __commonJS({ const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName); if (additionalPropertiesMapper) { const propNames = Object.keys(modelProps); - for (const clientPropName in object2) { + for (const clientPropName in object) { const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName); if (isAdditionalProperty) { - payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object2[clientPropName], objectName + '["' + clientPropName + '"]', options); + payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '["' + clientPropName + '"]', options); } } } return payload; } - return object2; + return object; } function getXmlObjectValue(propertyMapper, serializedValue, isXml, options) { if (!isXml || !propertyMapper.xmlNamespace) { @@ -42295,7 +42454,7 @@ var require_serializer = __commonJS({ } return void 0; } - function getPolymorphicMapper(serializer, mapper, object2, polymorphicPropertyName) { + function getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) { const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper); if (polymorphicDiscriminator) { let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName]; @@ -42303,7 +42462,7 @@ var require_serializer = __commonJS({ if (polymorphicPropertyName === "serializedName") { discriminatorName = discriminatorName.replace(/\\/gi, ""); } - const discriminatorValue = object2[discriminatorName]; + const discriminatorValue = object[discriminatorName]; const typeName = mapper.type.uberParent ?? mapper.type.className; if (typeof discriminatorValue === "string" && typeName) { const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName); @@ -42747,13 +42906,13 @@ var require_serializationPolicy = __commonJS({ if (request3.body !== void 0 && request3.body !== null || nullable && request3.body === null || required) { const requestBodyParameterPathString = (0, interfaceHelpers_js_1.getPathStringFromParameter)(operationSpec.requestBody); request3.body = operationSpec.serializer.serialize(bodyMapper, request3.body, requestBodyParameterPathString, updatedOptions); - const isStream = typeName === serializer_js_1.MapperTypeNames.Stream; + const isStream2 = typeName === serializer_js_1.MapperTypeNames.Stream; if (operationSpec.isXML) { const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns"; const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request3.body, updatedOptions); if (typeName === serializer_js_1.MapperTypeNames.Sequence) { request3.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey }); - } else if (!isStream) { + } else if (!isStream2) { request3.body = stringifyXML(value, { rootName: xmlName || serializedName, xmlCharKey @@ -42761,7 +42920,7 @@ var require_serializationPolicy = __commonJS({ } } else if (typeName === serializer_js_1.MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) { return; - } else if (!isStream) { + } else if (!isStream2) { request3.body = JSON.stringify(request3.body); } } @@ -42866,15 +43025,15 @@ var require_urlHelpers2 = __commonJS({ let isAbsolutePath = false; let requestUrl = replaceAll(baseUri, urlReplacements); if (operationSpec.path) { - let path29 = replaceAll(operationSpec.path, urlReplacements); - if (operationSpec.path === "/{nextLink}" && path29.startsWith("/")) { - path29 = path29.substring(1); + let path30 = replaceAll(operationSpec.path, urlReplacements); + if (operationSpec.path === "/{nextLink}" && path30.startsWith("/")) { + path30 = path30.substring(1); } - if (isAbsoluteUrl(path29)) { - requestUrl = path29; + if (isAbsoluteUrl(path30)) { + requestUrl = path30; isAbsolutePath = true; } else { - requestUrl = appendPath(requestUrl, path29); + requestUrl = appendPath(requestUrl, path30); } } const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject); @@ -42920,9 +43079,9 @@ var require_urlHelpers2 = __commonJS({ } const searchStart = pathToAppend.indexOf("?"); if (searchStart !== -1) { - const path29 = pathToAppend.substring(0, searchStart); + const path30 = pathToAppend.substring(0, searchStart); const search = pathToAppend.substring(searchStart + 1); - newPath = newPath + path29; + newPath = newPath + path30; if (search) { parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search; } @@ -45418,17 +45577,17 @@ var require_xml = __commonJS({ var fast_xml_parser_1 = require_fxp(); var xml_common_js_1 = require_xml_common(); function getCommonOptions(options) { - var _a; + var _a2; return { attributesGroupName: xml_common_js_1.XML_ATTRKEY, - textNodeName: (_a = options.xmlCharKey) !== null && _a !== void 0 ? _a : xml_common_js_1.XML_CHARKEY, + textNodeName: (_a2 = options.xmlCharKey) !== null && _a2 !== void 0 ? _a2 : xml_common_js_1.XML_CHARKEY, ignoreAttributes: false, suppressBooleanAttributes: false }; } function getSerializerOptions(options = {}) { - var _a, _b; - return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a = options.rootName) !== null && _a !== void 0 ? _a : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" }); + var _a2, _b; + return Object.assign(Object.assign({}, getCommonOptions(options)), { attributeNamePrefix: "@_", format: true, suppressEmptyNode: true, indentBy: "", rootNodeName: (_a2 = options.rootName) !== null && _a2 !== void 0 ? _a2 : "root", cdataPropName: (_b = options.cdataPropName) !== null && _b !== void 0 ? _b : "__cdata" }); } function getParserOptions(options = {}) { return Object.assign(Object.assign({}, getCommonOptions(options)), { parseAttributeValue: false, parseTagValue: false, attributeNamePrefix: "", stopNodes: options.stopNodes, processEntities: true, trimValues: false }); @@ -45814,7 +45973,7 @@ var require_utils_common = __commonJS({ exports2.base64decode = base64decode; exports2.generateBlockID = generateBlockID; exports2.delay = delay2; - exports2.padStart = padStart; + exports2.padStart = padStart2; exports2.sanitizeURL = sanitizeURL; exports2.sanitizeHeaders = sanitizeHeaders; exports2.iEqual = iEqual; @@ -45838,10 +45997,10 @@ var require_utils_common = __commonJS({ var constants_js_1 = require_constants10(); function escapeURLPath(url2) { const urlParsed = new URL(url2); - let path29 = urlParsed.pathname; - path29 = path29 || "/"; - path29 = escape2(path29); - urlParsed.pathname = path29; + let path30 = urlParsed.pathname; + path30 = path30 || "/"; + path30 = escape3(path30); + urlParsed.pathname = path30; return urlParsed.toString(); } function getProxyUriFromDevConnString(connectionString) { @@ -45921,14 +46080,14 @@ var require_utils_common = __commonJS({ return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas }; } } - function escape2(text) { + function escape3(text) { return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%"); } function appendToURLPath(url2, name) { const urlParsed = new URL(url2); - let path29 = urlParsed.pathname; - path29 = path29 ? path29.endsWith("/") ? `${path29}${name}` : `${path29}/${name}` : name; - urlParsed.pathname = path29; + let path30 = urlParsed.pathname; + path30 = path30 ? path30.endsWith("/") ? `${path30}${name}` : `${path30}/${name}` : name; + urlParsed.pathname = path30; return urlParsed.toString(); } function setURLParameter(url2, name, value) { @@ -46039,11 +46198,11 @@ var require_utils_common = __commonJS({ if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) { blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength); } - const res = blockIDPrefix + padStart(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0"); + const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0"); return base64encode(res); } async function delay2(timeInMs, aborter, abortError) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { let timeout; const abortHandler = () => { if (timeout !== void 0) { @@ -46055,7 +46214,7 @@ var require_utils_common = __commonJS({ if (aborter !== void 0) { aborter.removeEventListener("abort", abortHandler); } - resolve13(); + resolve14(); }; timeout = setTimeout(resolveHandler, timeInMs); if (aborter !== void 0) { @@ -46063,7 +46222,7 @@ var require_utils_common = __commonJS({ } }); } - function padStart(currentString, targetLength, padString = " ") { + function padStart2(currentString, targetLength, padString = " ") { if (String.prototype.padStart) { return currentString.padStart(targetLength, padString); } @@ -47136,8 +47295,8 @@ var require_StorageSharedKeyCredentialPolicy = __commonJS({ headersArray.sort((a, b) => { return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase()); }); - headersArray = headersArray.filter((value, index, array) => { - if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) { + headersArray = headersArray.filter((value, index2, array) => { + if (index2 > 0 && value.name.toLowerCase() === array[index2 - 1].name.toLowerCase()) { return false; } return true; @@ -47155,9 +47314,9 @@ var require_StorageSharedKeyCredentialPolicy = __commonJS({ * @param request - */ getCanonicalizedResourceString(request3) { - const path29 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; + const path30 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; let canonicalizedResourceString = ""; - canonicalizedResourceString += `/${this.factory.accountName}${path29}`; + canonicalizedResourceString += `/${this.factory.accountName}${path30}`; const queries = (0, utils_common_js_1.getURLQueries)(request3.url); const lowercaseQueries = {}; if (queries) { @@ -47596,7 +47755,7 @@ var require_BufferScheduler = __commonJS({ * */ async do() { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { this.readable.on("data", (data) => { data = typeof data === "string" ? Buffer.from(data, this.encoding) : data; this.appendUnresolvedData(data); @@ -47624,11 +47783,11 @@ var require_BufferScheduler = __commonJS({ if (this.isStreamEnd && this.executingOutgoingHandlers === 0) { if (this.unresolvedLength > 0 && this.unresolvedLength < this.bufferSize) { const buffer = this.shiftBufferFromUnresolvedDataArray(); - this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve13).catch(reject); + this.outgoingHandler(() => buffer.getReadableStream(), buffer.size, this.offset).then(resolve14).catch(reject); } else if (this.unresolvedLength >= this.bufferSize) { return; } else { - resolve13(); + resolve14(); } } }); @@ -47881,7 +48040,7 @@ var require_utils_common2 = __commonJS({ exports2.base64decode = base64decode; exports2.generateBlockID = generateBlockID; exports2.delay = delay2; - exports2.padStart = padStart; + exports2.padStart = padStart2; exports2.sanitizeURL = sanitizeURL; exports2.sanitizeHeaders = sanitizeHeaders; exports2.iEqual = iEqual; @@ -47896,10 +48055,10 @@ var require_utils_common2 = __commonJS({ var constants_js_1 = require_constants11(); function escapeURLPath(url2) { const urlParsed = new URL(url2); - let path29 = urlParsed.pathname; - path29 = path29 || "/"; - path29 = escape2(path29); - urlParsed.pathname = path29; + let path30 = urlParsed.pathname; + path30 = path30 || "/"; + path30 = escape3(path30); + urlParsed.pathname = path30; return urlParsed.toString(); } function getProxyUriFromDevConnString(connectionString) { @@ -47979,14 +48138,14 @@ var require_utils_common2 = __commonJS({ return { kind: "SASConnString", url: blobEndpoint, accountName, accountSas }; } } - function escape2(text) { + function escape3(text) { return encodeURIComponent(text).replace(/%2F/g, "/").replace(/'/g, "%27").replace(/\+/g, "%20").replace(/%25/g, "%"); } function appendToURLPath(url2, name) { const urlParsed = new URL(url2); - let path29 = urlParsed.pathname; - path29 = path29 ? path29.endsWith("/") ? `${path29}${name}` : `${path29}/${name}` : name; - urlParsed.pathname = path29; + let path30 = urlParsed.pathname; + path30 = path30 ? path30.endsWith("/") ? `${path30}${name}` : `${path30}/${name}` : name; + urlParsed.pathname = path30; return urlParsed.toString(); } function setURLParameter(url2, name, value) { @@ -48097,11 +48256,11 @@ var require_utils_common2 = __commonJS({ if (blockIDPrefix.length > maxAllowedBlockIDPrefixLength) { blockIDPrefix = blockIDPrefix.slice(0, maxAllowedBlockIDPrefixLength); } - const res = blockIDPrefix + padStart(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0"); + const res = blockIDPrefix + padStart2(blockIndex.toString(), maxSourceStringLength - blockIDPrefix.length, "0"); return base64encode(res); } async function delay2(timeInMs, aborter, abortError) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { let timeout; const abortHandler = () => { if (timeout !== void 0) { @@ -48113,7 +48272,7 @@ var require_utils_common2 = __commonJS({ if (aborter !== void 0) { aborter.removeEventListener("abort", abortHandler); } - resolve13(); + resolve14(); }; timeout = setTimeout(resolveHandler, timeInMs); if (aborter !== void 0) { @@ -48121,7 +48280,7 @@ var require_utils_common2 = __commonJS({ } }); } - function padStart(currentString, targetLength, padString = " ") { + function padStart2(currentString, targetLength, padString = " ") { if (String.prototype.padStart) { return currentString.padStart(targetLength, padString); } @@ -48888,8 +49047,8 @@ var require_StorageSharedKeyCredentialPolicy2 = __commonJS({ headersArray.sort((a, b) => { return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase()); }); - headersArray = headersArray.filter((value, index, array) => { - if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) { + headersArray = headersArray.filter((value, index2, array) => { + if (index2 > 0 && value.name.toLowerCase() === array[index2 - 1].name.toLowerCase()) { return false; } return true; @@ -48907,9 +49066,9 @@ var require_StorageSharedKeyCredentialPolicy2 = __commonJS({ * @param request - */ getCanonicalizedResourceString(request3) { - const path29 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; + const path30 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; let canonicalizedResourceString = ""; - canonicalizedResourceString += `/${this.factory.accountName}${path29}`; + canonicalizedResourceString += `/${this.factory.accountName}${path30}`; const queries = (0, utils_common_js_1.getURLQueries)(request3.url); const lowercaseQueries = {}; if (queries) { @@ -49525,8 +49684,8 @@ var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({ headersArray.sort((a, b) => { return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase()); }); - headersArray = headersArray.filter((value, index, array) => { - if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) { + headersArray = headersArray.filter((value, index2, array) => { + if (index2 > 0 && value.name.toLowerCase() === array[index2 - 1].name.toLowerCase()) { return false; } return true; @@ -49539,9 +49698,9 @@ var require_StorageSharedKeyCredentialPolicyV2 = __commonJS({ return canonicalizedHeadersStringToSign; } function getCanonicalizedResourceString(request3) { - const path29 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; + const path30 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; let canonicalizedResourceString = ""; - canonicalizedResourceString += `/${options.accountName}${path29}`; + canonicalizedResourceString += `/${options.accountName}${path30}`; const queries = (0, utils_common_js_1.getURLQueries)(request3.url); const lowercaseQueries = {}; if (queries) { @@ -49872,8 +50031,8 @@ var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({ headersArray.sort((a, b) => { return (0, SharedKeyComparator_js_1.compareHeader)(a.name.toLowerCase(), b.name.toLowerCase()); }); - headersArray = headersArray.filter((value, index, array) => { - if (index > 0 && value.name.toLowerCase() === array[index - 1].name.toLowerCase()) { + headersArray = headersArray.filter((value, index2, array) => { + if (index2 > 0 && value.name.toLowerCase() === array[index2 - 1].name.toLowerCase()) { return false; } return true; @@ -49886,9 +50045,9 @@ var require_StorageSharedKeyCredentialPolicyV22 = __commonJS({ return canonicalizedHeadersStringToSign; } function getCanonicalizedResourceString(request3) { - const path29 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; + const path30 = (0, utils_common_js_1.getURLPath)(request3.url) || "/"; let canonicalizedResourceString = ""; - canonicalizedResourceString += `/${options.accountName}${path29}`; + canonicalizedResourceString += `/${options.accountName}${path30}`; const queries = (0, utils_common_js_1.getURLQueries)(request3.url); const lowercaseQueries = {}; if (queries) { @@ -62499,8 +62658,8 @@ var require_pageBlob = __commonJS({ * aligned and range-end is required. * @param options The options parameters. */ - uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range, options) { - return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range, options }, uploadPagesFromURLOperationSpec); + uploadPagesFromURL(sourceUrl, sourceRange, contentLength, range2, options) { + return this.client.sendOperationRequest({ sourceUrl, sourceRange, contentLength, range: range2, options }, uploadPagesFromURLOperationSpec); } /** * The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a @@ -63546,13 +63705,13 @@ var require_storageClient = __commonJS({ if (!options) { options = {}; } - const defaults = { + const defaults2 = { requestContentType: "application/json; charset=utf-8" }; const packageDetails = `azsdk-js-azure-storage-blob/12.29.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; const optionsWithDefaults = { - ...defaults, + ...defaults2, ...options, userAgentOptions: { userAgentPrefix @@ -66311,7 +66470,7 @@ var require_AvroReadableFromStream = __commonJS({ this._position += chunk.length; return this.toUint8Array(chunk); } else { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { const cleanUp = () => { this._readable.removeListener("readable", readableCallback); this._readable.removeListener("error", rejectCallback); @@ -66326,7 +66485,7 @@ var require_AvroReadableFromStream = __commonJS({ if (callbackChunk) { this._position += callbackChunk.length; cleanUp(); - resolve13(this.toUint8Array(callbackChunk)); + resolve14(this.toUint8Array(callbackChunk)); } }; const rejectCallback = () => { @@ -67055,8 +67214,8 @@ var require_operation = __commonJS({ return processResult ? processResult(response, state) : response; } async function initOperation(inputs) { - const { init, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs; - const { operationLocation, resourceLocation, metadata, response } = await init(); + const { init: init2, stateProxy, processResult, getOperationStatus, withOperationLocation, setErrorAsResult } = inputs; + const { operationLocation, resourceLocation, metadata, response } = await init2(); if (operationLocation) withOperationLocation === null || withOperationLocation === void 0 ? void 0 : withOperationLocation(operationLocation, false); const config = { @@ -67159,7 +67318,7 @@ var require_operation2 = __commonJS({ return rawResponse.headers["azure-asyncoperation"]; } function findResourceLocation(inputs) { - var _a; + var _a2; const { location, requestMethod, requestPath, resourceLocationConfig } = inputs; switch (requestMethod) { case "PUT": { @@ -67169,7 +67328,7 @@ var require_operation2 = __commonJS({ return void 0; } case "PATCH": { - return (_a = getDefault()) !== null && _a !== void 0 ? _a : requestPath; + return (_a2 = getDefault()) !== null && _a2 !== void 0 ? _a2 : requestPath; } default: { return getDefault(); @@ -67251,13 +67410,13 @@ var require_operation2 = __commonJS({ } } function getStatus(rawResponse) { - var _a; - const { status } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; + var _a2; + const { status } = (_a2 = rawResponse.body) !== null && _a2 !== void 0 ? _a2 : {}; return transformStatus({ status, statusCode: rawResponse.statusCode }); } function getProvisioningState(rawResponse) { - var _a, _b; - const { properties, provisioningState } = (_a = rawResponse.body) !== null && _a !== void 0 ? _a : {}; + var _a2, _b; + const { properties, provisioningState } = (_a2 = rawResponse.body) !== null && _a2 !== void 0 ? _a2 : {}; const status = (_b = properties === null || properties === void 0 ? void 0 : properties.provisioningState) !== null && _b !== void 0 ? _b : provisioningState; return transformStatus({ status, statusCode: rawResponse.statusCode }); } @@ -67303,8 +67462,8 @@ var require_operation2 = __commonJS({ function getStatusFromInitialResponse(inputs) { const { response, state, operationLocation } = inputs; function helper() { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + var _a2; + const mode = (_a2 = state.config.metadata) === null || _a2 === void 0 ? void 0 : _a2["mode"]; switch (mode) { case void 0: return toOperationStatus(response.rawResponse.statusCode); @@ -67339,8 +67498,8 @@ var require_operation2 = __commonJS({ } exports2.initHttpOperation = initHttpOperation; function getOperationLocation({ rawResponse }, state) { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + var _a2; + const mode = (_a2 = state.config.metadata) === null || _a2 === void 0 ? void 0 : _a2["mode"]; switch (mode) { case "OperationLocation": { return getOperationLocationPollingUrl({ @@ -67359,8 +67518,8 @@ var require_operation2 = __commonJS({ } exports2.getOperationLocation = getOperationLocation; function getOperationStatus({ rawResponse }, state) { - var _a; - const mode = (_a = state.config.metadata) === null || _a === void 0 ? void 0 : _a["mode"]; + var _a2; + const mode = (_a2 = state.config.metadata) === null || _a2 === void 0 ? void 0 : _a2["mode"]; switch (mode) { case "OperationLocation": { return getStatus(rawResponse); @@ -67377,8 +67536,8 @@ var require_operation2 = __commonJS({ } exports2.getOperationStatus = getOperationStatus; function accessBodyProperty({ flatResponse, rawResponse }, prop) { - var _a, _b; - return (_a = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a !== void 0 ? _a : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop]; + var _a2, _b; + return (_a2 = flatResponse === null || flatResponse === void 0 ? void 0 : flatResponse[prop]) !== null && _a2 !== void 0 ? _a2 : (_b = rawResponse.body) === null || _b === void 0 ? void 0 : _b[prop]; } function getResourceLocation(res, state) { const loc = accessBodyProperty(res, "resourceLocation"); @@ -67450,7 +67609,7 @@ var require_poller = __commonJS({ }); function buildCreatePoller(inputs) { const { getOperationLocation, getStatusFromInitialResponse, getStatusFromPollResponse, isOperationError, getResourceLocation, getPollingInterval, getError, resolveOnUnsuccessful } = inputs; - return async ({ init, poll }, options) => { + return async ({ init: init2, poll }, options) => { const { processResult, updateState, withOperationLocation: withOperationLocationCallback, intervalInMs = constants_js_1.POLL_INTERVAL_IN_MS, restoreFrom } = options || {}; const stateProxy = createStateProxy(); const withOperationLocation = withOperationLocationCallback ? /* @__PURE__ */ (() => { @@ -67464,7 +67623,7 @@ var require_poller = __commonJS({ }; })() : void 0; const state = restoreFrom ? (0, operation_js_1.deserializeState)(restoreFrom) : await (0, operation_js_1.initOperation)({ - init, + init: init2, stateProxy, processResult, getOperationStatus: getStatusFromInitialResponse, @@ -67665,7 +67824,7 @@ var require_operation3 = __commonJS({ this.pollerConfig = pollerConfig; } async update(options) { - var _a; + var _a2; const stateProxy = createStateProxy(); if (!this.state.isStarted) { this.state = Object.assign(Object.assign({}, this.state), await (0, operation_js_1.initHttpOperation)({ @@ -67693,7 +67852,7 @@ var require_operation3 = __commonJS({ setErrorAsResult: this.setErrorAsResult }); } - (_a = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a === void 0 ? void 0 : _a.call(options, this.state); + (_a2 = options === null || options === void 0 ? void 0 : options.fireProgress) === null || _a2 === void 0 ? void 0 : _a2.call(options, this.state); return this; } async cancel() { @@ -67806,8 +67965,8 @@ var require_poller3 = __commonJS({ this.stopped = true; this.pollProgressCallbacks = []; this.operation = operation; - this.promise = new Promise((resolve13, reject) => { - this.resolve = resolve13; + this.promise = new Promise((resolve14, reject) => { + this.resolve = resolve14; this.reject = reject; }); this.promise.catch(() => { @@ -68060,7 +68219,7 @@ var require_lroEngine = __commonJS({ * The method used by the poller to wait before attempting to update its operation. */ delay() { - return new Promise((resolve13) => setTimeout(() => resolve13(), this.config.intervalInMs)); + return new Promise((resolve14) => setTimeout(() => resolve14(), this.config.intervalInMs)); } }; exports2.LroEngine = LroEngine; @@ -68306,8 +68465,8 @@ var require_Batch = __commonJS({ return Promise.resolve(); } this.parallelExecute(); - return new Promise((resolve13, reject) => { - this.emitter.on("finish", resolve13); + return new Promise((resolve14, reject) => { + this.emitter.on("finish", resolve14); this.emitter.on("error", (error3) => { this.state = BatchStates.Error; reject(error3); @@ -68368,12 +68527,12 @@ var require_utils6 = __commonJS({ async function streamToBuffer(stream2, buffer, offset, end, encoding) { let pos = 0; const count = end - offset; - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { const timeout = setTimeout(() => reject(new Error(`The operation cannot be completed in timeout.`)), constants_js_1.REQUEST_TIMEOUT); stream2.on("readable", () => { if (pos >= count) { clearTimeout(timeout); - resolve13(); + resolve14(); return; } let chunk = stream2.read(); @@ -68392,7 +68551,7 @@ var require_utils6 = __commonJS({ if (pos < count) { reject(new Error(`Stream drains before getting enough data needed. Data read: ${pos}, data need: ${count}`)); } - resolve13(); + resolve14(); }); stream2.on("error", (msg) => { clearTimeout(timeout); @@ -68403,7 +68562,7 @@ var require_utils6 = __commonJS({ async function streamToBuffer2(stream2, buffer, encoding) { let pos = 0; const bufferSize = buffer.length; - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { stream2.on("readable", () => { let chunk = stream2.read(); if (!chunk) { @@ -68420,25 +68579,25 @@ var require_utils6 = __commonJS({ pos += chunk.length; }); stream2.on("end", () => { - resolve13(pos); + resolve14(pos); }); stream2.on("error", reject); }); } async function streamToBuffer3(readableStream, encoding) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { const chunks = []; readableStream.on("data", (data) => { chunks.push(typeof data === "string" ? Buffer.from(data, encoding) : data); }); readableStream.on("end", () => { - resolve13(Buffer.concat(chunks)); + resolve14(Buffer.concat(chunks)); }); readableStream.on("error", reject); }); } async function readStreamToLocalFile(rs, file) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { const ws = node_fs_1.default.createWriteStream(file); rs.on("error", (err) => { reject(err); @@ -68446,7 +68605,7 @@ var require_utils6 = __commonJS({ ws.on("error", (err) => { reject(err); }); - ws.on("close", resolve13); + ws.on("close", resolve14); rs.pipe(ws); }); } @@ -69385,7 +69544,7 @@ var require_Clients = __commonJS({ * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. */ generateSasUrl(options) { - return new Promise((resolve13) => { + return new Promise((resolve14) => { if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); } @@ -69396,7 +69555,7 @@ var require_Clients = __commonJS({ versionId: this._versionId, ...options }, this.credential).toString(); - resolve13((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + resolve14((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); }); } /** @@ -69435,7 +69594,7 @@ var require_Clients = __commonJS({ * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. */ generateUserDelegationSasUrl(options, userDelegationKey) { - return new Promise((resolve13) => { + return new Promise((resolve14) => { const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ containerName: this._containerName, blobName: this._name, @@ -69443,7 +69602,7 @@ var require_Clients = __commonJS({ versionId: this._versionId, ...options }, userDelegationKey, this.accountName).toString(); - resolve13((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + resolve14((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); }); } /** @@ -71211,8 +71370,8 @@ var require_BatchResponseParser = __commonJS({ const deserializedSubResponses = new Array(subResponseCount); let subResponsesSucceededCount = 0; let subResponsesFailedCount = 0; - for (let index = 0; index < subResponseCount; index++) { - const subResponse = subResponses[index]; + for (let index2 = 0; index2 < subResponseCount; index2++) { + const subResponse = subResponses[index2]; const deserializedSubResponse = {}; deserializedSubResponse.headers = (0, core_http_compat_1.toHttpHeadersLike)((0, core_rest_pipeline_1.createHttpHeaders)()); const responseLines = subResponse.split(`${constants_js_1.HTTP_LINE_ENDING}`); @@ -71260,7 +71419,7 @@ var require_BatchResponseParser = __commonJS({ deserializedSubResponse._request = this.subRequests.get(contentId); deserializedSubResponses[contentId] = deserializedSubResponse; } else { - log_js_1.logger.error(`subResponses[${index}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`); + log_js_1.logger.error(`subResponses[${index2}] is dropped as the Content-ID is not found or invalid, Content-ID: ${contentId}`); } if (subRespFailed) { subResponsesFailedCount++; @@ -71298,14 +71457,14 @@ var require_Mutex = __commonJS({ * @param key - lock key */ static async lock(key) { - return new Promise((resolve13) => { + return new Promise((resolve14) => { if (this.keys[key] === void 0 || this.keys[key] === MutexLockStatus.UNLOCKED) { this.keys[key] = MutexLockStatus.LOCKED; - resolve13(); + resolve14(); } else { this.onUnlockEvent(key, () => { this.keys[key] = MutexLockStatus.LOCKED; - resolve13(); + resolve14(); }); } }); @@ -71316,12 +71475,12 @@ var require_Mutex = __commonJS({ * @param key - */ static async unlock(key) { - return new Promise((resolve13) => { + return new Promise((resolve14) => { if (this.keys[key] === MutexLockStatus.LOCKED) { this.emitUnlockEvent(key); } delete this.keys[key]; - resolve13(); + resolve14(); }); } static keys = {}; @@ -71543,8 +71702,8 @@ var require_BlobBatch = __commonJS({ if (this.operationCount >= constants_js_1.BATCH_MAX_REQUEST) { throw new RangeError(`Cannot exceed ${constants_js_1.BATCH_MAX_REQUEST} sub requests in a single batch`); } - const path29 = (0, utils_common_js_1.getURLPath)(subRequest.url); - if (!path29 || path29 === "") { + const path30 = (0, utils_common_js_1.getURLPath)(subRequest.url); + if (!path30 || path30 === "") { throw new RangeError(`Invalid url for sub request: '${subRequest.url}'`); } } @@ -71622,8 +71781,8 @@ var require_BlobBatchClient = __commonJS({ pipeline = (0, Pipeline_js_1.newPipeline)(credentialOrPipeline, options); } const storageClientContext = new StorageContextClient_js_1.StorageContextClient(url2, (0, Pipeline_js_1.getCoreClientOptions)(pipeline)); - const path29 = (0, utils_common_js_1.getURLPath)(url2); - if (path29 && path29 !== "/") { + const path30 = (0, utils_common_js_1.getURLPath)(url2); + if (path30 && path30 !== "/") { this.serviceOrContainerContext = storageClientContext.container; } else { this.serviceOrContainerContext = storageClientContext.service; @@ -72924,7 +73083,7 @@ var require_ContainerClient = __commonJS({ * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. */ generateSasUrl(options) { - return new Promise((resolve13) => { + return new Promise((resolve14) => { if (!(this.credential instanceof StorageSharedKeyCredential_js_1.StorageSharedKeyCredential)) { throw new RangeError("Can only generate the SAS when the client is initialized with a shared key credential"); } @@ -72932,7 +73091,7 @@ var require_ContainerClient = __commonJS({ containerName: this._containerName, ...options }, this.credential).toString(); - resolve13((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + resolve14((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); }); } /** @@ -72967,12 +73126,12 @@ var require_ContainerClient = __commonJS({ * @returns The SAS URI consisting of the URI to the resource represented by this client, followed by the generated SAS token. */ generateUserDelegationSasUrl(options, userDelegationKey) { - return new Promise((resolve13) => { + return new Promise((resolve14) => { const sas = (0, BlobSASSignatureValues_js_1.generateBlobSASQueryParameters)({ containerName: this._containerName, ...options }, userDelegationKey, this.accountName).toString(); - resolve13((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); + resolve14((0, utils_common_js_1.appendToURLQuery)(this.url, sas)); }); } /** @@ -74368,11 +74527,11 @@ var require_uploadUtils = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -74388,7 +74547,7 @@ var require_uploadUtils = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -74396,7 +74555,7 @@ var require_uploadUtils = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UploadProgress = void 0; exports2.uploadCacheArchiveSDK = uploadCacheArchiveSDK; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var storage_blob_1 = require_commonjs15(); var errors_1 = require_errors2(); var UploadProgress = class { @@ -74438,7 +74597,7 @@ var require_uploadUtils = __commonJS({ const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); const elapsedTime = Date.now() - this.startTime; const uploadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); - core30.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`); + core31.info(`Sent ${transferredBytes} of ${this.contentLength} (${percentage}%), ${uploadSpeed} MBs/sec`); if (this.isDone()) { this.displayedComplete = true; } @@ -74481,10 +74640,10 @@ var require_uploadUtils = __commonJS({ exports2.UploadProgress = UploadProgress; function uploadCacheArchiveSDK(signedUploadURL, archivePath, options) { return __awaiter2(this, void 0, void 0, function* () { - var _a; + var _a2; const blobClient = new storage_blob_1.BlobClient(signedUploadURL); const blockBlobClient = blobClient.getBlockBlobClient(); - const uploadProgress = new UploadProgress((_a = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a !== void 0 ? _a : 0); + const uploadProgress = new UploadProgress((_a2 = options === null || options === void 0 ? void 0 : options.archiveSizeBytes) !== null && _a2 !== void 0 ? _a2 : 0); const uploadOptions = { blockSize: options === null || options === void 0 ? void 0 : options.uploadChunkSize, concurrency: options === null || options === void 0 ? void 0 : options.uploadConcurrency, @@ -74495,14 +74654,14 @@ var require_uploadUtils = __commonJS({ }; try { uploadProgress.startDisplayTimer(); - core30.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`); + core31.debug(`BlobClient: ${blobClient.name}:${blobClient.accountName}:${blobClient.containerName}`); const response = yield blockBlobClient.uploadFile(archivePath, uploadOptions); if (response._response.status >= 400) { throw new errors_1.InvalidResponseError(`uploadCacheArchiveSDK: upload failed with status code ${response._response.status}`); } return response; } catch (error3) { - core30.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`); + core31.warning(`uploadCacheArchiveSDK: internal error uploading cache archive: ${error3.message}`); throw error3; } finally { uploadProgress.stopDisplayTimer(); @@ -74555,11 +74714,11 @@ var require_requestUtils = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -74575,7 +74734,7 @@ var require_requestUtils = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -74587,7 +74746,7 @@ var require_requestUtils = __commonJS({ exports2.retry = retry2; exports2.retryTypedResponse = retryTypedResponse; exports2.retryHttpClientResponse = retryHttpClientResponse; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var http_client_1 = require_lib(); var constants_1 = require_constants7(); function isSuccessStatusCode(statusCode) { @@ -74615,7 +74774,7 @@ var require_requestUtils = __commonJS({ } function sleep(milliseconds) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13) => setTimeout(resolve13, milliseconds)); + return new Promise((resolve14) => setTimeout(resolve14, milliseconds)); }); } function retry2(name_1, method_1, getStatusCode_1) { @@ -74645,9 +74804,9 @@ var require_requestUtils = __commonJS({ isRetryable = isRetryableStatusCode(statusCode); errorMessage = `Cache service responded with ${statusCode}`; } - core30.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`); + core31.debug(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`); if (!isRetryable) { - core30.debug(`${name} - Error is not retryable`); + core31.debug(`${name} - Error is not retryable`); break; } yield sleep(delay2); @@ -74745,9 +74904,9 @@ var require_dist4 = __commonJS({ throw new TypeError("Expected `this` to be an instance of AbortSignal."); } const listeners = listenersMap.get(this); - const index = listeners.indexOf(listener); - if (index > -1) { - listeners.splice(index, 1); + const index2 = listeners.indexOf(listener); + if (index2 > -1) { + listeners.splice(index2, 1); } } /** @@ -74876,11 +75035,11 @@ var require_downloadUtils = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -74896,7 +75055,7 @@ var require_downloadUtils = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -74906,20 +75065,20 @@ var require_downloadUtils = __commonJS({ exports2.downloadCacheHttpClient = downloadCacheHttpClient; exports2.downloadCacheHttpClientConcurrent = downloadCacheHttpClientConcurrent; exports2.downloadCacheStorageSDK = downloadCacheStorageSDK; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var http_client_1 = require_lib(); var storage_blob_1 = require_commonjs15(); var buffer = __importStar2(require("buffer")); - var fs31 = __importStar2(require("fs")); + var fs32 = __importStar2(require("fs")); var stream2 = __importStar2(require("stream")); - var util = __importStar2(require("util")); + var util3 = __importStar2(require("util")); var utils = __importStar2(require_cacheUtils()); var constants_1 = require_constants7(); var requestUtils_1 = require_requestUtils(); var abort_controller_1 = require_dist4(); function pipeResponseToStream(response, output) { return __awaiter2(this, void 0, void 0, function* () { - const pipeline = util.promisify(stream2.pipeline); + const pipeline = util3.promisify(stream2.pipeline); yield pipeline(response.message, output); }); } @@ -74944,7 +75103,7 @@ var require_downloadUtils = __commonJS({ this.segmentIndex = this.segmentIndex + 1; this.segmentSize = segmentSize; this.receivedBytes = 0; - core30.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`); + core31.debug(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`); } /** * Sets the number of bytes received for the current segment. @@ -74978,7 +75137,7 @@ var require_downloadUtils = __commonJS({ const percentage = (100 * (transferredBytes / this.contentLength)).toFixed(1); const elapsedTime = Date.now() - this.startTime; const downloadSpeed = (transferredBytes / (1024 * 1024) / (elapsedTime / 1e3)).toFixed(1); - core30.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`); + core31.info(`Received ${transferredBytes} of ${this.contentLength} (${percentage}%), ${downloadSpeed} MBs/sec`); if (this.isDone()) { this.displayedComplete = true; } @@ -75021,14 +75180,14 @@ var require_downloadUtils = __commonJS({ exports2.DownloadProgress = DownloadProgress; function downloadCacheHttpClient(archiveLocation, archivePath) { return __awaiter2(this, void 0, void 0, function* () { - const writeStream = fs31.createWriteStream(archivePath); + const writeStream = fs32.createWriteStream(archivePath); const httpClient = new http_client_1.HttpClient("actions/cache"); const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)("downloadCache", () => __awaiter2(this, void 0, void 0, function* () { return httpClient.get(archiveLocation); })); downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => { downloadResponse.message.destroy(); - core30.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`); + core31.debug(`Aborting download, socket timed out after ${constants_1.SocketTimeout} ms`); }); yield pipeResponseToStream(downloadResponse, writeStream); const contentLengthHeader = downloadResponse.message.headers["content-length"]; @@ -75039,14 +75198,14 @@ var require_downloadUtils = __commonJS({ throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`); } } else { - core30.debug("Unable to validate download, no Content-Length header"); + core31.debug("Unable to validate download, no Content-Length header"); } }); } function downloadCacheHttpClientConcurrent(archiveLocation, archivePath, options) { return __awaiter2(this, void 0, void 0, function* () { - var _a; - const archiveDescriptor = yield fs31.promises.open(archivePath, "w"); + var _a2; + const archiveDescriptor = yield fs32.promises.open(archivePath, "w"); const httpClient = new http_client_1.HttpClient("actions/cache", void 0, { socketTimeout: options.timeoutInMs, keepAlive: true @@ -75093,7 +75252,7 @@ var require_downloadUtils = __commonJS({ while (nextDownload = downloads.pop()) { activeDownloads[nextDownload.offset] = nextDownload.promiseGetter(); actives++; - if (actives >= ((_a = options.downloadConcurrency) !== null && _a !== void 0 ? _a : 10)) { + if (actives >= ((_a2 = options.downloadConcurrency) !== null && _a2 !== void 0 ? _a2 : 10)) { yield waitAndWrite(); } } @@ -75146,7 +75305,7 @@ var require_downloadUtils = __commonJS({ } function downloadCacheStorageSDK(archiveLocation, archivePath, options) { return __awaiter2(this, void 0, void 0, function* () { - var _a; + var _a2; const client = new storage_blob_1.BlockBlobClient(archiveLocation, void 0, { retryOptions: { // Override the timeout used when downloading each 4 MB chunk @@ -75155,14 +75314,14 @@ var require_downloadUtils = __commonJS({ } }); const properties = yield client.getProperties(); - const contentLength = (_a = properties.contentLength) !== null && _a !== void 0 ? _a : -1; + const contentLength = (_a2 = properties.contentLength) !== null && _a2 !== void 0 ? _a2 : -1; if (contentLength < 0) { - core30.debug("Unable to determine content length, downloading file with http-client..."); + core31.debug("Unable to determine content length, downloading file with http-client..."); yield downloadCacheHttpClient(archiveLocation, archivePath); } else { const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH); const downloadProgress = new DownloadProgress(contentLength); - const fd = fs31.openSync(archivePath, "w"); + const fd = fs32.openSync(archivePath, "w"); try { downloadProgress.startDisplayTimer(); const controller = new abort_controller_1.AbortController(); @@ -75180,20 +75339,20 @@ var require_downloadUtils = __commonJS({ controller.abort(); throw new Error("Aborting cache download as the download time exceeded the timeout."); } else if (Buffer.isBuffer(result)) { - fs31.writeFileSync(fd, result); + fs32.writeFileSync(fd, result); } } } finally { downloadProgress.stopDisplayTimer(); - fs31.closeSync(fd); + fs32.closeSync(fd); } } }); } var promiseWithTimeout = (timeoutMs, promise) => __awaiter2(void 0, void 0, void 0, function* () { let timeoutHandle; - const timeoutPromise = new Promise((resolve13) => { - timeoutHandle = setTimeout(() => resolve13("timeout"), timeoutMs); + const timeoutPromise = new Promise((resolve14) => { + timeoutHandle = setTimeout(() => resolve14("timeout"), timeoutMs); }); return Promise.race([promise, timeoutPromise]).then((result) => { clearTimeout(timeoutHandle); @@ -75247,7 +75406,7 @@ var require_options = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getUploadOptions = getUploadOptions; exports2.getDownloadOptions = getDownloadOptions; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); function getUploadOptions(copy) { const result = { useAzureSdk: false, @@ -75267,9 +75426,9 @@ var require_options = __commonJS({ } result.uploadConcurrency = !isNaN(Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) ? Math.min(32, Number(process.env["CACHE_UPLOAD_CONCURRENCY"])) : result.uploadConcurrency; result.uploadChunkSize = !isNaN(Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"])) ? Math.min(128 * 1024 * 1024, Number(process.env["CACHE_UPLOAD_CHUNK_SIZE"]) * 1024 * 1024) : result.uploadChunkSize; - core30.debug(`Use Azure SDK: ${result.useAzureSdk}`); - core30.debug(`Upload concurrency: ${result.uploadConcurrency}`); - core30.debug(`Upload chunk size: ${result.uploadChunkSize}`); + core31.debug(`Use Azure SDK: ${result.useAzureSdk}`); + core31.debug(`Upload concurrency: ${result.uploadConcurrency}`); + core31.debug(`Upload chunk size: ${result.uploadChunkSize}`); return result; } function getDownloadOptions(copy) { @@ -75305,12 +75464,12 @@ var require_options = __commonJS({ if (segmentDownloadTimeoutMins && !isNaN(Number(segmentDownloadTimeoutMins)) && isFinite(Number(segmentDownloadTimeoutMins))) { result.segmentTimeoutInMs = Number(segmentDownloadTimeoutMins) * 60 * 1e3; } - core30.debug(`Use Azure SDK: ${result.useAzureSdk}`); - core30.debug(`Download concurrency: ${result.downloadConcurrency}`); - core30.debug(`Request timeout (ms): ${result.timeoutInMs}`); - core30.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`); - core30.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`); - core30.debug(`Lookup only: ${result.lookupOnly}`); + core31.debug(`Use Azure SDK: ${result.useAzureSdk}`); + core31.debug(`Download concurrency: ${result.downloadConcurrency}`); + core31.debug(`Request timeout (ms): ${result.timeoutInMs}`); + core31.debug(`Cache segment download timeout mins env var: ${process.env["SEGMENT_DOWNLOAD_TIMEOUT_MINS"]}`); + core31.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`); + core31.debug(`Lookup only: ${result.lookupOnly}`); return result; } } @@ -75356,7 +75515,7 @@ var require_package = __commonJS({ "node_modules/@actions/cache/package.json"(exports2, module2) { module2.exports = { name: "@actions/cache", - version: "5.0.5", + version: "5.1.0", preview: true, description: "Actions cache lib", keywords: [ @@ -75474,11 +75633,11 @@ var require_cacheHttpClient = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -75494,7 +75653,7 @@ var require_cacheHttpClient = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -75504,10 +75663,10 @@ var require_cacheHttpClient = __commonJS({ exports2.downloadCache = downloadCache; exports2.reserveCache = reserveCache; exports2.saveCache = saveCache5; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var http_client_1 = require_lib(); var auth_1 = require_auth(); - var fs31 = __importStar2(require("fs")); + var fs32 = __importStar2(require("fs")); var url_1 = require("url"); var utils = __importStar2(require_cacheUtils()); var uploadUtils_1 = require_uploadUtils(); @@ -75522,7 +75681,7 @@ var require_cacheHttpClient = __commonJS({ throw new Error("Cache Service Url not found, unable to restore cache."); } const url2 = `${baseUrl}_apis/artifactcache/${resource}`; - core30.debug(`Resource Url: ${url2}`); + core31.debug(`Resource Url: ${url2}`); return url2; } function createAcceptHeader(type, apiVersion) { @@ -75550,7 +75709,7 @@ var require_cacheHttpClient = __commonJS({ return httpClient.getJson(getCacheApiUrl(resource)); })); if (response.statusCode === 204) { - if (core30.isDebug()) { + if (core31.isDebug()) { yield printCachesListForDiagnostics(keys[0], httpClient, version); } return null; @@ -75563,9 +75722,9 @@ var require_cacheHttpClient = __commonJS({ if (!cacheDownloadUrl) { throw new Error("Cache not found."); } - core30.setSecret(cacheDownloadUrl); - core30.debug(`Cache Result:`); - core30.debug(JSON.stringify(cacheResult)); + core31.setSecret(cacheDownloadUrl); + core31.debug(`Cache Result:`); + core31.debug(JSON.stringify(cacheResult)); return cacheResult; }); } @@ -75579,10 +75738,10 @@ var require_cacheHttpClient = __commonJS({ const cacheListResult = response.result; const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount; if (totalCount && totalCount > 0) { - core30.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key + core31.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env["GITHUB_REF"]}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key Other caches with similar key:`); for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) { - core30.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`); + core31.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`); } } } @@ -75625,7 +75784,7 @@ Other caches with similar key:`); } function uploadChunk(httpClient, resourceUrl, openStream, start, end) { return __awaiter2(this, void 0, void 0, function* () { - core30.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`); + core31.debug(`Uploading chunk of size ${end - start + 1} bytes at offset ${start} with content range: ${getContentRange(start, end)}`); const additionalHeaders = { "Content-Type": "application/octet-stream", "Content-Range": getContentRange(start, end) @@ -75642,12 +75801,12 @@ Other caches with similar key:`); return __awaiter2(this, void 0, void 0, function* () { const fileSize = utils.getArchiveFileSizeInBytes(archivePath); const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`); - const fd = fs31.openSync(archivePath, "r"); + const fd = fs32.openSync(archivePath, "r"); const uploadOptions = (0, options_1.getUploadOptions)(options); const concurrency = utils.assertDefined("uploadConcurrency", uploadOptions.uploadConcurrency); const maxChunkSize = utils.assertDefined("uploadChunkSize", uploadOptions.uploadChunkSize); const parallelUploads = [...new Array(concurrency).keys()]; - core30.debug("Awaiting all uploads"); + core31.debug("Awaiting all uploads"); let offset = 0; try { yield Promise.all(parallelUploads.map(() => __awaiter2(this, void 0, void 0, function* () { @@ -75656,7 +75815,7 @@ Other caches with similar key:`); const start = offset; const end = offset + chunkSize - 1; offset += maxChunkSize; - yield uploadChunk(httpClient, resourceUrl, () => fs31.createReadStream(archivePath, { + yield uploadChunk(httpClient, resourceUrl, () => fs32.createReadStream(archivePath, { fd, start, end, @@ -75667,7 +75826,7 @@ Other caches with similar key:`); } }))); } finally { - fs31.closeSync(fd); + fs32.closeSync(fd); } return; }); @@ -75690,16 +75849,16 @@ Other caches with similar key:`); yield (0, uploadUtils_1.uploadCacheArchiveSDK)(signedUploadURL, archivePath, options); } else { const httpClient = createHttpClient(); - core30.debug("Upload cache"); + core31.debug("Upload cache"); yield uploadFile(httpClient, cacheId, archivePath, options); - core30.debug("Commiting cache"); + core31.debug("Commiting cache"); const cacheSize = utils.getArchiveFileSizeInBytes(archivePath); - core30.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`); + core31.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`); const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize); if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) { throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`); } - core30.info("Cache saved successfully"); + core31.info("Cache saved successfully"); } }); } @@ -76784,9 +76943,9 @@ var require_json_format_contract = __commonJS({ } exports2.jsonWriteOptions = jsonWriteOptions; function mergeJsonOptions(a, b) { - var _a, _b; + var _a2, _b; let c = Object.assign(Object.assign({}, a), b); - c.typeRegistry = [...(_a = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a !== void 0 ? _a : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []]; + c.typeRegistry = [...(_a2 = a === null || a === void 0 ? void 0 : a.typeRegistry) !== null && _a2 !== void 0 ? _a2 : [], ...(_b = b === null || b === void 0 ? void 0 : b.typeRegistry) !== null && _b !== void 0 ? _b : []]; return c; } exports2.mergeJsonOptions = mergeJsonOptions; @@ -76872,8 +77031,8 @@ var require_reflection_info = __commonJS({ RepeatType2[RepeatType2["UNPACKED"] = 2] = "UNPACKED"; })(RepeatType = exports2.RepeatType || (exports2.RepeatType = {})); function normalizeFieldInfo(field) { - var _a, _b, _c, _d; - field.localName = (_a = field.localName) !== null && _a !== void 0 ? _a : lower_camel_case_1.lowerCamelCase(field.name); + var _a2, _b, _c, _d; + field.localName = (_a2 = field.localName) !== null && _a2 !== void 0 ? _a2 : lower_camel_case_1.lowerCamelCase(field.name); field.jsonName = (_b = field.jsonName) !== null && _b !== void 0 ? _b : lower_camel_case_1.lowerCamelCase(field.name); field.repeat = (_c = field.repeat) !== null && _c !== void 0 ? _c : RepeatType.NO; field.opt = (_d = field.opt) !== null && _d !== void 0 ? _d : field.repeat ? false : field.oneof ? false : field.kind == "message"; @@ -76881,14 +77040,14 @@ var require_reflection_info = __commonJS({ } exports2.normalizeFieldInfo = normalizeFieldInfo; function readFieldOptions(messageType, fieldName, extensionName, extensionType) { - var _a; - const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; + var _a2; + const options = (_a2 = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a2 === void 0 ? void 0 : _a2.options; return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; } exports2.readFieldOptions = readFieldOptions; function readFieldOption(messageType, fieldName, extensionName, extensionType) { - var _a; - const options = (_a = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a === void 0 ? void 0 : _a.options; + var _a2; + const options = (_a2 = messageType.fields.find((m, i) => m.localName == fieldName || i == fieldName)) === null || _a2 === void 0 ? void 0 : _a2.options; if (!options) { return void 0; } @@ -76984,8 +77143,8 @@ var require_reflection_type_check = __commonJS({ var oneof_1 = require_oneof(); var ReflectionTypeCheck = class { constructor(info8) { - var _a; - this.fields = (_a = info8.fields) !== null && _a !== void 0 ? _a : []; + var _a2; + this.fields = (_a2 = info8.fields) !== null && _a2 !== void 0 ? _a2 : []; } prepare() { if (this.data) @@ -77235,10 +77394,10 @@ var require_reflection_json_reader = __commonJS({ this.info = info8; } prepare() { - var _a; + var _a2; if (this.fMap === void 0) { this.fMap = {}; - const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; + const fieldsInput = (_a2 = this.info.fields) !== null && _a2 !== void 0 ? _a2 : []; for (const field of fieldsInput) { this.fMap[field.name] = field; this.fMap[field.jsonName] = field; @@ -77529,8 +77688,8 @@ var require_reflection_json_writer = __commonJS({ var assert_1 = require_assert(); var ReflectionJsonWriter = class { constructor(info8) { - var _a; - this.fields = (_a = info8.fields) !== null && _a !== void 0 ? _a : []; + var _a2; + this.fields = (_a2 = info8.fields) !== null && _a2 !== void 0 ? _a2 : []; } /** * Converts the message to a JSON object, based on the field descriptors. @@ -77787,9 +77946,9 @@ var require_reflection_binary_reader = __commonJS({ this.info = info8; } prepare() { - var _a; + var _a2; if (!this.fieldNoToField) { - const fieldsInput = (_a = this.info.fields) !== null && _a !== void 0 ? _a : []; + const fieldsInput = (_a2 = this.info.fields) !== null && _a2 !== void 0 ? _a2 : []; this.fieldNoToField = new Map(fieldsInput.map((field) => [field.no, field])); } } @@ -78457,9 +78616,9 @@ var require_message_type = __commonJS({ * This is equivalent to `JSON.stringify(T.toJson(t))` */ toJsonString(message, options) { - var _a; + var _a2; let value = this.toJson(message, options); - return JSON.stringify(value, null, (_a = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a !== void 0 ? _a : 0); + return JSON.stringify(value, null, (_a2 = options === null || options === void 0 ? void 0 : options.prettySpaces) !== null && _a2 !== void 0 ? _a2 : 0); } /** * Write the message to binary format. @@ -78585,7 +78744,7 @@ var require_enum_object = __commonJS({ } exports2.listEnumNames = listEnumNames; function listEnumNumbers(enumObject) { - return listEnumValues(enumObject).map((val) => val.number).filter((num, index, arr) => arr.indexOf(num) == index); + return listEnumValues(enumObject).map((val) => val.number).filter((num, index2, arr) => arr.indexOf(num) == index2); } exports2.listEnumNumbers = listEnumNumbers; } @@ -78785,10 +78944,10 @@ var require_reflection_info2 = __commonJS({ exports2.readServiceOption = exports2.readMethodOption = exports2.readMethodOptions = exports2.normalizeMethodInfo = void 0; var runtime_1 = require_commonjs16(); function normalizeMethodInfo(method, service) { - var _a, _b, _c; + var _a2, _b, _c; let m = method; m.service = service; - m.localName = (_a = m.localName) !== null && _a !== void 0 ? _a : runtime_1.lowerCamelCase(m.name); + m.localName = (_a2 = m.localName) !== null && _a2 !== void 0 ? _a2 : runtime_1.lowerCamelCase(m.name); m.serverStreaming = !!m.serverStreaming; m.clientStreaming = !!m.clientStreaming; m.options = (_b = m.options) !== null && _b !== void 0 ? _b : {}; @@ -78797,14 +78956,14 @@ var require_reflection_info2 = __commonJS({ } exports2.normalizeMethodInfo = normalizeMethodInfo; function readMethodOptions(service, methodName, extensionName, extensionType) { - var _a; - const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; + var _a2; + const options = (_a2 = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a2 === void 0 ? void 0 : _a2.options; return options && options[extensionName] ? extensionType.fromJson(options[extensionName]) : void 0; } exports2.readMethodOptions = readMethodOptions; function readMethodOption(service, methodName, extensionName, extensionType) { - var _a; - const options = (_a = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a === void 0 ? void 0 : _a.options; + var _a2; + const options = (_a2 = service.methods.find((m, i) => m.localName === methodName || i === methodName)) === null || _a2 === void 0 ? void 0 : _a2.options; if (!options) { return void 0; } @@ -78893,28 +79052,28 @@ var require_rpc_options = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.mergeRpcOptions = void 0; var runtime_1 = require_commonjs16(); - function mergeRpcOptions(defaults, options) { + function mergeRpcOptions(defaults2, options) { if (!options) - return defaults; + return defaults2; let o = {}; - copy(defaults, o); + copy(defaults2, o); copy(options, o); for (let key of Object.keys(options)) { let val = options[key]; switch (key) { case "jsonOptions": - o.jsonOptions = runtime_1.mergeJsonOptions(defaults.jsonOptions, o.jsonOptions); + o.jsonOptions = runtime_1.mergeJsonOptions(defaults2.jsonOptions, o.jsonOptions); break; case "binaryOptions": - o.binaryOptions = runtime_1.mergeBinaryOptions(defaults.binaryOptions, o.binaryOptions); + o.binaryOptions = runtime_1.mergeBinaryOptions(defaults2.binaryOptions, o.binaryOptions); break; case "meta": o.meta = {}; - copy(defaults.meta, o.meta); + copy(defaults2.meta, o.meta); copy(options.meta, o.meta); break; case "interceptors": - o.interceptors = defaults.interceptors ? defaults.interceptors.concat(val) : val.concat(); + o.interceptors = defaults2.interceptors ? defaults2.interceptors.concat(val) : val.concat(); break; } } @@ -78964,8 +79123,8 @@ var require_deferred = __commonJS({ */ constructor(preventUnhandledRejectionWarning = true) { this._state = DeferredState.PENDING; - this._promise = new Promise((resolve13, reject) => { - this._resolve = resolve13; + this._promise = new Promise((resolve14, reject) => { + this._resolve = resolve14; this._reject = reject; }); if (preventUnhandledRejectionWarning) { @@ -79180,11 +79339,11 @@ var require_unary_call = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -79200,7 +79359,7 @@ var require_unary_call = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -79249,11 +79408,11 @@ var require_server_streaming_call = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -79269,7 +79428,7 @@ var require_server_streaming_call = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -79319,11 +79478,11 @@ var require_client_streaming_call = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -79339,7 +79498,7 @@ var require_client_streaming_call = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -79388,11 +79547,11 @@ var require_duplex_streaming_call = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -79408,7 +79567,7 @@ var require_duplex_streaming_call = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -79456,11 +79615,11 @@ var require_test_transport = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -79476,7 +79635,7 @@ var require_test_transport = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -79527,8 +79686,8 @@ var require_test_transport = __commonJS({ } // Creates a promise for response headers from the mock data. promiseHeaders() { - var _a; - const headers = (_a = this.data.headers) !== null && _a !== void 0 ? _a : _TestTransport.defaultHeaders; + var _a2; + const headers = (_a2 = this.data.headers) !== null && _a2 !== void 0 ? _a2 : _TestTransport.defaultHeaders; return headers instanceof rpc_error_1.RpcError ? Promise.reject(headers) : Promise.resolve(headers); } // Creates a promise for a single, valid, message from the mock data. @@ -79603,14 +79762,14 @@ var require_test_transport = __commonJS({ } // Creates a promise for response status from the mock data. promiseStatus() { - var _a; - const status = (_a = this.data.status) !== null && _a !== void 0 ? _a : _TestTransport.defaultStatus; + var _a2; + const status = (_a2 = this.data.status) !== null && _a2 !== void 0 ? _a2 : _TestTransport.defaultStatus; return status instanceof rpc_error_1.RpcError ? Promise.reject(status) : Promise.resolve(status); } // Creates a promise for response trailers from the mock data. promiseTrailers() { - var _a; - const trailers = (_a = this.data.trailers) !== null && _a !== void 0 ? _a : _TestTransport.defaultTrailers; + var _a2; + const trailers = (_a2 = this.data.trailers) !== null && _a2 !== void 0 ? _a2 : _TestTransport.defaultTrailers; return trailers instanceof rpc_error_1.RpcError ? Promise.reject(trailers) : Promise.resolve(trailers); } maybeSuppressUncaught(...promise) { @@ -79625,8 +79784,8 @@ var require_test_transport = __commonJS({ return rpc_options_1.mergeRpcOptions({}, options); } unary(method, input, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { + var _a2; + const requestHeaders = (_a2 = options.meta) !== null && _a2 !== void 0 ? _a2 : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); @@ -79635,16 +79794,16 @@ var require_test_transport = __commonJS({ return new unary_call_1.UnaryCall(method, requestHeaders, input, headersPromise, responsePromise, statusPromise, trailersPromise); } serverStreaming(method, input, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => { + var _a2; + const requestHeaders = (_a2 = options.meta) !== null && _a2 !== void 0 ? _a2 : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => { }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); this.maybeSuppressUncaught(statusPromise, trailersPromise); this.lastInput = { single: input }; return new server_streaming_call_1.ServerStreamingCall(method, requestHeaders, input, headersPromise, outputStream, statusPromise, trailersPromise); } clientStreaming(method, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { + var _a2; + const requestHeaders = (_a2 = options.meta) !== null && _a2 !== void 0 ? _a2 : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), responsePromise = headersPromise.catch((_2) => { }).then(delay2(this.responseDelay, options.abort)).then((_2) => this.promiseSingleResponse(method)), statusPromise = responsePromise.catch((_2) => { }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseStatus()), trailersPromise = responsePromise.catch((_2) => { }).then(delay2(this.afterResponseDelay, options.abort)).then((_2) => this.promiseTrailers()); @@ -79653,8 +79812,8 @@ var require_test_transport = __commonJS({ return new client_streaming_call_1.ClientStreamingCall(method, requestHeaders, this.lastInput, headersPromise, responsePromise, statusPromise, trailersPromise); } duplex(method, options) { - var _a; - const requestHeaders = (_a = options.meta) !== null && _a !== void 0 ? _a : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => { + var _a2; + const requestHeaders = (_a2 = options.meta) !== null && _a2 !== void 0 ? _a2 : {}, headersPromise = this.promiseHeaders().then(delay2(this.headerDelay, options.abort)), outputStream = new rpc_output_stream_1.RpcOutputStreamController(), responseStreamClosedPromise = headersPromise.then(delay2(this.responseDelay, options.abort)).catch(() => { }).then(() => this.streamResponses(method, outputStream, options.abort)).then(delay2(this.afterResponseDelay, options.abort)), statusPromise = responseStreamClosedPromise.then(() => this.promiseStatus()), trailersPromise = responseStreamClosedPromise.then(() => this.promiseTrailers()); this.maybeSuppressUncaught(statusPromise, trailersPromise); this.lastInput = new TestInputStream(this.data, options.abort); @@ -79673,11 +79832,11 @@ var require_test_transport = __commonJS({ responseTrailer: "test" }; function delay2(ms, abort) { - return (v) => new Promise((resolve13, reject) => { + return (v) => new Promise((resolve14, reject) => { if (abort === null || abort === void 0 ? void 0 : abort.aborted) { reject(new rpc_error_1.RpcError("user cancel", "CANCELLED")); } else { - const id = setTimeout(() => resolve13(v), ms); + const id = setTimeout(() => resolve14(v), ms); if (abort) { abort.addEventListener("abort", (ev) => { clearTimeout(id); @@ -79730,10 +79889,10 @@ var require_rpc_interceptor = __commonJS({ exports2.stackDuplexStreamingInterceptors = exports2.stackClientStreamingInterceptors = exports2.stackServerStreamingInterceptors = exports2.stackUnaryInterceptors = exports2.stackIntercept = void 0; var runtime_1 = require_commonjs16(); function stackIntercept(kind, transport, method, options, input) { - var _a, _b, _c, _d; + var _a2, _b, _c, _d; if (kind == "unary") { let tail = (mtd, inp, opt) => transport.unary(mtd, inp, opt); - for (const curr of ((_a = options.interceptors) !== null && _a !== void 0 ? _a : []).filter((i) => i.interceptUnary).reverse()) { + for (const curr of ((_a2 = options.interceptors) !== null && _a2 !== void 0 ? _a2 : []).filter((i) => i.interceptUnary).reverse()) { const next = tail; tail = (mtd, inp, opt) => curr.interceptUnary(next, mtd, inp, opt); } @@ -80675,11 +80834,11 @@ var require_cacheTwirpClient = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -80695,7 +80854,7 @@ var require_cacheTwirpClient = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -80835,7 +80994,7 @@ var require_cacheTwirpClient = __commonJS({ } sleep(milliseconds) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13) => setTimeout(resolve13, milliseconds)); + return new Promise((resolve14) => setTimeout(resolve14, milliseconds)); }); } getExponentialRetryTimeMilliseconds(attempt) { @@ -80900,11 +81059,11 @@ var require_tar = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -80920,7 +81079,7 @@ var require_tar = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -80932,7 +81091,7 @@ var require_tar = __commonJS({ var exec_1 = require_exec(); var io9 = __importStar2(require_io()); var fs_1 = require("fs"); - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var utils = __importStar2(require_cacheUtils()); var constants_1 = require_constants7(); var IS_WINDOWS = process.platform === "win32"; @@ -80978,13 +81137,13 @@ var require_tar = __commonJS({ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD && compressionMethod !== constants_1.CompressionMethod.Gzip && IS_WINDOWS; switch (type) { case "create": - args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path29.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path29.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path29.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename); + args.push("--posix", "-cf", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path30.sep}`, "g"), "/"), "--exclude", BSD_TAR_ZSTD ? tarFile : cacheFileName.replace(new RegExp(`\\${path30.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path30.sep}`, "g"), "/"), "--files-from", constants_1.ManifestFilename); break; case "extract": - args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path29.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path29.sep}`, "g"), "/")); + args.push("-xf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path30.sep}`, "g"), "/"), "-P", "-C", workingDirectory.replace(new RegExp(`\\${path30.sep}`, "g"), "/")); break; case "list": - args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path29.sep}`, "g"), "/"), "-P"); + args.push("-tf", BSD_TAR_ZSTD ? tarFile : archivePath.replace(new RegExp(`\\${path30.sep}`, "g"), "/"), "-P"); break; } if (tarPath.type === constants_1.ArchiveToolType.GNU) { @@ -81019,8 +81178,8 @@ var require_tar = __commonJS({ }); } function getWorkingDirectory() { - var _a; - return (_a = process.env["GITHUB_WORKSPACE"]) !== null && _a !== void 0 ? _a : process.cwd(); + var _a2; + return (_a2 = process.env["GITHUB_WORKSPACE"]) !== null && _a2 !== void 0 ? _a2 : process.cwd(); } function getDecompressionProgram(tarPath, compressionMethod, archivePath) { return __awaiter2(this, void 0, void 0, function* () { @@ -81030,7 +81189,7 @@ var require_tar = __commonJS({ return BSD_TAR_ZSTD ? [ "zstd -d --long=30 --force -o", constants_1.TarFilename, - archivePath.replace(new RegExp(`\\${path29.sep}`, "g"), "/") + archivePath.replace(new RegExp(`\\${path30.sep}`, "g"), "/") ] : [ "--use-compress-program", IS_WINDOWS ? '"zstd -d --long=30"' : "unzstd --long=30" @@ -81039,7 +81198,7 @@ var require_tar = __commonJS({ return BSD_TAR_ZSTD ? [ "zstd -d --force -o", constants_1.TarFilename, - archivePath.replace(new RegExp(`\\${path29.sep}`, "g"), "/") + archivePath.replace(new RegExp(`\\${path30.sep}`, "g"), "/") ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -d"' : "unzstd"]; default: return ["-z"]; @@ -81054,7 +81213,7 @@ var require_tar = __commonJS({ case constants_1.CompressionMethod.Zstd: return BSD_TAR_ZSTD ? [ "zstd -T0 --long=30 --force -o", - cacheFileName.replace(new RegExp(`\\${path29.sep}`, "g"), "/"), + cacheFileName.replace(new RegExp(`\\${path30.sep}`, "g"), "/"), constants_1.TarFilename ] : [ "--use-compress-program", @@ -81063,7 +81222,7 @@ var require_tar = __commonJS({ case constants_1.CompressionMethod.ZstdWithoutLong: return BSD_TAR_ZSTD ? [ "zstd -T0 --force -o", - cacheFileName.replace(new RegExp(`\\${path29.sep}`, "g"), "/"), + cacheFileName.replace(new RegExp(`\\${path30.sep}`, "g"), "/"), constants_1.TarFilename ] : ["--use-compress-program", IS_WINDOWS ? '"zstd -T0"' : "zstdmt"]; default: @@ -81101,7 +81260,7 @@ var require_tar = __commonJS({ } function createTar(archiveFolder, sourceDirectories, compressionMethod) { return __awaiter2(this, void 0, void 0, function* () { - (0, fs_1.writeFileSync)(path29.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n")); + (0, fs_1.writeFileSync)(path30.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join("\n")); const commands = yield getCommands(compressionMethod, "create"); yield execCommands(commands, archiveFolder); }); @@ -81152,11 +81311,11 @@ var require_cache4 = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -81172,18 +81331,18 @@ var require_cache4 = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.FinalizeCacheError = exports2.ReserveCacheError = exports2.ValidationError = void 0; + exports2.FinalizeCacheError = exports2.CacheWriteDeniedError = exports2.CACHE_WRITE_DENIED_PREFIX = exports2.ReserveCacheError = exports2.ValidationError = void 0; exports2.isFeatureAvailable = isFeatureAvailable; exports2.restoreCache = restoreCache5; exports2.saveCache = saveCache5; - var core30 = __importStar2(require_core()); - var path29 = __importStar2(require("path")); + var core31 = __importStar2(require_core()); + var path30 = __importStar2(require("path")); var utils = __importStar2(require_cacheUtils()); var cacheHttpClient = __importStar2(require_cacheHttpClient()); var cacheTwirpClient = __importStar2(require_cacheTwirpClient()); @@ -81206,6 +81365,15 @@ var require_cache4 = __commonJS({ } }; exports2.ReserveCacheError = ReserveCacheError2; + exports2.CACHE_WRITE_DENIED_PREFIX = "cache write denied:"; + var CacheWriteDeniedError = class _CacheWriteDeniedError extends ReserveCacheError2 { + constructor(message) { + super(message); + this.name = "CacheWriteDeniedError"; + Object.setPrototypeOf(this, _CacheWriteDeniedError.prototype); + } + }; + exports2.CacheWriteDeniedError = CacheWriteDeniedError; var FinalizeCacheError = class _FinalizeCacheError extends Error { constructor(message) { super(message); @@ -81241,7 +81409,7 @@ var require_cache4 = __commonJS({ function restoreCache5(paths_1, primaryKey_1, restoreKeys_1, options_1) { return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - core30.debug(`Cache service version: ${cacheServiceVersion}`); + core31.debug(`Cache service version: ${cacheServiceVersion}`); checkPaths(paths); switch (cacheServiceVersion) { case "v2": @@ -81256,8 +81424,8 @@ var require_cache4 = __commonJS({ return __awaiter2(this, arguments, void 0, function* (paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) { restoreKeys = restoreKeys || []; const keys = [primaryKey, ...restoreKeys]; - core30.debug("Resolved Keys:"); - core30.debug(JSON.stringify(keys)); + core31.debug("Resolved Keys:"); + core31.debug(JSON.stringify(keys)); if (keys.length > 10) { throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); } @@ -81275,19 +81443,19 @@ var require_cache4 = __commonJS({ return void 0; } if (options === null || options === void 0 ? void 0 : options.lookupOnly) { - core30.info("Lookup only - skipping download"); + core31.info("Lookup only - skipping download"); return cacheEntry.cacheKey; } - archivePath = path29.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); - core30.debug(`Archive Path: ${archivePath}`); + archivePath = path30.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); + core31.debug(`Archive Path: ${archivePath}`); yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options); - if (core30.isDebug()) { + if (core31.isDebug()) { yield (0, tar_1.listTar)(archivePath, compressionMethod); } const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core30.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); + core31.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); yield (0, tar_1.extractTar)(archivePath, compressionMethod); - core30.info("Cache restored successfully"); + core31.info("Cache restored successfully"); return cacheEntry.cacheKey; } catch (error3) { const typedError = error3; @@ -81295,16 +81463,16 @@ var require_cache4 = __commonJS({ throw error3; } else { if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core30.error(`Failed to restore: ${error3.message}`); + core31.error(`Failed to restore: ${error3.message}`); } else { - core30.warning(`Failed to restore: ${error3.message}`); + core31.warning(`Failed to restore: ${error3.message}`); } } } finally { try { yield utils.unlinkFile(archivePath); } catch (error3) { - core30.debug(`Failed to delete archive: ${error3}`); + core31.debug(`Failed to delete archive: ${error3}`); } } return void 0; @@ -81315,8 +81483,8 @@ var require_cache4 = __commonJS({ options = Object.assign(Object.assign({}, options), { useAzureSdk: true }); restoreKeys = restoreKeys || []; const keys = [primaryKey, ...restoreKeys]; - core30.debug("Resolved Keys:"); - core30.debug(JSON.stringify(keys)); + core31.debug("Resolved Keys:"); + core31.debug(JSON.stringify(keys)); if (keys.length > 10) { throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`); } @@ -81334,30 +81502,30 @@ var require_cache4 = __commonJS({ }; const response = yield twirpClient.GetCacheEntryDownloadURL(request3); if (!response.ok) { - core30.debug(`Cache not found for version ${request3.version} of keys: ${keys.join(", ")}`); + core31.debug(`Cache not found for version ${request3.version} of keys: ${keys.join(", ")}`); return void 0; } const isRestoreKeyMatch = request3.key !== response.matchedKey; if (isRestoreKeyMatch) { - core30.info(`Cache hit for restore-key: ${response.matchedKey}`); + core31.info(`Cache hit for restore-key: ${response.matchedKey}`); } else { - core30.info(`Cache hit for: ${response.matchedKey}`); + core31.info(`Cache hit for: ${response.matchedKey}`); } if (options === null || options === void 0 ? void 0 : options.lookupOnly) { - core30.info("Lookup only - skipping download"); + core31.info("Lookup only - skipping download"); return response.matchedKey; } - archivePath = path29.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); - core30.debug(`Archive path: ${archivePath}`); - core30.debug(`Starting download of archive to: ${archivePath}`); + archivePath = path30.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod)); + core31.debug(`Archive path: ${archivePath}`); + core31.debug(`Starting download of archive to: ${archivePath}`); yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options); const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core30.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); - if (core30.isDebug()) { + core31.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`); + if (core31.isDebug()) { yield (0, tar_1.listTar)(archivePath, compressionMethod); } yield (0, tar_1.extractTar)(archivePath, compressionMethod); - core30.info("Cache restored successfully"); + core31.info("Cache restored successfully"); return response.matchedKey; } catch (error3) { const typedError = error3; @@ -81365,9 +81533,9 @@ var require_cache4 = __commonJS({ throw error3; } else { if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core30.error(`Failed to restore: ${error3.message}`); + core31.error(`Failed to restore: ${error3.message}`); } else { - core30.warning(`Failed to restore: ${error3.message}`); + core31.warning(`Failed to restore: ${error3.message}`); } } } finally { @@ -81376,7 +81544,7 @@ var require_cache4 = __commonJS({ yield utils.unlinkFile(archivePath); } } catch (error3) { - core30.debug(`Failed to delete archive: ${error3}`); + core31.debug(`Failed to delete archive: ${error3}`); } } return void 0; @@ -81385,7 +81553,7 @@ var require_cache4 = __commonJS({ function saveCache5(paths_1, key_1, options_1) { return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { const cacheServiceVersion = (0, config_1.getCacheServiceVersion)(); - core30.debug(`Cache service version: ${cacheServiceVersion}`); + core31.debug(`Cache service version: ${cacheServiceVersion}`); checkPaths(paths); checkKey(key); switch (cacheServiceVersion) { @@ -81399,62 +81567,68 @@ var require_cache4 = __commonJS({ } function saveCacheV1(paths_1, key_1, options_1) { return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { - var _a, _b, _c, _d, _e; + var _a2, _b, _c, _d, _e; const compressionMethod = yield utils.getCompressionMethod(); let cacheId = -1; const cachePaths = yield utils.resolvePaths(paths); - core30.debug("Cache Paths:"); - core30.debug(`${JSON.stringify(cachePaths)}`); + core31.debug("Cache Paths:"); + core31.debug(`${JSON.stringify(cachePaths)}`); if (cachePaths.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.`); } const archiveFolder = yield utils.createTempDirectory(); - const archivePath = path29.join(archiveFolder, utils.getCacheFileName(compressionMethod)); - core30.debug(`Archive Path: ${archivePath}`); + const archivePath = path30.join(archiveFolder, utils.getCacheFileName(compressionMethod)); + core31.debug(`Archive Path: ${archivePath}`); try { yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); - if (core30.isDebug()) { + if (core31.isDebug()) { yield (0, tar_1.listTar)(archivePath, compressionMethod); } const fileSizeLimit = 10 * 1024 * 1024 * 1024; const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core30.debug(`File Size: ${archiveFileSize}`); + core31.debug(`File Size: ${archiveFileSize}`); if (archiveFileSize > fileSizeLimit && !(0, config_1.isGhes)()) { throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`); } - core30.debug("Reserving Cache"); + core31.debug("Reserving Cache"); const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, { compressionMethod, enableCrossOsArchive, cacheSize: archiveFileSize }); - if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) { + if ((_a2 = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a2 === void 0 ? void 0 : _a2.cacheId) { cacheId = (_b = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _b === void 0 ? void 0 : _b.cacheId; } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) { throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`); } else { - throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`); + const detailMessage = (_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message; + if (detailMessage === null || detailMessage === void 0 ? void 0 : detailMessage.startsWith(exports2.CACHE_WRITE_DENIED_PREFIX)) { + throw new CacheWriteDeniedError(`Unable to reserve cache with key ${key}. More details: ${detailMessage}`); + } + throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${detailMessage}`); } - core30.debug(`Saving Cache (ID: ${cacheId})`); + core31.debug(`Saving Cache (ID: ${cacheId})`); yield cacheHttpClient.saveCache(cacheId, archivePath, "", options); } catch (error3) { const typedError = error3; if (typedError.name === ValidationError.name) { throw error3; + } else if (typedError.name === CacheWriteDeniedError.name) { + core31.warning(`Failed to save: ${typedError.message}`); } else if (typedError.name === ReserveCacheError2.name) { - core30.info(`Failed to save: ${typedError.message}`); + core31.info(`Failed to save: ${typedError.message}`); } else { if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core30.error(`Failed to save: ${typedError.message}`); + core31.error(`Failed to save: ${typedError.message}`); } else { - core30.warning(`Failed to save: ${typedError.message}`); + core31.warning(`Failed to save: ${typedError.message}`); } } } finally { try { yield utils.unlinkFile(archivePath); } catch (error3) { - core30.debug(`Failed to delete archive: ${error3}`); + core31.debug(`Failed to delete archive: ${error3}`); } } return cacheId; @@ -81462,28 +81636,29 @@ var require_cache4 = __commonJS({ } function saveCacheV2(paths_1, key_1, options_1) { return __awaiter2(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { + var _a2; options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true }); const compressionMethod = yield utils.getCompressionMethod(); const twirpClient = cacheTwirpClient.internalCacheTwirpClient(); let cacheId = -1; const cachePaths = yield utils.resolvePaths(paths); - core30.debug("Cache Paths:"); - core30.debug(`${JSON.stringify(cachePaths)}`); + core31.debug("Cache Paths:"); + core31.debug(`${JSON.stringify(cachePaths)}`); if (cachePaths.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.`); } const archiveFolder = yield utils.createTempDirectory(); - const archivePath = path29.join(archiveFolder, utils.getCacheFileName(compressionMethod)); - core30.debug(`Archive Path: ${archivePath}`); + const archivePath = path30.join(archiveFolder, utils.getCacheFileName(compressionMethod)); + core31.debug(`Archive Path: ${archivePath}`); try { yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod); - if (core30.isDebug()) { + if (core31.isDebug()) { yield (0, tar_1.listTar)(archivePath, compressionMethod); } const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath); - core30.debug(`File Size: ${archiveFileSize}`); + core31.debug(`File Size: ${archiveFileSize}`); options.archiveSizeBytes = archiveFileSize; - core30.debug("Reserving Cache"); + core31.debug("Reserving Cache"); const version = utils.getCacheVersion(paths, compressionMethod, enableCrossOsArchive); const request3 = { key, @@ -81493,17 +81668,21 @@ var require_cache4 = __commonJS({ try { const response = yield twirpClient.CreateCacheEntry(request3); if (!response.ok) { - if (response.message) { - core30.warning(`Cache reservation failed: ${response.message}`); + if (response.message && !response.message.startsWith(exports2.CACHE_WRITE_DENIED_PREFIX)) { + core31.warning(`Cache reservation failed: ${response.message}`); } throw new Error(response.message || "Response was not ok"); } signedUploadUrl = response.signedUploadUrl; } catch (error3) { - core30.debug(`Failed to reserve cache: ${error3}`); + core31.debug(`Failed to reserve cache: ${error3}`); + const errorMessage = (_a2 = error3 === null || error3 === void 0 ? void 0 : error3.message) !== null && _a2 !== void 0 ? _a2 : ""; + if (errorMessage.startsWith(exports2.CACHE_WRITE_DENIED_PREFIX)) { + throw new CacheWriteDeniedError(`Unable to reserve cache with key ${key}. More details: ${errorMessage}`); + } throw new ReserveCacheError2(`Unable to reserve cache with key ${key}, another job may be creating this cache.`); } - core30.debug(`Attempting to upload cache located at: ${archivePath}`); + core31.debug(`Attempting to upload cache located at: ${archivePath}`); yield cacheHttpClient.saveCache(cacheId, archivePath, signedUploadUrl, options); const finalizeRequest = { key, @@ -81511,7 +81690,7 @@ var require_cache4 = __commonJS({ sizeBytes: `${archiveFileSize}` }; const finalizeResponse = yield twirpClient.FinalizeCacheEntryUpload(finalizeRequest); - core30.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`); + core31.debug(`FinalizeCacheEntryUploadResponse: ${finalizeResponse.ok}`); if (!finalizeResponse.ok) { if (finalizeResponse.message) { throw new FinalizeCacheError(finalizeResponse.message); @@ -81523,22 +81702,24 @@ var require_cache4 = __commonJS({ const typedError = error3; if (typedError.name === ValidationError.name) { throw error3; + } else if (typedError.name === CacheWriteDeniedError.name) { + core31.warning(`Failed to save: ${typedError.message}`); } else if (typedError.name === ReserveCacheError2.name) { - core30.info(`Failed to save: ${typedError.message}`); + core31.info(`Failed to save: ${typedError.message}`); } else if (typedError.name === FinalizeCacheError.name) { - core30.warning(typedError.message); + core31.warning(typedError.message); } else { if (typedError instanceof http_client_1.HttpClientError && typeof typedError.statusCode === "number" && typedError.statusCode >= 500) { - core30.error(`Failed to save: ${typedError.message}`); + core31.error(`Failed to save: ${typedError.message}`); } else { - core30.warning(`Failed to save: ${typedError.message}`); + core31.warning(`Failed to save: ${typedError.message}`); } } } finally { try { yield utils.unlinkFile(archivePath); } catch (error3) { - core30.debug(`Failed to delete archive: ${error3}`); + core31.debug(`Failed to delete archive: ${error3}`); } } return cacheId; @@ -81590,11 +81771,11 @@ var require_manifest = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -81610,7 +81791,7 @@ var require_manifest = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -81623,12 +81804,12 @@ var require_manifest = __commonJS({ var core_1 = require_core(); var os7 = require("os"); var cp = require("child_process"); - var fs31 = require("fs"); + var fs32 = require("fs"); function _findMatch(versionSpec, stable, candidates, archFilter) { return __awaiter2(this, void 0, void 0, function* () { const platFilter = os7.platform(); let result; - let match; + let match2; let file; for (const candidate of candidates) { const version = candidate.version; @@ -81649,13 +81830,13 @@ var require_manifest = __commonJS({ }); if (file) { (0, core_1.debug)(`matched ${candidate.version}`); - match = candidate; + match2 = candidate; break; } } } - if (match && file) { - result = Object.assign({}, match); + if (match2 && file) { + result = Object.assign({}, match2); result.files = [file]; } return result; @@ -81685,10 +81866,10 @@ var require_manifest = __commonJS({ const lsbReleaseFile = "/etc/lsb-release"; const osReleaseFile = "/etc/os-release"; let contents = ""; - if (fs31.existsSync(lsbReleaseFile)) { - contents = fs31.readFileSync(lsbReleaseFile).toString(); - } else if (fs31.existsSync(osReleaseFile)) { - contents = fs31.readFileSync(osReleaseFile).toString(); + if (fs32.existsSync(lsbReleaseFile)) { + contents = fs32.readFileSync(lsbReleaseFile).toString(); + } else if (fs32.existsSync(osReleaseFile)) { + contents = fs32.readFileSync(osReleaseFile).toString(); } return contents; } @@ -81738,11 +81919,11 @@ var require_retry_helper = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -81758,14 +81939,14 @@ var require_retry_helper = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.RetryHelper = void 0; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var RetryHelper = class { constructor(maxAttempts, minSeconds, maxSeconds) { if (maxAttempts < 1) { @@ -81788,10 +81969,10 @@ var require_retry_helper = __commonJS({ if (isRetryable && !isRetryable(err)) { throw err; } - core30.info(err.message); + core31.info(err.message); } const seconds = this.getSleepAmount(); - core30.info(`Waiting ${seconds} seconds before trying again`); + core31.info(`Waiting ${seconds} seconds before trying again`); yield this.sleep(seconds); attempt++; } @@ -81803,7 +81984,7 @@ var require_retry_helper = __commonJS({ } sleep(seconds) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13) => setTimeout(resolve13, seconds * 1e3)); + return new Promise((resolve14) => setTimeout(resolve14, seconds * 1e3)); }); } }; @@ -81854,11 +82035,11 @@ var require_tool_cache = __commonJS({ })(); var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -81874,7 +82055,7 @@ var require_tool_cache = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -81894,17 +82075,17 @@ var require_tool_cache = __commonJS({ exports2.findFromManifest = findFromManifest; exports2.isExplicitVersion = isExplicitVersion; exports2.evaluateVersions = evaluateVersions; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var io9 = __importStar2(require_io()); var crypto3 = __importStar2(require("crypto")); - var fs31 = __importStar2(require("fs")); + var fs32 = __importStar2(require("fs")); var mm = __importStar2(require_manifest()); var os7 = __importStar2(require("os")); - var path29 = __importStar2(require("path")); + var path30 = __importStar2(require("path")); var httpm = __importStar2(require_lib()); var semver11 = __importStar2(require_semver2()); var stream2 = __importStar2(require("stream")); - var util = __importStar2(require("util")); + var util3 = __importStar2(require("util")); var assert_1 = require("assert"); var exec_1 = require_exec(); var retry_helper_1 = require_retry_helper(); @@ -81921,10 +82102,10 @@ var require_tool_cache = __commonJS({ var userAgent2 = "actions/tool-cache"; function downloadTool3(url2, dest, auth2, headers) { return __awaiter2(this, void 0, void 0, function* () { - dest = dest || path29.join(_getTempDirectory(), crypto3.randomUUID()); - yield io9.mkdirP(path29.dirname(dest)); - core30.debug(`Downloading ${url2}`); - core30.debug(`Destination ${dest}`); + dest = dest || path30.join(_getTempDirectory(), crypto3.randomUUID()); + yield io9.mkdirP(path30.dirname(dest)); + core31.debug(`Downloading ${url2}`); + core31.debug(`Destination ${dest}`); const maxAttempts = 3; const minSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS", 10); const maxSeconds = _getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS", 20); @@ -81943,14 +82124,14 @@ var require_tool_cache = __commonJS({ } function downloadToolAttempt(url2, dest, auth2, headers) { return __awaiter2(this, void 0, void 0, function* () { - if (fs31.existsSync(dest)) { + if (fs32.existsSync(dest)) { throw new Error(`Destination file path ${dest} already exists`); } const http = new httpm.HttpClient(userAgent2, [], { allowRetries: false }); if (auth2) { - core30.debug("set auth"); + core31.debug("set auth"); if (headers === void 0) { headers = {}; } @@ -81959,25 +82140,25 @@ var require_tool_cache = __commonJS({ const response = yield http.get(url2, headers); if (response.message.statusCode !== 200) { const err = new HTTPError2(response.message.statusCode); - core30.debug(`Failed to download from "${url2}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); + core31.debug(`Failed to download from "${url2}". Code(${response.message.statusCode}) Message(${response.message.statusMessage})`); throw err; } - const pipeline = util.promisify(stream2.pipeline); + const pipeline = util3.promisify(stream2.pipeline); const responseMessageFactory = _getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY", () => response.message); const readStream = responseMessageFactory(); let succeeded = false; try { - yield pipeline(readStream, fs31.createWriteStream(dest)); - core30.debug("download complete"); + yield pipeline(readStream, fs32.createWriteStream(dest)); + core31.debug("download complete"); succeeded = true; return dest; } finally { if (!succeeded) { - core30.debug("download failed"); + core31.debug("download failed"); try { yield io9.rmRF(dest); } catch (err) { - core30.debug(`Failed to delete '${dest}'. ${err.message}`); + core31.debug(`Failed to delete '${dest}'. ${err.message}`); } } } @@ -81992,7 +82173,7 @@ var require_tool_cache = __commonJS({ process.chdir(dest); if (_7zPath) { try { - const logLevel = core30.isDebug() ? "-bb1" : "-bb0"; + const logLevel = core31.isDebug() ? "-bb1" : "-bb0"; const args = [ "x", // eXtract files with full paths @@ -82012,7 +82193,7 @@ var require_tool_cache = __commonJS({ process.chdir(originalCwd); } } else { - const escapedScript = path29.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, ""); + const escapedScript = path30.join(__dirname, "..", "scripts", "Invoke-7zdec.ps1").replace(/'/g, "''").replace(/"|\n|\r/g, ""); const escapedFile = file.replace(/'/g, "''").replace(/"|\n|\r/g, ""); const escapedTarget = dest.replace(/'/g, "''").replace(/"|\n|\r/g, ""); const command = `& '${escapedScript}' -Source '${escapedFile}' -Target '${escapedTarget}'`; @@ -82045,7 +82226,7 @@ var require_tool_cache = __commonJS({ throw new Error("parameter 'file' is required"); } dest = yield _createExtractFolder(dest); - core30.debug("Checking tar --version"); + core31.debug("Checking tar --version"); let versionOutput = ""; yield (0, exec_1.exec)("tar --version", [], { ignoreReturnCode: true, @@ -82055,7 +82236,7 @@ var require_tool_cache = __commonJS({ stderr: (data) => versionOutput += data.toString() } }); - core30.debug(versionOutput.trim()); + core31.debug(versionOutput.trim()); const isGnuTar = versionOutput.toUpperCase().includes("GNU TAR"); let args; if (flags instanceof Array) { @@ -82063,7 +82244,7 @@ var require_tool_cache = __commonJS({ } else { args = [flags]; } - if (core30.isDebug() && !flags.includes("v")) { + if (core31.isDebug() && !flags.includes("v")) { args.push("-v"); } let destArg = dest; @@ -82094,7 +82275,7 @@ var require_tool_cache = __commonJS({ args = [flags]; } args.push("-x", "-C", dest, "-f", file); - if (core30.isDebug()) { + if (core31.isDebug()) { args.push("-v"); } const xarPath = yield io9.which("xar", true); @@ -82137,7 +82318,7 @@ var require_tool_cache = __commonJS({ "-Command", pwshCommand ]; - core30.debug(`Using pwsh at path: ${pwshPath}`); + core31.debug(`Using pwsh at path: ${pwshPath}`); yield (0, exec_1.exec)(`"${pwshPath}"`, args); } else { const powershellCommand = [ @@ -82157,7 +82338,7 @@ var require_tool_cache = __commonJS({ powershellCommand ]; const powershellPath = yield io9.which("powershell", true); - core30.debug(`Using powershell at path: ${powershellPath}`); + core31.debug(`Using powershell at path: ${powershellPath}`); yield (0, exec_1.exec)(`"${powershellPath}"`, args); } }); @@ -82166,7 +82347,7 @@ var require_tool_cache = __commonJS({ return __awaiter2(this, void 0, void 0, function* () { const unzipPath = yield io9.which("unzip", true); const args = [file]; - if (!core30.isDebug()) { + if (!core31.isDebug()) { args.unshift("-q"); } args.unshift("-o"); @@ -82177,14 +82358,14 @@ var require_tool_cache = __commonJS({ return __awaiter2(this, void 0, void 0, function* () { version = semver11.clean(version) || version; arch2 = arch2 || os7.arch(); - core30.debug(`Caching tool ${tool} ${version} ${arch2}`); - core30.debug(`source dir: ${sourceDir}`); - if (!fs31.statSync(sourceDir).isDirectory()) { + core31.debug(`Caching tool ${tool} ${version} ${arch2}`); + core31.debug(`source dir: ${sourceDir}`); + if (!fs32.statSync(sourceDir).isDirectory()) { throw new Error("sourceDir is not a directory"); } const destPath = yield _createToolPath(tool, version, arch2); - for (const itemName of fs31.readdirSync(sourceDir)) { - const s = path29.join(sourceDir, itemName); + for (const itemName of fs32.readdirSync(sourceDir)) { + const s = path30.join(sourceDir, itemName); yield io9.cp(s, destPath, { recursive: true }); } _completeToolPath(tool, version, arch2); @@ -82195,14 +82376,14 @@ var require_tool_cache = __commonJS({ return __awaiter2(this, void 0, void 0, function* () { version = semver11.clean(version) || version; arch2 = arch2 || os7.arch(); - core30.debug(`Caching tool ${tool} ${version} ${arch2}`); - core30.debug(`source file: ${sourceFile}`); - if (!fs31.statSync(sourceFile).isFile()) { + core31.debug(`Caching tool ${tool} ${version} ${arch2}`); + core31.debug(`source file: ${sourceFile}`); + if (!fs32.statSync(sourceFile).isFile()) { throw new Error("sourceFile is not a file"); } const destFolder = yield _createToolPath(tool, version, arch2); - const destPath = path29.join(destFolder, targetFile); - core30.debug(`destination file ${destPath}`); + const destPath = path30.join(destFolder, targetFile); + core31.debug(`destination file ${destPath}`); yield io9.cp(sourceFile, destPath); _completeToolPath(tool, version, arch2); return destFolder; @@ -82218,19 +82399,19 @@ var require_tool_cache = __commonJS({ arch2 = arch2 || os7.arch(); if (!isExplicitVersion(versionSpec)) { const localVersions = findAllVersions2(toolName, arch2); - const match = evaluateVersions(localVersions, versionSpec); - versionSpec = match; + const match2 = evaluateVersions(localVersions, versionSpec); + versionSpec = match2; } let toolPath = ""; if (versionSpec) { versionSpec = semver11.clean(versionSpec) || ""; - const cachePath = path29.join(_getCacheDirectory(), toolName, versionSpec, arch2); - core30.debug(`checking cache: ${cachePath}`); - if (fs31.existsSync(cachePath) && fs31.existsSync(`${cachePath}.complete`)) { - core30.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch2}`); + const cachePath = path30.join(_getCacheDirectory(), toolName, versionSpec, arch2); + core31.debug(`checking cache: ${cachePath}`); + if (fs32.existsSync(cachePath) && fs32.existsSync(`${cachePath}.complete`)) { + core31.debug(`Found tool in cache ${toolName} ${versionSpec} ${arch2}`); toolPath = cachePath; } else { - core30.debug("not found"); + core31.debug("not found"); } } return toolPath; @@ -82238,13 +82419,13 @@ var require_tool_cache = __commonJS({ function findAllVersions2(toolName, arch2) { const versions = []; arch2 = arch2 || os7.arch(); - const toolPath = path29.join(_getCacheDirectory(), toolName); - if (fs31.existsSync(toolPath)) { - const children = fs31.readdirSync(toolPath); + const toolPath = path30.join(_getCacheDirectory(), toolName); + if (fs32.existsSync(toolPath)) { + const children = fs32.readdirSync(toolPath); for (const child of children) { if (isExplicitVersion(child)) { - const fullPath = path29.join(toolPath, child, arch2 || ""); - if (fs31.existsSync(fullPath) && fs31.existsSync(`${fullPath}.complete`)) { + const fullPath = path30.join(toolPath, child, arch2 || ""); + if (fs32.existsSync(fullPath) && fs32.existsSync(`${fullPath}.complete`)) { versions.push(child); } } @@ -82259,7 +82440,7 @@ var require_tool_cache = __commonJS({ const http = new httpm.HttpClient("tool-cache"); const headers = {}; if (auth2) { - core30.debug("set auth"); + core31.debug("set auth"); headers.authorization = auth2; } const response = yield http.getJson(treeUrl, headers); @@ -82279,8 +82460,8 @@ var require_tool_cache = __commonJS({ versionsRaw = versionsRaw.replace(/^\uFEFF/, ""); try { releases = JSON.parse(versionsRaw); - } catch (_a) { - core30.debug("Invalid json"); + } catch (_a2) { + core31.debug("Invalid json"); } } return releases; @@ -82288,14 +82469,14 @@ var require_tool_cache = __commonJS({ } function findFromManifest(versionSpec_1, stable_1, manifest_1) { return __awaiter2(this, arguments, void 0, function* (versionSpec, stable, manifest, archFilter = os7.arch()) { - const match = yield mm._findMatch(versionSpec, stable, manifest, archFilter); - return match; + const match2 = yield mm._findMatch(versionSpec, stable, manifest, archFilter); + return match2; }); } function _createExtractFolder(dest) { return __awaiter2(this, void 0, void 0, function* () { if (!dest) { - dest = path29.join(_getTempDirectory(), crypto3.randomUUID()); + dest = path30.join(_getTempDirectory(), crypto3.randomUUID()); } yield io9.mkdirP(dest); return dest; @@ -82303,8 +82484,8 @@ var require_tool_cache = __commonJS({ } function _createToolPath(tool, version, arch2) { return __awaiter2(this, void 0, void 0, function* () { - const folderPath = path29.join(_getCacheDirectory(), tool, semver11.clean(version) || version, arch2 || ""); - core30.debug(`destination ${folderPath}`); + const folderPath = path30.join(_getCacheDirectory(), tool, semver11.clean(version) || version, arch2 || ""); + core31.debug(`destination ${folderPath}`); const markerPath = `${folderPath}.complete`; yield io9.rmRF(folderPath); yield io9.rmRF(markerPath); @@ -82313,21 +82494,21 @@ var require_tool_cache = __commonJS({ }); } function _completeToolPath(tool, version, arch2) { - const folderPath = path29.join(_getCacheDirectory(), tool, semver11.clean(version) || version, arch2 || ""); + const folderPath = path30.join(_getCacheDirectory(), tool, semver11.clean(version) || version, arch2 || ""); const markerPath = `${folderPath}.complete`; - fs31.writeFileSync(markerPath, ""); - core30.debug("finished caching tool"); + fs32.writeFileSync(markerPath, ""); + core31.debug("finished caching tool"); } function isExplicitVersion(versionSpec) { const c = semver11.clean(versionSpec) || ""; - core30.debug(`isExplicit: ${c}`); + core31.debug(`isExplicit: ${c}`); const valid4 = semver11.valid(c) != null; - core30.debug(`explicit? ${valid4}`); + core31.debug(`explicit? ${valid4}`); return valid4; } function evaluateVersions(versions, versionSpec) { let version = ""; - core30.debug(`evaluating ${versions.length} versions`); + core31.debug(`evaluating ${versions.length} versions`); versions = versions.sort((a, b) => { if (semver11.gt(a, b)) { return 1; @@ -82343,9 +82524,9 @@ var require_tool_cache = __commonJS({ } } if (version) { - core30.debug(`matched: ${version}`); + core31.debug(`matched: ${version}`); } else { - core30.debug("match not found"); + core31.debug("match not found"); } return version; } @@ -85927,7 +86108,7 @@ var require_config2 = __commonJS({ }); // node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js -var require_timestamp2 = __commonJS({ +var require_timestamp = __commonJS({ "node_modules/@actions/artifact/lib/generated/google/protobuf/timestamp.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); @@ -86681,7 +86862,7 @@ var require_artifact = __commonJS({ var runtime_5 = require_commonjs16(); var wrappers_1 = require_wrappers(); var wrappers_2 = require_wrappers(); - var timestamp_1 = require_timestamp2(); + var timestamp_1 = require_timestamp(); var MigrateArtifactRequest$Type = class extends runtime_5.MessageType { constructor() { super("github.actions.results.api.v1.MigrateArtifactRequest", [ @@ -87897,7 +88078,7 @@ var require_generated = __commonJS({ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding2(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); - __exportStar2(require_timestamp2(), exports2); + __exportStar2(require_timestamp(), exports2); __exportStar2(require_wrappers(), exports2); __exportStar2(require_artifact(), exports2); __exportStar2(require_artifact_twirp_client(), exports2); @@ -87938,14 +88119,14 @@ var require_retention = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getExpiration = void 0; var generated_1 = require_generated(); - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); function getExpiration(retentionDays) { if (!retentionDays) { return void 0; } const maxRetentionDays = getRetentionDays(); if (maxRetentionDays && maxRetentionDays < retentionDays) { - core30.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`); + core31.warning(`Retention days cannot be greater than the maximum allowed retention set within the repository. Using ${maxRetentionDays} instead.`); retentionDays = maxRetentionDays; } const expirationDate = /* @__PURE__ */ new Date(); @@ -88006,13 +88187,13 @@ These characters are not allowed in the artifact name due to limitations with ce (0, core_1.info)(`Artifact name is valid!`); } exports2.validateArtifactName = validateArtifactName; - function validateFilePath(path29) { - if (!path29) { + function validateFilePath(path30) { + if (!path30) { throw new Error(`Provided file path input during validation is empty`); } for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) { - if (path29.includes(invalidCharacterKey)) { - throw new Error(`The path for one of the files in artifact is not valid: ${path29}. Contains the following character: ${errorMessageForCharacter} + if (path30.includes(invalidCharacterKey)) { + throw new Error(`The path for one of the files in artifact is not valid: ${path30}. Contains the following character: ${errorMessageForCharacter} Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()} @@ -88283,7 +88464,7 @@ var require_util11 = __commonJS({ }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.maskSecretUrls = exports2.maskSigUrl = exports2.getBackendIdsFromToken = void 0; - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var config_1 = require_config2(); var jwt_decode_1 = __importDefault2(require_jwt_decode_cjs()); var core_1 = require_core(); @@ -88310,8 +88491,8 @@ var require_util11 = __commonJS({ workflowRunBackendId: scopeParts[1], workflowJobRunBackendId: scopeParts[2] }; - core30.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`); - core30.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`); + core31.debug(`Workflow Run Backend ID: ${ids.workflowRunBackendId}`); + core31.debug(`Workflow Job Run Backend ID: ${ids.workflowJobRunBackendId}`); return ids; } throw InvalidJwtError; @@ -88354,11 +88535,11 @@ var require_artifact_twirp_client2 = __commonJS({ "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -88374,7 +88555,7 @@ var require_artifact_twirp_client2 = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -88501,7 +88682,7 @@ var require_artifact_twirp_client2 = __commonJS({ } sleep(milliseconds) { return __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13) => setTimeout(resolve13, milliseconds)); + return new Promise((resolve14) => setTimeout(resolve14, milliseconds)); }); } getExponentialRetryTimeMilliseconds(attempt) { @@ -88557,15 +88738,15 @@ var require_upload_zip_specification = __commonJS({ }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getUploadZipSpecification = exports2.validateRootDirectory = void 0; - var fs31 = __importStar2(require("fs")); + var fs32 = __importStar2(require("fs")); var core_1 = require_core(); var path_1 = require("path"); var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation(); function validateRootDirectory(rootDirectory) { - if (!fs31.existsSync(rootDirectory)) { + if (!fs32.existsSync(rootDirectory)) { throw new Error(`The provided rootDirectory ${rootDirectory} does not exist`); } - if (!fs31.statSync(rootDirectory).isDirectory()) { + if (!fs32.statSync(rootDirectory).isDirectory()) { throw new Error(`The provided rootDirectory ${rootDirectory} is not a valid directory`); } (0, core_1.info)(`Root directory input is valid!`); @@ -88576,7 +88757,7 @@ var require_upload_zip_specification = __commonJS({ rootDirectory = (0, path_1.normalize)(rootDirectory); rootDirectory = (0, path_1.resolve)(rootDirectory); for (let file of filesToZip) { - const stats = fs31.lstatSync(file, { throwIfNoEntry: false }); + const stats = fs32.lstatSync(file, { throwIfNoEntry: false }); if (!stats) { throw new Error(`File ${file} does not exist`); } @@ -88642,11 +88823,11 @@ var require_blob_upload = __commonJS({ }; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { - return value instanceof P ? value : new P(function(resolve13) { - resolve13(value); + return value instanceof P ? value : new P(function(resolve14) { + resolve14(value); }); } - return new (P || (P = Promise))(function(resolve13, reject) { + return new (P || (P = Promise))(function(resolve14, reject) { function fulfilled(value) { try { step(generator.next(value)); @@ -88662,7 +88843,7 @@ var require_blob_upload = __commonJS({ } } function step(result) { - result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected); + result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); @@ -88671,7 +88852,7 @@ var require_blob_upload = __commonJS({ exports2.uploadZipToBlobStorage = void 0; var storage_blob_1 = require_commonjs15(); var config_1 = require_config2(); - var core30 = __importStar2(require_core()); + var core31 = __importStar2(require_core()); var crypto3 = __importStar2(require("crypto")); var stream2 = __importStar2(require("stream")); var errors_1 = require_errors3(); @@ -88681,7 +88862,7 @@ var require_blob_upload = __commonJS({ let lastProgressTime = Date.now(); const abortController = new AbortController(); const chunkTimer = (interval) => __awaiter2(this, void 0, void 0, function* () { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { const timer = setInterval(() => { if (Date.now() - lastProgressTime > interval) { reject(new Error("Upload progress stalled.")); @@ -88689,7 +88870,7 @@ var require_blob_upload = __commonJS({ }, interval); abortController.signal.addEventListener("abort", () => { clearInterval(timer); - resolve13(); + resolve14(); }); }); }); @@ -88697,9 +88878,9 @@ var require_blob_upload = __commonJS({ const bufferSize = (0, config_1.getUploadChunkSize)(); const blobClient = new storage_blob_1.BlobClient(authenticatedUploadURL); const blockBlobClient = blobClient.getBlockBlobClient(); - core30.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`); + core31.debug(`Uploading artifact zip to blob storage with maxConcurrency: ${maxConcurrency}, bufferSize: ${bufferSize}`); const uploadCallback = (progress) => { - core30.info(`Uploaded bytes ${progress.loadedBytes}`); + core31.info(`Uploaded bytes ${progress.loadedBytes}`); uploadByteCount = progress.loadedBytes; lastProgressTime = Date.now(); }; @@ -88713,7 +88894,7 @@ var require_blob_upload = __commonJS({ const hashStream = crypto3.createHash("sha256"); zipUploadStream.pipe(uploadStream); zipUploadStream.pipe(hashStream).setEncoding("hex"); - core30.info("Beginning upload of artifact content to blob storage"); + core31.info("Beginning upload of artifact content to blob storage"); try { yield Promise.race([ blockBlobClient.uploadStream(uploadStream, bufferSize, maxConcurrency, options), @@ -88727,12 +88908,12 @@ var require_blob_upload = __commonJS({ } finally { abortController.abort(); } - core30.info("Finished uploading artifact content to blob storage!"); + core31.info("Finished uploading artifact content to blob storage!"); hashStream.end(); sha256Hash = hashStream.read(); - core30.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`); + core31.info(`SHA256 digest of uploaded artifact zip is ${sha256Hash}`); if (uploadByteCount === 0) { - core30.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`); + core31.warning(`No data was uploaded to blob storage. Reported upload byte count is 0.`); } return { uploadSize: uploadByteCount, @@ -88744,38 +88925,38 @@ var require_blob_upload = __commonJS({ } }); -// node_modules/readdir-glob/node_modules/minimatch/lib/path.js +// node_modules/@actions/artifact/node_modules/minimatch/lib/path.js var require_path = __commonJS({ - "node_modules/readdir-glob/node_modules/minimatch/lib/path.js"(exports2, module2) { + "node_modules/@actions/artifact/node_modules/minimatch/lib/path.js"(exports2, module2) { var isWindows = typeof process === "object" && process && process.platform === "win32"; module2.exports = isWindows ? { sep: "\\" } : { sep: "/" }; } }); -// node_modules/readdir-glob/node_modules/brace-expansion/index.js +// node_modules/@actions/artifact/node_modules/brace-expansion/index.js var require_brace_expansion2 = __commonJS({ - "node_modules/readdir-glob/node_modules/brace-expansion/index.js"(exports2, module2) { - var balanced = require_balanced_match(); + "node_modules/@actions/artifact/node_modules/brace-expansion/index.js"(exports2, module2) { + var balanced2 = require_balanced_match(); module2.exports = expandTop; - var escSlash = "\0SLASH" + Math.random() + "\0"; - var escOpen = "\0OPEN" + Math.random() + "\0"; - var escClose = "\0CLOSE" + Math.random() + "\0"; - var escComma = "\0COMMA" + Math.random() + "\0"; - var escPeriod = "\0PERIOD" + Math.random() + "\0"; - function numeric(str) { + var escSlash2 = "\0SLASH" + Math.random() + "\0"; + var escOpen2 = "\0OPEN" + Math.random() + "\0"; + var escClose2 = "\0CLOSE" + Math.random() + "\0"; + var escComma2 = "\0COMMA" + Math.random() + "\0"; + var escPeriod2 = "\0PERIOD" + Math.random() + "\0"; + function numeric2(str) { return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0); } - function escapeBraces(str) { - return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod); + function escapeBraces2(str) { + return str.split("\\\\").join(escSlash2).split("\\{").join(escOpen2).split("\\}").join(escClose2).split("\\,").join(escComma2).split("\\.").join(escPeriod2); } - function unescapeBraces(str) { - return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join("."); + function unescapeBraces2(str) { + return str.split(escSlash2).join("\\").split(escOpen2).join("{").split(escClose2).join("}").split(escComma2).join(",").split(escPeriod2).join("."); } - function parseCommaParts(str) { + function parseCommaParts2(str) { if (!str) return [""]; var parts = []; - var m = balanced("{", "}", str); + var m = balanced2("{", "}", str); if (!m) return str.split(","); var pre = m.pre; @@ -88783,7 +88964,7 @@ var require_brace_expansion2 = __commonJS({ var post = m.post; var p = pre.split(","); p[p.length - 1] += "{" + body + "}"; - var postParts = parseCommaParts(post); + var postParts = parseCommaParts2(post); if (post.length) { p[p.length - 1] += postParts.shift(); p.push.apply(p, postParts); @@ -88799,26 +88980,26 @@ var require_brace_expansion2 = __commonJS({ if (str.substr(0, 2) === "{}") { str = "\\{\\}" + str.substr(2); } - return expand2(escapeBraces(str), max, true).map(unescapeBraces); + return expand3(escapeBraces2(str), max, true).map(unescapeBraces2); } - function embrace(str) { + function embrace2(str) { return "{" + str + "}"; } - function isPadded(el) { + function isPadded2(el) { return /^-?0\d/.test(el); } - function lte(i, y) { + function lte2(i, y) { return i <= y; } - function gte6(i, y) { + function gte7(i, y) { return i >= y; } - function expand2(str, max, isTop) { + function expand3(str, max, isTop) { var expansions = []; - var m = balanced("{", "}", str); + var m = balanced2("{", "}", str); if (!m) return [str]; var pre = m.pre; - var post = m.post.length ? expand2(m.post, max, false) : [""]; + var post = m.post.length ? expand3(m.post, max, false) : [""]; if (/\$$/.test(m.pre)) { for (var k = 0; k < post.length && k < max; k++) { var expansion = pre + "{" + m.body + "}" + post[k]; @@ -88831,8 +89012,8 @@ var require_brace_expansion2 = __commonJS({ var isOptions = m.body.indexOf(",") >= 0; if (!isSequence && !isOptions) { if (m.post.match(/,(?!,).*\}/)) { - str = m.pre + "{" + m.body + escClose + m.post; - return expand2(str, max, true); + str = m.pre + "{" + m.body + escClose2 + m.post; + return expand3(str, max, true); } return [str]; } @@ -88840,9 +89021,9 @@ var require_brace_expansion2 = __commonJS({ if (isSequence) { n = m.body.split(/\.\./); } else { - n = parseCommaParts(m.body); + n = parseCommaParts2(m.body); if (n.length === 1) { - n = expand2(n[0], max, false).map(embrace); + n = expand3(n[0], max, false).map(embrace2); if (n.length === 1) { return post.map(function(p) { return m.pre + n[0] + p; @@ -88852,19 +89033,19 @@ var require_brace_expansion2 = __commonJS({ } var N; if (isSequence) { - var x = numeric(n[0]); - var y = numeric(n[1]); + var x = numeric2(n[0]); + var y = numeric2(n[1]); var width = Math.max(n[0].length, n[1].length); - var incr = n.length == 3 ? Math.max(Math.abs(numeric(n[2])), 1) : 1; - var test = lte; + var incr = n.length == 3 ? Math.max(Math.abs(numeric2(n[2])), 1) : 1; + var test = lte2; var reverse = y < x; if (reverse) { incr *= -1; - test = gte6; + test = gte7; } - var pad = n.some(isPadded); + var pad = n.some(isPadded2); N = []; - for (var i = x; test(i, y); i += incr) { + for (var i = x; test(i, y) && N.length < max; i += incr) { var c; if (isAlphaSequence) { c = String.fromCharCode(i); @@ -88888,7 +89069,7 @@ var require_brace_expansion2 = __commonJS({ } else { N = []; for (var j = 0; j < n.length; j++) { - N.push.apply(N, expand2(n[j], max, false)); + N.push.apply(N, expand3(n[j], max, false)); } } for (var j = 0; j < N.length; j++) { @@ -88904,22 +89085,22 @@ var require_brace_expansion2 = __commonJS({ } }); -// node_modules/readdir-glob/node_modules/minimatch/minimatch.js +// node_modules/@actions/artifact/node_modules/minimatch/minimatch.js var require_minimatch2 = __commonJS({ - "node_modules/readdir-glob/node_modules/minimatch/minimatch.js"(exports2, module2) { - var minimatch = module2.exports = (p, pattern, options = {}) => { - assertValidPattern(pattern); + "node_modules/@actions/artifact/node_modules/minimatch/minimatch.js"(exports2, module2) { + var minimatch2 = module2.exports = (p, pattern, options = {}) => { + assertValidPattern2(pattern); if (!options.nocomment && pattern.charAt(0) === "#") { return false; } - return new Minimatch(pattern, options).match(p); + return new Minimatch2(pattern, options).match(p); }; - module2.exports = minimatch; - var path29 = require_path(); - minimatch.sep = path29.sep; - var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **"); - minimatch.GLOBSTAR = GLOBSTAR; - var expand2 = require_brace_expansion2(); + module2.exports = minimatch2; + var path30 = require_path(); + minimatch2.sep = path30.sep; + var GLOBSTAR2 = /* @__PURE__ */ Symbol("globstar **"); + minimatch2.GLOBSTAR = GLOBSTAR2; + var expand3 = require_brace_expansion2(); var plTypes = { "!": { open: "(?:(?!(?:", close: "))[^/]*?)" }, "?": { open: "(?:", close: ")?" }, @@ -88927,64 +89108,64 @@ var require_minimatch2 = __commonJS({ "*": { open: "(?:", close: ")*" }, "@": { open: "(?:", close: ")" } }; - var qmark = "[^/]"; - var star = qmark + "*?"; - var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; - var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; + var qmark3 = "[^/]"; + var star3 = qmark3 + "*?"; + var twoStarDot2 = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; + var twoStarNoDot2 = "(?:(?!(?:\\/|^)\\.).)*?"; var charSet = (s) => s.split("").reduce((set, c) => { set[c] = true; return set; }, {}); - var reSpecials = charSet("().*{}+?[]^$\\!"); + var reSpecials2 = charSet("().*{}+?[]^$\\!"); var addPatternStartSet = charSet("[.("); var slashSplit = /\/+/; - minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options); - var ext = (a, b = {}) => { + minimatch2.filter = (pattern, options = {}) => (p, i, list) => minimatch2(p, pattern, options); + var ext2 = (a, b = {}) => { const t = {}; Object.keys(a).forEach((k) => t[k] = a[k]); Object.keys(b).forEach((k) => t[k] = b[k]); return t; }; - minimatch.defaults = (def) => { + minimatch2.defaults = (def) => { if (!def || typeof def !== "object" || !Object.keys(def).length) { - return minimatch; + return minimatch2; } - const orig = minimatch; - const m = (p, pattern, options) => orig(p, pattern, ext(def, options)); + const orig = minimatch2; + const m = (p, pattern, options) => orig(p, pattern, ext2(def, options)); m.Minimatch = class Minimatch extends orig.Minimatch { constructor(pattern, options) { - super(pattern, ext(def, options)); + super(pattern, ext2(def, options)); } }; - m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch; - m.filter = (pattern, options) => orig.filter(pattern, ext(def, options)); - m.defaults = (options) => orig.defaults(ext(def, options)); - m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options)); - m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options)); - m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options)); + m.Minimatch.defaults = (options) => orig.defaults(ext2(def, options)).Minimatch; + m.filter = (pattern, options) => orig.filter(pattern, ext2(def, options)); + m.defaults = (options) => orig.defaults(ext2(def, options)); + m.makeRe = (pattern, options) => orig.makeRe(pattern, ext2(def, options)); + m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext2(def, options)); + m.match = (list, pattern, options) => orig.match(list, pattern, ext2(def, options)); return m; }; - minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options); - var braceExpand = (pattern, options = {}) => { - assertValidPattern(pattern); + minimatch2.braceExpand = (pattern, options) => braceExpand2(pattern, options); + var braceExpand2 = (pattern, options = {}) => { + assertValidPattern2(pattern); if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { return [pattern]; } - return expand2(pattern); + return expand3(pattern); }; - var MAX_PATTERN_LENGTH = 1024 * 64; - var assertValidPattern = (pattern) => { + var MAX_PATTERN_LENGTH2 = 1024 * 64; + var assertValidPattern2 = (pattern) => { if (typeof pattern !== "string") { throw new TypeError("invalid pattern"); } - if (pattern.length > MAX_PATTERN_LENGTH) { + if (pattern.length > MAX_PATTERN_LENGTH2) { throw new TypeError("pattern is too long"); } }; var SUBPARSE = /* @__PURE__ */ Symbol("subparse"); - minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe(); - minimatch.match = (list, pattern, options = {}) => { - const mm = new Minimatch(pattern, options); + minimatch2.makeRe = (pattern, options) => new Minimatch2(pattern, options || {}).makeRe(); + minimatch2.match = (list, pattern, options = {}) => { + const mm = new Minimatch2(pattern, options); list = list.filter((f) => mm.match(f)); if (mm.options.nonull && !list.length) { list.push(pattern); @@ -88993,11 +89174,11 @@ var require_minimatch2 = __commonJS({ }; var globUnescape = (s) => s.replace(/\\(.)/g, "$1"); var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1"); - var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var regExpEscape3 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&"); - var Minimatch = class { + var Minimatch2 = class { constructor(pattern, options) { - assertValidPattern(pattern); + assertValidPattern2(pattern); if (!options) options = {}; this.options = options; this.maxGlobstarRecursion = options.maxGlobstarRecursion !== void 0 ? options.maxGlobstarRecursion : 200; @@ -89057,7 +89238,7 @@ var require_minimatch2 = __commonJS({ // out of pattern, then that's fine, as long as all // the parts match. matchOne(file, pattern, partial) { - if (pattern.indexOf(GLOBSTAR) !== -1) { + if (pattern.indexOf(GLOBSTAR2) !== -1) { return this._matchGlobstar(file, pattern, partial, 0, 0); } return this._matchOne(file, pattern, partial, 0, 0); @@ -89065,14 +89246,14 @@ var require_minimatch2 = __commonJS({ _matchGlobstar(file, pattern, partial, fileIndex, patternIndex) { let firstgs = -1; for (let i = patternIndex; i < pattern.length; i++) { - if (pattern[i] === GLOBSTAR) { + if (pattern[i] === GLOBSTAR2) { firstgs = i; break; } } let lastgs = -1; for (let i = pattern.length - 1; i >= 0; i--) { - if (pattern[i] === GLOBSTAR) { + if (pattern[i] === GLOBSTAR2) { lastgs = i; break; } @@ -89119,7 +89300,7 @@ var require_minimatch2 = __commonJS({ let nonGsParts = 0; const nonGsPartsSums = [0]; for (const b of body) { - if (b === GLOBSTAR) { + if (b === GLOBSTAR2) { nonGsPartsSums.push(nonGsParts); currentBody = [[], 0]; bodySegments.push(currentBody); @@ -89195,7 +89376,7 @@ var require_minimatch2 = __commonJS({ const p = pattern[pi]; const f = file[fi]; this.debug(pattern, p, f); - if (p === false || p === GLOBSTAR) return false; + if (p === false || p === GLOBSTAR2) return false; let hit; if (typeof p === "string") { hit = f === p; @@ -89216,14 +89397,14 @@ var require_minimatch2 = __commonJS({ throw new Error("wtf?"); } braceExpand() { - return braceExpand(this.pattern, this.options); + return braceExpand2(this.pattern, this.options); } parse(pattern, isSub) { - assertValidPattern(pattern); + assertValidPattern2(pattern); const options = this.options; if (pattern === "**") { if (!options.noglobstar) - return GLOBSTAR; + return GLOBSTAR2; else pattern = "*"; } @@ -89248,11 +89429,11 @@ var require_minimatch2 = __commonJS({ if (stateChar) { switch (stateChar) { case "*": - re += star; + re += star3; hasMagic = true; break; case "?": - re += qmark; + re += qmark3; hasMagic = true; break; default: @@ -89269,7 +89450,7 @@ var require_minimatch2 = __commonJS({ if (c === "/") { return false; } - if (reSpecials[c]) { + if (reSpecials2[c]) { re += "\\"; } re += c; @@ -89395,7 +89576,7 @@ var require_minimatch2 = __commonJS({ continue; default: clearStateChar(); - if (reSpecials[c] && !(c === "^" && inClass)) { + if (reSpecials2[c] && !(c === "^" && inClass)) { re += "\\"; } re += c; @@ -89419,7 +89600,7 @@ var require_minimatch2 = __commonJS({ return $1 + $1 + $2 + "|"; }); this.debug("tail=%j\n %s", tail, tail, pl, re); - const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; + const t = pl.type === "*" ? star3 : pl.type === "?" ? qmark3 : "\\" + pl.type; hasMagic = true; re = re.slice(0, pl.reStart) + t + "\\(" + tail; } @@ -89427,7 +89608,7 @@ var require_minimatch2 = __commonJS({ if (escaping) { re += "\\\\"; } - const addPatternStart = addPatternStartSet[re.charAt(0)]; + const addPatternStart2 = addPatternStartSet[re.charAt(0)]; for (let n = negativeLists.length - 1; n > -1; n--) { const nl = negativeLists[n]; const nlBefore = re.slice(0, nl.reStart); @@ -89447,7 +89628,7 @@ var require_minimatch2 = __commonJS({ if (re !== "" && hasMagic) { re = "(?=.)" + re; } - if (addPatternStart) { + if (addPatternStart2) { re = patternStart() + re; } if (isSub === SUBPARSE) { @@ -89477,19 +89658,19 @@ var require_minimatch2 = __commonJS({ return this.regexp; } const options = this.options; - const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; + const twoStar = options.noglobstar ? star3 : options.dot ? twoStarDot2 : twoStarNoDot2; const flags = options.nocase ? "i" : ""; let re = set.map((pattern) => { pattern = pattern.map( - (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src + (p) => typeof p === "string" ? regExpEscape3(p) : p === GLOBSTAR2 ? GLOBSTAR2 : p._src ).reduce((set2, p) => { - if (!(set2[set2.length - 1] === GLOBSTAR && p === GLOBSTAR)) { + if (!(set2[set2.length - 1] === GLOBSTAR2 && p === GLOBSTAR2)) { set2.push(p); } return set2; }, []); pattern.forEach((p, i) => { - if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) { + if (p !== GLOBSTAR2 || pattern[i - 1] === GLOBSTAR2) { return; } if (i === 0) { @@ -89502,10 +89683,10 @@ var require_minimatch2 = __commonJS({ pattern[i - 1] += "(?:\\/|" + twoStar + ")?"; } else { pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1]; - pattern[i + 1] = GLOBSTAR; + pattern[i + 1] = GLOBSTAR2; } }); - return pattern.filter((p) => p !== GLOBSTAR).join("/"); + return pattern.filter((p) => p !== GLOBSTAR2).join("/"); }).join("|"); re = "^(?:" + re + ")$"; if (this.negate) re = "^(?!" + re + ").*$"; @@ -89522,8 +89703,8 @@ var require_minimatch2 = __commonJS({ if (this.empty) return f === ""; if (f === "/" && partial) return true; const options = this.options; - if (path29.sep !== "/") { - f = f.split(path29.sep).join("/"); + if (path30.sep !== "/") { + f = f.split(path30.sep).join("/"); } f = f.split(slashSplit); this.debug(this.pattern, "split", f); @@ -89550,31 +89731,31 @@ var require_minimatch2 = __commonJS({ return this.negate; } static defaults(def) { - return minimatch.defaults(def).Minimatch; + return minimatch2.defaults(def).Minimatch; } }; - minimatch.Minimatch = Minimatch; + minimatch2.Minimatch = Minimatch2; } }); -// node_modules/readdir-glob/index.js +// node_modules/@actions/artifact/node_modules/readdir-glob/index.js var require_readdir_glob = __commonJS({ - "node_modules/readdir-glob/index.js"(exports2, module2) { - module2.exports = readdirGlob; - var fs31 = require("fs"); - var { EventEmitter } = require("events"); - var { Minimatch } = require_minimatch2(); - var { resolve: resolve13 } = require("path"); - function readdir(dir, strict) { - return new Promise((resolve14, reject) => { - fs31.readdir(dir, { withFileTypes: true }, (err, files) => { + "node_modules/@actions/artifact/node_modules/readdir-glob/index.js"(exports2, module2) { + module2.exports = readdirGlob2; + var fs32 = require("fs"); + var { EventEmitter: EventEmitter2 } = require("events"); + var { Minimatch: Minimatch2 } = require_minimatch2(); + var { resolve: resolve14 } = require("path"); + function readdir3(dir, strict) { + return new Promise((resolve15, reject) => { + fs32.readdir(dir, { withFileTypes: true }, (err, files) => { if (err) { switch (err.code) { case "ENOTDIR": if (strict) { reject(err); } else { - resolve14([]); + resolve15([]); } break; case "ENOTSUP": @@ -89584,7 +89765,7 @@ var require_readdir_glob = __commonJS({ case "ENAMETOOLONG": // Filename too long case "UNKNOWN": - resolve14([]); + resolve15([]); break; case "ELOOP": // Too many levels of symbolic links @@ -89593,36 +89774,36 @@ var require_readdir_glob = __commonJS({ break; } } else { - resolve14(files); + resolve15(files); } }); }); } - function stat(file, followSymlinks) { - return new Promise((resolve14, reject) => { - const statFunc = followSymlinks ? fs31.stat : fs31.lstat; + function stat2(file, followSymlinks) { + return new Promise((resolve15, reject) => { + const statFunc = followSymlinks ? fs32.stat : fs32.lstat; statFunc(file, (err, stats) => { if (err) { switch (err.code) { case "ENOENT": if (followSymlinks) { - resolve14(stat(file, false)); + resolve15(stat2(file, false)); } else { - resolve14(null); + resolve15(null); } break; default: - resolve14(null); + resolve15(null); break; } } else { - resolve14(stats); + resolve15(stats); } }); }); } - async function* exploreWalkAsync(dir, path29, followSymlinks, useStat, shouldSkip, strict) { - let files = await readdir(path29 + dir, strict); + async function* exploreWalkAsync2(dir, path30, followSymlinks, useStat, shouldSkip, strict) { + let files = await readdir3(path30 + dir, strict); for (const file of files) { let name = file.name; if (name === void 0) { @@ -89631,10 +89812,10 @@ var require_readdir_glob = __commonJS({ } const filename = dir + "/" + name; const relative3 = filename.slice(1); - const absolute = path29 + "/" + relative3; + const absolute = path30 + "/" + relative3; let stats = null; if (useStat || followSymlinks) { - stats = await stat(absolute, followSymlinks); + stats = await stat2(absolute, followSymlinks); } if (!stats && file.name !== void 0) { stats = file; @@ -89645,17 +89826,17 @@ var require_readdir_glob = __commonJS({ if (stats.isDirectory()) { if (!shouldSkip(relative3)) { yield { relative: relative3, absolute, stats }; - yield* exploreWalkAsync(filename, path29, followSymlinks, useStat, shouldSkip, false); + yield* exploreWalkAsync2(filename, path30, followSymlinks, useStat, shouldSkip, false); } } else { yield { relative: relative3, absolute, stats }; } } } - async function* explore(path29, followSymlinks, useStat, shouldSkip) { - yield* exploreWalkAsync("", path29, followSymlinks, useStat, shouldSkip, true); + async function* explore2(path30, followSymlinks, useStat, shouldSkip) { + yield* exploreWalkAsync2("", path30, followSymlinks, useStat, shouldSkip, true); } - function readOptions(options) { + function readOptions2(options) { return { pattern: options.pattern, dot: !!options.dot, @@ -89672,19 +89853,19 @@ var require_readdir_glob = __commonJS({ absolute: !!options.absolute }; } - var ReaddirGlob = class extends EventEmitter { + var ReaddirGlob3 = class extends EventEmitter2 { constructor(cwd, options, cb) { super(); if (typeof options === "function") { cb = options; options = null; } - this.options = readOptions(options || {}); + this.options = readOptions2(options || {}); this.matchers = []; if (this.options.pattern) { const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern]; this.matchers = matchers.map( - (m) => new Minimatch(m, { + (m) => new Minimatch2(m, { dot: this.options.dot, noglobstar: this.options.noglobstar, matchBase: this.options.matchBase, @@ -89696,23 +89877,23 @@ var require_readdir_glob = __commonJS({ if (this.options.ignore) { const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore]; this.ignoreMatchers = ignorePatterns.map( - (ignore) => new Minimatch(ignore, { dot: true }) + (ignore) => new Minimatch2(ignore, { dot: true }) ); } this.skipMatchers = []; if (this.options.skip) { const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip]; this.skipMatchers = skipPatterns.map( - (skip) => new Minimatch(skip, { dot: true }) + (skip) => new Minimatch2(skip, { dot: true }) ); } - this.iterator = explore(resolve13(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this)); + this.iterator = explore2(resolve14(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this)); this.paused = false; this.inactive = false; this.aborted = false; if (cb) { this._matches = []; - this.on("match", (match) => this._matches.push(this.options.absolute ? match.absolute : match.relative)); + this.on("match", (match2) => this._matches.push(this.options.absolute ? match2.absolute : match2.relative)); this.on("error", (err) => cb(err)); this.on("end", () => cb(null, this._matches)); } @@ -89772,10 +89953,10 @@ var require_readdir_glob = __commonJS({ } } }; - function readdirGlob(pattern, options, cb) { - return new ReaddirGlob(pattern, options, cb); + function readdirGlob2(pattern, options, cb) { + return new ReaddirGlob3(pattern, options, cb); } - readdirGlob.ReaddirGlob = ReaddirGlob; + readdirGlob2.ReaddirGlob = ReaddirGlob3; } }); @@ -89873,10 +90054,10 @@ var require_async = __commonJS({ if (typeof args[arity - 1] === "function") { return asyncFn.apply(this, args); } - return new Promise((resolve13, reject2) => { + return new Promise((resolve14, reject2) => { args[arity - 1] = (err, ...cbArgs) => { if (err) return reject2(err); - resolve13(cbArgs.length > 1 ? cbArgs : cbArgs[0]); + resolve14(cbArgs.length > 1 ? cbArgs : cbArgs[0]); }; asyncFn.apply(this, args); }); @@ -89900,9 +90081,9 @@ var require_async = __commonJS({ var counter = 0; var _iteratee = wrapAsync(iteratee); return eachfn(arr, (value, _2, iterCb) => { - var index2 = counter++; + var index3 = counter++; _iteratee(value, (err, v) => { - results[index2] = v; + results[index3] = v; iterCb(err); }); }, (err) => { @@ -90079,7 +90260,7 @@ var require_async = __commonJS({ var eachOfLimit$1 = awaitify(eachOfLimit, 4); function eachOfArrayLike(coll, iteratee, callback) { callback = once(callback); - var index2 = 0, completed = 0, { length } = coll, canceled = false; + var index3 = 0, completed = 0, { length } = coll, canceled = false; if (length === 0) { callback(null); } @@ -90094,8 +90275,8 @@ var require_async = __commonJS({ callback(null); } } - for (; index2 < length; index2++) { - iteratee(coll[index2], index2, onlyOnce(iteratorCallback)); + for (; index3 < length; index3++) { + iteratee(coll[index3], index3, onlyOnce(iteratorCallback)); } } function eachOfGeneric(coll, iteratee, callback) { @@ -90122,13 +90303,13 @@ var require_async = __commonJS({ var applyEachSeries = applyEach$1(mapSeries$1); const PROMISE_SYMBOL = /* @__PURE__ */ Symbol("promiseCallback"); function promiseCallback() { - let resolve13, reject2; + let resolve14, reject2; function callback(err, ...args) { if (err) return reject2(err); - resolve13(args.length > 1 ? args : args[0]); + resolve14(args.length > 1 ? args : args[0]); } callback[PROMISE_SYMBOL] = new Promise((res, rej) => { - resolve13 = res, reject2 = rej; + resolve14 = res, reject2 = rej; }); return callback; } @@ -90277,36 +90458,36 @@ var require_async = __commonJS({ var FN_ARG = /(=.+)?(\s*)$/; function stripComments(string2) { let stripped = ""; - let index2 = 0; + let index3 = 0; let endBlockComment = string2.indexOf("*/"); - while (index2 < string2.length) { - if (string2[index2] === "/" && string2[index2 + 1] === "/") { - let endIndex = string2.indexOf("\n", index2); - index2 = endIndex === -1 ? string2.length : endIndex; - } else if (endBlockComment !== -1 && string2[index2] === "/" && string2[index2 + 1] === "*") { - let endIndex = string2.indexOf("*/", index2); + while (index3 < string2.length) { + if (string2[index3] === "/" && string2[index3 + 1] === "/") { + let endIndex = string2.indexOf("\n", index3); + index3 = endIndex === -1 ? string2.length : endIndex; + } else if (endBlockComment !== -1 && string2[index3] === "/" && string2[index3 + 1] === "*") { + let endIndex = string2.indexOf("*/", index3); if (endIndex !== -1) { - index2 = endIndex + 2; - endBlockComment = string2.indexOf("*/", index2); + index3 = endIndex + 2; + endBlockComment = string2.indexOf("*/", index3); } else { - stripped += string2[index2]; - index2++; + stripped += string2[index3]; + index3++; } } else { - stripped += string2[index2]; - index2++; + stripped += string2[index3]; + index3++; } } return stripped; } function parseParams(func) { const src = stripComments(func.toString()); - let match = src.match(FN_ARGS); - if (!match) { - match = src.match(ARROW_FN_ARGS); + let match2 = src.match(FN_ARGS); + if (!match2) { + match2 = src.match(ARROW_FN_ARGS); } - if (!match) throw new Error("could not parse args in autoInject\nSource:\n" + src); - let [, args] = match; + if (!match2) throw new Error("could not parse args in autoInject\nSource:\n" + src); + let [, args] = match2; return args.replace(/\s/g, "").split(FN_ARG_SPLIT).map((arg) => arg.replace(FN_ARG, "").trim()); } function autoInject(tasks, callback) { @@ -90475,8 +90656,8 @@ var require_async = __commonJS({ }); } if (rejectOnError || !callback) { - return new Promise((resolve13, reject2) => { - res = resolve13; + return new Promise((resolve14, reject2) => { + res = resolve14; rej = reject2; }); } @@ -90486,11 +90667,11 @@ var require_async = __commonJS({ numRunning -= 1; for (var i = 0, l = tasks.length; i < l; i++) { var task = tasks[i]; - var index2 = workersList.indexOf(task); - if (index2 === 0) { + var index3 = workersList.indexOf(task); + if (index3 === 0) { workersList.shift(); - } else if (index2 > 0) { - workersList.splice(index2, 1); + } else if (index3 > 0) { + workersList.splice(index3, 1); } task.callback(err, ...args); if (err != null) { @@ -90515,10 +90696,10 @@ var require_async = __commonJS({ } const eventMethod = (name) => (handler2) => { if (!handler2) { - return new Promise((resolve13, reject2) => { + return new Promise((resolve14, reject2) => { once2(name, (err, data) => { if (err) return reject2(err); - resolve13(data); + resolve14(data); }); }); } @@ -90805,7 +90986,7 @@ var require_async = __commonJS({ }, callback); } function _withoutIndex(iteratee) { - return (value, index2, callback) => iteratee(value, callback); + return (value, index3, callback) => iteratee(value, callback); } function eachLimit$2(coll, iteratee, callback) { return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback); @@ -90849,9 +91030,9 @@ var require_async = __commonJS({ var everySeries$1 = awaitify(everySeries, 3); function filterArray(eachfn, arr, iteratee, callback) { var truthValues = new Array(arr.length); - eachfn(arr, (x, index2, iterCb) => { + eachfn(arr, (x, index3, iterCb) => { iteratee(x, (err, v) => { - truthValues[index2] = !!v; + truthValues[index3] = !!v; iterCb(err); }); }, (err) => { @@ -90865,11 +91046,11 @@ var require_async = __commonJS({ } function filterGeneric(eachfn, coll, iteratee, callback) { var results = []; - eachfn(coll, (x, index2, iterCb) => { + eachfn(coll, (x, index3, iterCb) => { iteratee(x, (err, v) => { if (err) return iterCb(err); if (v) { - results.push({ index: index2, value: x }); + results.push({ index: index3, value: x }); } iterCb(err); }); @@ -90879,13 +91060,13 @@ var require_async = __commonJS({ }); } function _filter(eachfn, coll, iteratee, callback) { - var filter2 = isArrayLike(coll) ? filterArray : filterGeneric; - return filter2(eachfn, coll, wrapAsync(iteratee), callback); + var filter3 = isArrayLike(coll) ? filterArray : filterGeneric; + return filter3(eachfn, coll, wrapAsync(iteratee), callback); } - function filter(coll, iteratee, callback) { + function filter2(coll, iteratee, callback) { return _filter(eachOf$1, coll, iteratee, callback); } - var filter$1 = awaitify(filter, 3); + var filter$1 = awaitify(filter2, 3); function filterLimit(coll, limit, iteratee, callback) { return _filter(eachOfLimit$2(limit), coll, iteratee, callback); } @@ -91011,7 +91192,7 @@ var require_async = __commonJS({ function parallelLimit(tasks, limit, callback) { return _parallel(eachOfLimit$2(limit), tasks, callback); } - function queue(worker, concurrency) { + function queue2(worker, concurrency) { var _worker = wrapAsync(worker); return queue$1((items, cb) => { _worker(items[0], cb); @@ -91029,28 +91210,28 @@ var require_async = __commonJS({ this.heap = []; return this; } - percUp(index2) { + percUp(index3) { let p; - while (index2 > 0 && smaller(this.heap[index2], this.heap[p = parent(index2)])) { - let t = this.heap[index2]; - this.heap[index2] = this.heap[p]; + while (index3 > 0 && smaller(this.heap[index3], this.heap[p = parent(index3)])) { + let t = this.heap[index3]; + this.heap[index3] = this.heap[p]; this.heap[p] = t; - index2 = p; + index3 = p; } } - percDown(index2) { + percDown(index3) { let l; - while ((l = leftChi(index2)) < this.heap.length) { + while ((l = leftChi(index3)) < this.heap.length) { if (l + 1 < this.heap.length && smaller(this.heap[l + 1], this.heap[l])) { l = l + 1; } - if (smaller(this.heap[index2], this.heap[l])) { + if (smaller(this.heap[index3], this.heap[l])) { break; } - let t = this.heap[index2]; - this.heap[index2] = this.heap[l]; + let t = this.heap[index3]; + this.heap[index3] = this.heap[l]; this.heap[l] = t; - index2 = l; + index3 = l; } } push(node) { @@ -91105,7 +91286,7 @@ var require_async = __commonJS({ } } function priorityQueue(worker, concurrency) { - var q = queue(worker, concurrency); + var q = queue2(worker, concurrency); var { push, pushAsync @@ -91329,7 +91510,7 @@ var require_async = __commonJS({ fn(...args); }); } - function range(size) { + function range2(size) { var result = Array(size); while (size--) { result[size] = size; @@ -91338,7 +91519,7 @@ var require_async = __commonJS({ } function timesLimit(count, limit, iteratee, callback) { var _iteratee = wrapAsync(iteratee); - return mapLimit$1(range(count), limit, _iteratee, callback); + return mapLimit$1(range2(count), limit, _iteratee, callback); } function times(n, iteratee, callback) { return timesLimit(n, Infinity, iteratee, callback); @@ -91424,7 +91605,7 @@ var require_async = __commonJS({ nextTask([]); } var waterfall$1 = awaitify(waterfall); - var index = { + var index2 = { apply, applyEach, applyEachSeries, @@ -91473,7 +91654,7 @@ var require_async = __commonJS({ parallel, parallelLimit, priorityQueue, - queue, + queue: queue2, race: race$1, reduce: reduce$1, reduceRight, @@ -91549,7 +91730,7 @@ var require_async = __commonJS({ exports3.concatLimit = concatLimit$1; exports3.concatSeries = concatSeries$1; exports3.constant = constant$1; - exports3.default = index; + exports3.default = index2; exports3.detect = detect$1; exports3.detectLimit = detectLimit$1; exports3.detectSeries = detectSeries$1; @@ -91602,7 +91783,7 @@ var require_async = __commonJS({ exports3.parallel = parallel; exports3.parallelLimit = parallelLimit; exports3.priorityQueue = priorityQueue; - exports3.queue = queue; + exports3.queue = queue2; exports3.race = race$1; exports3.reduce = reduce$1; exports3.reduceRight = reduceRight; @@ -91665,54 +91846,54 @@ var require_polyfills = __commonJS({ } var chdir; module2.exports = patch; - function patch(fs31) { + function patch(fs32) { if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - patchLchmod(fs31); + patchLchmod(fs32); } - if (!fs31.lutimes) { - patchLutimes(fs31); + if (!fs32.lutimes) { + patchLutimes(fs32); } - fs31.chown = chownFix(fs31.chown); - fs31.fchown = chownFix(fs31.fchown); - fs31.lchown = chownFix(fs31.lchown); - fs31.chmod = chmodFix(fs31.chmod); - fs31.fchmod = chmodFix(fs31.fchmod); - fs31.lchmod = chmodFix(fs31.lchmod); - fs31.chownSync = chownFixSync(fs31.chownSync); - fs31.fchownSync = chownFixSync(fs31.fchownSync); - fs31.lchownSync = chownFixSync(fs31.lchownSync); - fs31.chmodSync = chmodFixSync(fs31.chmodSync); - fs31.fchmodSync = chmodFixSync(fs31.fchmodSync); - fs31.lchmodSync = chmodFixSync(fs31.lchmodSync); - fs31.stat = statFix(fs31.stat); - fs31.fstat = statFix(fs31.fstat); - fs31.lstat = statFix(fs31.lstat); - fs31.statSync = statFixSync(fs31.statSync); - fs31.fstatSync = statFixSync(fs31.fstatSync); - fs31.lstatSync = statFixSync(fs31.lstatSync); - if (fs31.chmod && !fs31.lchmod) { - fs31.lchmod = function(path29, mode, cb) { + fs32.chown = chownFix(fs32.chown); + fs32.fchown = chownFix(fs32.fchown); + fs32.lchown = chownFix(fs32.lchown); + fs32.chmod = chmodFix(fs32.chmod); + fs32.fchmod = chmodFix(fs32.fchmod); + fs32.lchmod = chmodFix(fs32.lchmod); + fs32.chownSync = chownFixSync(fs32.chownSync); + fs32.fchownSync = chownFixSync(fs32.fchownSync); + fs32.lchownSync = chownFixSync(fs32.lchownSync); + fs32.chmodSync = chmodFixSync(fs32.chmodSync); + fs32.fchmodSync = chmodFixSync(fs32.fchmodSync); + fs32.lchmodSync = chmodFixSync(fs32.lchmodSync); + fs32.stat = statFix(fs32.stat); + fs32.fstat = statFix(fs32.fstat); + fs32.lstat = statFix(fs32.lstat); + fs32.statSync = statFixSync(fs32.statSync); + fs32.fstatSync = statFixSync(fs32.fstatSync); + fs32.lstatSync = statFixSync(fs32.lstatSync); + if (fs32.chmod && !fs32.lchmod) { + fs32.lchmod = function(path30, mode, cb) { if (cb) process.nextTick(cb); }; - fs31.lchmodSync = function() { + fs32.lchmodSync = function() { }; } - if (fs31.chown && !fs31.lchown) { - fs31.lchown = function(path29, uid, gid, cb) { + if (fs32.chown && !fs32.lchown) { + fs32.lchown = function(path30, uid, gid, cb) { if (cb) process.nextTick(cb); }; - fs31.lchownSync = function() { + fs32.lchownSync = function() { }; } if (platform2 === "win32") { - fs31.rename = typeof fs31.rename !== "function" ? fs31.rename : (function(fs$rename) { + fs32.rename = typeof fs32.rename !== "function" ? fs32.rename : (function(fs$rename) { function rename(from, to, cb) { var start = Date.now(); var backoff = 0; fs$rename(from, to, function CB(er) { if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) { setTimeout(function() { - fs31.stat(to, function(stater, st) { + fs32.stat(to, function(stater, st) { if (stater && stater.code === "ENOENT") fs$rename(from, to, CB); else @@ -91728,9 +91909,9 @@ var require_polyfills = __commonJS({ } if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename); return rename; - })(fs31.rename); + })(fs32.rename); } - fs31.read = typeof fs31.read !== "function" ? fs31.read : (function(fs$read) { + fs32.read = typeof fs32.read !== "function" ? fs32.read : (function(fs$read) { function read(fd, buffer, offset, length, position, callback_) { var callback; if (callback_ && typeof callback_ === "function") { @@ -91738,22 +91919,22 @@ var require_polyfills = __commonJS({ callback = function(er, _2, __) { if (er && er.code === "EAGAIN" && eagCounter < 10) { eagCounter++; - return fs$read.call(fs31, fd, buffer, offset, length, position, callback); + return fs$read.call(fs32, fd, buffer, offset, length, position, callback); } callback_.apply(this, arguments); }; } - return fs$read.call(fs31, fd, buffer, offset, length, position, callback); + return fs$read.call(fs32, fd, buffer, offset, length, position, callback); } if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read); return read; - })(fs31.read); - fs31.readSync = typeof fs31.readSync !== "function" ? fs31.readSync : /* @__PURE__ */ (function(fs$readSync) { + })(fs32.read); + fs32.readSync = typeof fs32.readSync !== "function" ? fs32.readSync : /* @__PURE__ */ (function(fs$readSync) { return function(fd, buffer, offset, length, position) { var eagCounter = 0; while (true) { try { - return fs$readSync.call(fs31, fd, buffer, offset, length, position); + return fs$readSync.call(fs32, fd, buffer, offset, length, position); } catch (er) { if (er.code === "EAGAIN" && eagCounter < 10) { eagCounter++; @@ -91763,11 +91944,11 @@ var require_polyfills = __commonJS({ } } }; - })(fs31.readSync); - function patchLchmod(fs32) { - fs32.lchmod = function(path29, mode, callback) { - fs32.open( - path29, + })(fs32.readSync); + function patchLchmod(fs33) { + fs33.lchmod = function(path30, mode, callback) { + fs33.open( + path30, constants.O_WRONLY | constants.O_SYMLINK, mode, function(err, fd) { @@ -91775,80 +91956,80 @@ var require_polyfills = __commonJS({ if (callback) callback(err); return; } - fs32.fchmod(fd, mode, function(err2) { - fs32.close(fd, function(err22) { + fs33.fchmod(fd, mode, function(err2) { + fs33.close(fd, function(err22) { if (callback) callback(err2 || err22); }); }); } ); }; - fs32.lchmodSync = function(path29, mode) { - var fd = fs32.openSync(path29, constants.O_WRONLY | constants.O_SYMLINK, mode); + fs33.lchmodSync = function(path30, mode) { + var fd = fs33.openSync(path30, constants.O_WRONLY | constants.O_SYMLINK, mode); var threw = true; var ret; try { - ret = fs32.fchmodSync(fd, mode); + ret = fs33.fchmodSync(fd, mode); threw = false; } finally { if (threw) { try { - fs32.closeSync(fd); + fs33.closeSync(fd); } catch (er) { } } else { - fs32.closeSync(fd); + fs33.closeSync(fd); } } return ret; }; } - function patchLutimes(fs32) { - if (constants.hasOwnProperty("O_SYMLINK") && fs32.futimes) { - fs32.lutimes = function(path29, at, mt, cb) { - fs32.open(path29, constants.O_SYMLINK, function(er, fd) { + function patchLutimes(fs33) { + if (constants.hasOwnProperty("O_SYMLINK") && fs33.futimes) { + fs33.lutimes = function(path30, at, mt, cb) { + fs33.open(path30, constants.O_SYMLINK, function(er, fd) { if (er) { if (cb) cb(er); return; } - fs32.futimes(fd, at, mt, function(er2) { - fs32.close(fd, function(er22) { + fs33.futimes(fd, at, mt, function(er2) { + fs33.close(fd, function(er22) { if (cb) cb(er2 || er22); }); }); }); }; - fs32.lutimesSync = function(path29, at, mt) { - var fd = fs32.openSync(path29, constants.O_SYMLINK); + fs33.lutimesSync = function(path30, at, mt) { + var fd = fs33.openSync(path30, constants.O_SYMLINK); var ret; var threw = true; try { - ret = fs32.futimesSync(fd, at, mt); + ret = fs33.futimesSync(fd, at, mt); threw = false; } finally { if (threw) { try { - fs32.closeSync(fd); + fs33.closeSync(fd); } catch (er) { } } else { - fs32.closeSync(fd); + fs33.closeSync(fd); } } return ret; }; - } else if (fs32.futimes) { - fs32.lutimes = function(_a, _b, _c, cb) { + } else if (fs33.futimes) { + fs33.lutimes = function(_a2, _b, _c, cb) { if (cb) process.nextTick(cb); }; - fs32.lutimesSync = function() { + fs33.lutimesSync = function() { }; } } function chmodFix(orig) { if (!orig) return orig; return function(target, mode, cb) { - return orig.call(fs31, target, mode, function(er) { + return orig.call(fs32, target, mode, function(er) { if (chownErOk(er)) er = null; if (cb) cb.apply(this, arguments); }); @@ -91858,7 +92039,7 @@ var require_polyfills = __commonJS({ if (!orig) return orig; return function(target, mode) { try { - return orig.call(fs31, target, mode); + return orig.call(fs32, target, mode); } catch (er) { if (!chownErOk(er)) throw er; } @@ -91867,7 +92048,7 @@ var require_polyfills = __commonJS({ function chownFix(orig) { if (!orig) return orig; return function(target, uid, gid, cb) { - return orig.call(fs31, target, uid, gid, function(er) { + return orig.call(fs32, target, uid, gid, function(er) { if (chownErOk(er)) er = null; if (cb) cb.apply(this, arguments); }); @@ -91877,7 +92058,7 @@ var require_polyfills = __commonJS({ if (!orig) return orig; return function(target, uid, gid) { try { - return orig.call(fs31, target, uid, gid); + return orig.call(fs32, target, uid, gid); } catch (er) { if (!chownErOk(er)) throw er; } @@ -91897,13 +92078,13 @@ var require_polyfills = __commonJS({ } if (cb) cb.apply(this, arguments); } - return options ? orig.call(fs31, target, options, callback) : orig.call(fs31, target, callback); + return options ? orig.call(fs32, target, options, callback) : orig.call(fs32, target, callback); }; } function statFixSync(orig) { if (!orig) return orig; return function(target, options) { - var stats = options ? orig.call(fs31, target, options) : orig.call(fs31, target); + var stats = options ? orig.call(fs32, target, options) : orig.call(fs32, target); if (stats) { if (stats.uid < 0) stats.uid += 4294967296; if (stats.gid < 0) stats.gid += 4294967296; @@ -91932,16 +92113,16 @@ var require_legacy_streams = __commonJS({ "node_modules/graceful-fs/legacy-streams.js"(exports2, module2) { var Stream = require("stream").Stream; module2.exports = legacy; - function legacy(fs31) { + function legacy(fs32) { return { ReadStream, WriteStream }; - function ReadStream(path29, options) { - if (!(this instanceof ReadStream)) return new ReadStream(path29, options); + function ReadStream(path30, options) { + if (!(this instanceof ReadStream)) return new ReadStream(path30, options); Stream.call(this); var self2 = this; - this.path = path29; + this.path = path30; this.fd = null; this.readable = true; this.paused = false; @@ -91950,8 +92131,8 @@ var require_legacy_streams = __commonJS({ this.bufferSize = 64 * 1024; options = options || {}; var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; + for (var index2 = 0, length = keys.length; index2 < length; index2++) { + var key = keys[index2]; this[key] = options[key]; } if (this.encoding) this.setEncoding(this.encoding); @@ -91975,7 +92156,7 @@ var require_legacy_streams = __commonJS({ }); return; } - fs31.open(this.path, this.flags, this.mode, function(err, fd) { + fs32.open(this.path, this.flags, this.mode, function(err, fd) { if (err) { self2.emit("error", err); self2.readable = false; @@ -91986,10 +92167,10 @@ var require_legacy_streams = __commonJS({ self2._read(); }); } - function WriteStream(path29, options) { - if (!(this instanceof WriteStream)) return new WriteStream(path29, options); + function WriteStream(path30, options) { + if (!(this instanceof WriteStream)) return new WriteStream(path30, options); Stream.call(this); - this.path = path29; + this.path = path30; this.fd = null; this.writable = true; this.flags = "w"; @@ -91998,8 +92179,8 @@ var require_legacy_streams = __commonJS({ this.bytesWritten = 0; options = options || {}; var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; + for (var index2 = 0, length = keys.length; index2 < length; index2++) { + var key = keys[index2]; this[key] = options[key]; } if (this.start !== void 0) { @@ -92014,7 +92195,7 @@ var require_legacy_streams = __commonJS({ this.busy = false; this._queue = []; if (this.fd === null) { - this._open = fs31.open; + this._open = fs32.open; this._queue.push([this._open, this.path, this.flags, this.mode, void 0]); this.flush(); } @@ -92049,11 +92230,11 @@ var require_clone = __commonJS({ // node_modules/graceful-fs/graceful-fs.js var require_graceful_fs = __commonJS({ "node_modules/graceful-fs/graceful-fs.js"(exports2, module2) { - var fs31 = require("fs"); + var fs32 = require("fs"); var polyfills = require_polyfills(); var legacy = require_legacy_streams(); var clone = require_clone(); - var util = require("util"); + var util3 = require("util"); var gracefulQueue; var previousSymbol; if (typeof Symbol === "function" && typeof Symbol.for === "function") { @@ -92065,28 +92246,28 @@ var require_graceful_fs = __commonJS({ } function noop3() { } - function publishQueue(context5, queue2) { + function publishQueue(context5, queue3) { Object.defineProperty(context5, gracefulQueue, { get: function() { - return queue2; + return queue3; } }); } var debug6 = noop3; - if (util.debuglog) - debug6 = util.debuglog("gfs4"); + if (util3.debuglog) + debug6 = util3.debuglog("gfs4"); else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) debug6 = function() { - var m = util.format.apply(util, arguments); + var m = util3.format.apply(util3, arguments); m = "GFS4: " + m.split(/\n/).join("\nGFS4: "); console.error(m); }; - if (!fs31[gracefulQueue]) { - queue = global[gracefulQueue] || []; - publishQueue(fs31, queue); - fs31.close = (function(fs$close) { + if (!fs32[gracefulQueue]) { + queue2 = global[gracefulQueue] || []; + publishQueue(fs32, queue2); + fs32.close = (function(fs$close) { function close(fd, cb) { - return fs$close.call(fs31, fd, function(err) { + return fs$close.call(fs32, fd, function(err) { if (!err) { resetQueue(); } @@ -92098,48 +92279,48 @@ var require_graceful_fs = __commonJS({ value: fs$close }); return close; - })(fs31.close); - fs31.closeSync = (function(fs$closeSync) { + })(fs32.close); + fs32.closeSync = (function(fs$closeSync) { function closeSync(fd) { - fs$closeSync.apply(fs31, arguments); + fs$closeSync.apply(fs32, arguments); resetQueue(); } Object.defineProperty(closeSync, previousSymbol, { value: fs$closeSync }); return closeSync; - })(fs31.closeSync); + })(fs32.closeSync); if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) { process.on("exit", function() { - debug6(fs31[gracefulQueue]); - require("assert").equal(fs31[gracefulQueue].length, 0); + debug6(fs32[gracefulQueue]); + require("assert").equal(fs32[gracefulQueue].length, 0); }); } } - var queue; + var queue2; if (!global[gracefulQueue]) { - publishQueue(global, fs31[gracefulQueue]); + publishQueue(global, fs32[gracefulQueue]); } - module2.exports = patch(clone(fs31)); - if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs31.__patched) { - module2.exports = patch(fs31); - fs31.__patched = true; + module2.exports = patch(clone(fs32)); + if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs32.__patched) { + module2.exports = patch(fs32); + fs32.__patched = true; } - function patch(fs32) { - polyfills(fs32); - fs32.gracefulify = patch; - fs32.createReadStream = createReadStream3; - fs32.createWriteStream = createWriteStream3; - var fs$readFile = fs32.readFile; - fs32.readFile = readFile; - function readFile(path29, options, cb) { + function patch(fs33) { + polyfills(fs33); + fs33.gracefulify = patch; + fs33.createReadStream = createReadStream4; + fs33.createWriteStream = createWriteStream3; + var fs$readFile = fs33.readFile; + fs33.readFile = readFile; + function readFile(path30, options, cb) { if (typeof options === "function") cb = options, options = null; - return go$readFile(path29, options, cb); - function go$readFile(path30, options2, cb2, startTime) { - return fs$readFile(path30, options2, function(err) { + return go$readFile(path30, options, cb); + function go$readFile(path31, options2, cb2, startTime) { + return fs$readFile(path31, options2, function(err) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$readFile, [path30, options2, cb2], err, startTime || Date.now(), Date.now()]); + enqueue([go$readFile, [path31, options2, cb2], err, startTime || Date.now(), Date.now()]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); @@ -92147,16 +92328,16 @@ var require_graceful_fs = __commonJS({ }); } } - var fs$writeFile = fs32.writeFile; - fs32.writeFile = writeFile; - function writeFile(path29, data, options, cb) { + var fs$writeFile = fs33.writeFile; + fs33.writeFile = writeFile; + function writeFile(path30, data, options, cb) { if (typeof options === "function") cb = options, options = null; - return go$writeFile(path29, data, options, cb); - function go$writeFile(path30, data2, options2, cb2, startTime) { - return fs$writeFile(path30, data2, options2, function(err) { + return go$writeFile(path30, data, options, cb); + function go$writeFile(path31, data2, options2, cb2, startTime) { + return fs$writeFile(path31, data2, options2, function(err) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$writeFile, [path30, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + enqueue([go$writeFile, [path31, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); @@ -92164,17 +92345,17 @@ var require_graceful_fs = __commonJS({ }); } } - var fs$appendFile = fs32.appendFile; + var fs$appendFile = fs33.appendFile; if (fs$appendFile) - fs32.appendFile = appendFile; - function appendFile(path29, data, options, cb) { + fs33.appendFile = appendFile; + function appendFile(path30, data, options, cb) { if (typeof options === "function") cb = options, options = null; - return go$appendFile(path29, data, options, cb); - function go$appendFile(path30, data2, options2, cb2, startTime) { - return fs$appendFile(path30, data2, options2, function(err) { + return go$appendFile(path30, data, options, cb); + function go$appendFile(path31, data2, options2, cb2, startTime) { + return fs$appendFile(path31, data2, options2, function(err) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$appendFile, [path30, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); + enqueue([go$appendFile, [path31, data2, options2, cb2], err, startTime || Date.now(), Date.now()]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); @@ -92182,9 +92363,9 @@ var require_graceful_fs = __commonJS({ }); } } - var fs$copyFile = fs32.copyFile; + var fs$copyFile = fs33.copyFile; if (fs$copyFile) - fs32.copyFile = copyFile2; + fs33.copyFile = copyFile2; function copyFile2(src, dest, flags, cb) { if (typeof flags === "function") { cb = flags; @@ -92202,34 +92383,34 @@ var require_graceful_fs = __commonJS({ }); } } - var fs$readdir = fs32.readdir; - fs32.readdir = readdir; + var fs$readdir = fs33.readdir; + fs33.readdir = readdir3; var noReaddirOptionVersions = /^v[0-5]\./; - function readdir(path29, options, cb) { + function readdir3(path30, options, cb) { if (typeof options === "function") cb = options, options = null; - var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path30, options2, cb2, startTime) { - return fs$readdir(path30, fs$readdirCallback( - path30, + var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path31, options2, cb2, startTime) { + return fs$readdir(path31, fs$readdirCallback( + path31, options2, cb2, startTime )); - } : function go$readdir2(path30, options2, cb2, startTime) { - return fs$readdir(path30, options2, fs$readdirCallback( - path30, + } : function go$readdir2(path31, options2, cb2, startTime) { + return fs$readdir(path31, options2, fs$readdirCallback( + path31, options2, cb2, startTime )); }; - return go$readdir(path29, options, cb); - function fs$readdirCallback(path30, options2, cb2, startTime) { + return go$readdir(path30, options, cb); + function fs$readdirCallback(path31, options2, cb2, startTime) { return function(err, files) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) enqueue([ go$readdir, - [path30, options2, cb2], + [path31, options2, cb2], err, startTime || Date.now(), Date.now() @@ -92244,21 +92425,21 @@ var require_graceful_fs = __commonJS({ } } if (process.version.substr(0, 4) === "v0.8") { - var legStreams = legacy(fs32); + var legStreams = legacy(fs33); ReadStream = legStreams.ReadStream; WriteStream = legStreams.WriteStream; } - var fs$ReadStream = fs32.ReadStream; + var fs$ReadStream = fs33.ReadStream; if (fs$ReadStream) { ReadStream.prototype = Object.create(fs$ReadStream.prototype); ReadStream.prototype.open = ReadStream$open; } - var fs$WriteStream = fs32.WriteStream; + var fs$WriteStream = fs33.WriteStream; if (fs$WriteStream) { WriteStream.prototype = Object.create(fs$WriteStream.prototype); WriteStream.prototype.open = WriteStream$open; } - Object.defineProperty(fs32, "ReadStream", { + Object.defineProperty(fs33, "ReadStream", { get: function() { return ReadStream; }, @@ -92268,7 +92449,7 @@ var require_graceful_fs = __commonJS({ enumerable: true, configurable: true }); - Object.defineProperty(fs32, "WriteStream", { + Object.defineProperty(fs33, "WriteStream", { get: function() { return WriteStream; }, @@ -92279,7 +92460,7 @@ var require_graceful_fs = __commonJS({ configurable: true }); var FileReadStream = ReadStream; - Object.defineProperty(fs32, "FileReadStream", { + Object.defineProperty(fs33, "FileReadStream", { get: function() { return FileReadStream; }, @@ -92290,7 +92471,7 @@ var require_graceful_fs = __commonJS({ configurable: true }); var FileWriteStream = WriteStream; - Object.defineProperty(fs32, "FileWriteStream", { + Object.defineProperty(fs33, "FileWriteStream", { get: function() { return FileWriteStream; }, @@ -92300,7 +92481,7 @@ var require_graceful_fs = __commonJS({ enumerable: true, configurable: true }); - function ReadStream(path29, options) { + function ReadStream(path30, options) { if (this instanceof ReadStream) return fs$ReadStream.apply(this, arguments), this; else @@ -92320,7 +92501,7 @@ var require_graceful_fs = __commonJS({ } }); } - function WriteStream(path29, options) { + function WriteStream(path30, options) { if (this instanceof WriteStream) return fs$WriteStream.apply(this, arguments), this; else @@ -92338,22 +92519,22 @@ var require_graceful_fs = __commonJS({ } }); } - function createReadStream3(path29, options) { - return new fs32.ReadStream(path29, options); + function createReadStream4(path30, options) { + return new fs33.ReadStream(path30, options); } - function createWriteStream3(path29, options) { - return new fs32.WriteStream(path29, options); + function createWriteStream3(path30, options) { + return new fs33.WriteStream(path30, options); } - var fs$open = fs32.open; - fs32.open = open; - function open(path29, flags, mode, cb) { + var fs$open = fs33.open; + fs33.open = open; + function open(path30, flags, mode, cb) { if (typeof mode === "function") cb = mode, mode = null; - return go$open(path29, flags, mode, cb); - function go$open(path30, flags2, mode2, cb2, startTime) { - return fs$open(path30, flags2, mode2, function(err, fd) { + return go$open(path30, flags, mode, cb); + function go$open(path31, flags2, mode2, cb2, startTime) { + return fs$open(path31, flags2, mode2, function(err, fd) { if (err && (err.code === "EMFILE" || err.code === "ENFILE")) - enqueue([go$open, [path30, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]); + enqueue([go$open, [path31, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]); else { if (typeof cb2 === "function") cb2.apply(this, arguments); @@ -92361,20 +92542,20 @@ var require_graceful_fs = __commonJS({ }); } } - return fs32; + return fs33; } function enqueue(elem) { debug6("ENQUEUE", elem[0].name, elem[1]); - fs31[gracefulQueue].push(elem); + fs32[gracefulQueue].push(elem); retry2(); } var retryTimer; function resetQueue() { var now = Date.now(); - for (var i = 0; i < fs31[gracefulQueue].length; ++i) { - if (fs31[gracefulQueue][i].length > 2) { - fs31[gracefulQueue][i][3] = now; - fs31[gracefulQueue][i][4] = now; + for (var i = 0; i < fs32[gracefulQueue].length; ++i) { + if (fs32[gracefulQueue][i].length > 2) { + fs32[gracefulQueue][i][3] = now; + fs32[gracefulQueue][i][4] = now; } } retry2(); @@ -92382,9 +92563,9 @@ var require_graceful_fs = __commonJS({ function retry2() { clearTimeout(retryTimer); retryTimer = void 0; - if (fs31[gracefulQueue].length === 0) + if (fs32[gracefulQueue].length === 0) return; - var elem = fs31[gracefulQueue].shift(); + var elem = fs32[gracefulQueue].shift(); var fn = elem[0]; var args = elem[1]; var err = elem[2]; @@ -92406,7 +92587,7 @@ var require_graceful_fs = __commonJS({ debug6("RETRY", fn.name, args); fn.apply(null, args.concat([startTime])); } else { - fs31[gracefulQueue].push(elem); + fs32[gracefulQueue].push(elem); } } if (retryTimer === void 0) { @@ -92420,12 +92601,12 @@ var require_graceful_fs = __commonJS({ var require_is_stream = __commonJS({ "node_modules/archiver-utils/node_modules/is-stream/index.js"(exports2, module2) { "use strict"; - var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function"; - isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object"; - isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object"; - isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2); - isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function"; - module2.exports = isStream; + var isStream2 = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function"; + isStream2.writable = (stream2) => isStream2(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object"; + isStream2.readable = (stream2) => isStream2(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object"; + isStream2.duplex = (stream2) => isStream2.writable(stream2) && isStream2.readable(stream2); + isStream2.transform = (stream2) => isStream2.duplex(stream2) && typeof stream2._transform === "function"; + module2.exports = isStream2; } }); @@ -92623,24 +92804,28 @@ var require_inherits_browser = __commonJS({ "node_modules/inherits/inherits_browser.js"(exports2, module2) { if (typeof Object.create === "function") { module2.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); + if (superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + } }; } else { module2.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; + if (superCtor) { + ctor.super_ = superCtor; + var TempCtor = function() { + }; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } }; } } @@ -92650,13 +92835,13 @@ var require_inherits_browser = __commonJS({ var require_inherits = __commonJS({ "node_modules/inherits/inherits.js"(exports2, module2) { try { - util = require("util"); - if (typeof util.inherits !== "function") throw ""; - module2.exports = util.inherits; + util3 = require("util"); + if (typeof util3.inherits !== "function") throw ""; + module2.exports = util3.inherits; } catch (e) { module2.exports = require_inherits_browser(); } - var util; + var util3; } }); @@ -92670,7 +92855,7 @@ var require_BufferList = __commonJS({ } } var Buffer2 = require_safe_buffer().Buffer; - var util = require("util"); + var util3 = require("util"); function copyBuffer(src, target, offset) { src.copy(target, offset); } @@ -92729,9 +92914,9 @@ var require_BufferList = __commonJS({ }; return BufferList; })(); - if (util && util.inspect && util.inspect.custom) { - module2.exports.prototype[util.inspect.custom] = function() { - var obj = util.inspect({ length: this.length }); + if (util3 && util3.inspect && util3.inspect.custom) { + module2.exports.prototype[util3.inspect.custom] = function() { + var obj = util3.inspect({ length: this.length }); return this.constructor.name + " " + obj; }; } @@ -92831,8 +93016,8 @@ var require_stream_writable = __commonJS({ var asyncWrite = !process.browser && ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick; var Duplex; Writable.WritableState = WritableState; - var util = Object.create(require_util12()); - util.inherits = require_inherits(); + var util3 = Object.create(require_util12()); + util3.inherits = require_inherits(); var internalUtil = { deprecate: require_node2() }; @@ -92847,7 +93032,7 @@ var require_stream_writable = __commonJS({ return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; } var destroyImpl = require_destroy(); - util.inherits(Writable, Stream); + util3.inherits(Writable, Stream); function nop() { } function WritableState(options, stream2) { @@ -92913,15 +93098,15 @@ var require_stream_writable = __commonJS({ if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") { realHasInstance = Function.prototype[Symbol.hasInstance]; Object.defineProperty(Writable, Symbol.hasInstance, { - value: function(object2) { - if (realHasInstance.call(this, object2)) return true; + value: function(object) { + if (realHasInstance.call(this, object)) return true; if (this !== Writable) return false; - return object2 && object2._writableState instanceof WritableState; + return object && object._writableState instanceof WritableState; } }); } else { - realHasInstance = function(object2) { - return object2 instanceof this; + realHasInstance = function(object) { + return object instanceof this; }; } function Writable(options) { @@ -93267,11 +93452,11 @@ var require_stream_duplex = __commonJS({ return keys2; }; module2.exports = Duplex; - var util = Object.create(require_util12()); - util.inherits = require_inherits(); - var Readable2 = require_stream_readable(); + var util3 = Object.create(require_util12()); + util3.inherits = require_inherits(); + var Readable3 = require_stream_readable(); var Writable = require_stream_writable(); - util.inherits(Duplex, Readable2); + util3.inherits(Duplex, Readable3); { keys = objectKeys(Writable.prototype); for (v = 0; v < keys.length; v++) { @@ -93284,7 +93469,7 @@ var require_stream_duplex = __commonJS({ var v; function Duplex(options) { if (!(this instanceof Duplex)) return new Duplex(options); - Readable2.call(this, options); + Readable3.call(this, options); Writable.call(this, options); if (options && options.readable === false) this.readable = false; if (options && options.writable === false) this.writable = false; @@ -93574,10 +93759,10 @@ var require_stream_readable = __commonJS({ "node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) { "use strict"; var pna = require_process_nextick_args(); - module2.exports = Readable2; + module2.exports = Readable3; var isArray2 = require_isarray(); var Duplex; - Readable2.ReadableState = ReadableState; + Readable3.ReadableState = ReadableState; var EE = require("events").EventEmitter; var EElistenerCount = function(emitter, type) { return emitter.listeners(type).length; @@ -93592,8 +93777,8 @@ var require_stream_readable = __commonJS({ function _isUint8Array(obj) { return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array; } - var util = Object.create(require_util12()); - util.inherits = require_inherits(); + var util3 = Object.create(require_util12()); + util3.inherits = require_inherits(); var debugUtil = require("util"); var debug6 = void 0; if (debugUtil && debugUtil.debuglog) { @@ -93605,7 +93790,7 @@ var require_stream_readable = __commonJS({ var BufferList = require_BufferList(); var destroyImpl = require_destroy(); var StringDecoder; - util.inherits(Readable2, Stream); + util3.inherits(Readable3, Stream); var kProxyEvents = ["error", "close", "destroy", "pause", "resume"]; function prependListener(emitter, event, fn) { if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn); @@ -93651,9 +93836,9 @@ var require_stream_readable = __commonJS({ this.encoding = options.encoding; } } - function Readable2(options) { + function Readable3(options) { Duplex = Duplex || require_stream_duplex(); - if (!(this instanceof Readable2)) return new Readable2(options); + if (!(this instanceof Readable3)) return new Readable3(options); this._readableState = new ReadableState(options, this); this.readable = true; if (options) { @@ -93662,7 +93847,7 @@ var require_stream_readable = __commonJS({ } Stream.call(this); } - Object.defineProperty(Readable2.prototype, "destroyed", { + Object.defineProperty(Readable3.prototype, "destroyed", { get: function() { if (this._readableState === void 0) { return false; @@ -93676,13 +93861,13 @@ var require_stream_readable = __commonJS({ this._readableState.destroyed = value; } }); - Readable2.prototype.destroy = destroyImpl.destroy; - Readable2.prototype._undestroy = destroyImpl.undestroy; - Readable2.prototype._destroy = function(err, cb) { + Readable3.prototype.destroy = destroyImpl.destroy; + Readable3.prototype._undestroy = destroyImpl.undestroy; + Readable3.prototype._destroy = function(err, cb) { this.push(null); cb(err); }; - Readable2.prototype.push = function(chunk, encoding) { + Readable3.prototype.push = function(chunk, encoding) { var state = this._readableState; var skipChunkCheck; if (!state.objectMode) { @@ -93699,7 +93884,7 @@ var require_stream_readable = __commonJS({ } return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); }; - Readable2.prototype.unshift = function(chunk) { + Readable3.prototype.unshift = function(chunk) { return readableAddChunk(this, chunk, null, true, false); }; function readableAddChunk(stream2, chunk, encoding, addToFront, skipChunkCheck) { @@ -93759,10 +93944,10 @@ var require_stream_readable = __commonJS({ function needMoreData(state) { return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); } - Readable2.prototype.isPaused = function() { + Readable3.prototype.isPaused = function() { return this._readableState.flowing === false; }; - Readable2.prototype.setEncoding = function(enc) { + Readable3.prototype.setEncoding = function(enc) { if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; @@ -93798,7 +93983,7 @@ var require_stream_readable = __commonJS({ } return state.length; } - Readable2.prototype.read = function(n) { + Readable3.prototype.read = function(n) { debug6("read", n); n = parseInt(n, 10); var state = this._readableState; @@ -93893,10 +94078,10 @@ var require_stream_readable = __commonJS({ } state.readingMore = false; } - Readable2.prototype._read = function(n) { + Readable3.prototype._read = function(n) { this.emit("error", new Error("_read() is not implemented")); }; - Readable2.prototype.pipe = function(dest, pipeOpts) { + Readable3.prototype.pipe = function(dest, pipeOpts) { var src = this; var state = this._readableState; switch (state.pipesCount) { @@ -94001,7 +94186,7 @@ var require_stream_readable = __commonJS({ } }; } - Readable2.prototype.unpipe = function(dest) { + Readable3.prototype.unpipe = function(dest) { var state = this._readableState; var unpipeInfo = { hasUnpiped: false }; if (state.pipesCount === 0) return this; @@ -94025,15 +94210,15 @@ var require_stream_readable = __commonJS({ } return this; } - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - state.pipes.splice(index, 1); + var index2 = indexOf(state.pipes, dest); + if (index2 === -1) return this; + state.pipes.splice(index2, 1); state.pipesCount -= 1; if (state.pipesCount === 1) state.pipes = state.pipes[0]; dest.emit("unpipe", this, unpipeInfo); return this; }; - Readable2.prototype.on = function(ev, fn) { + Readable3.prototype.on = function(ev, fn) { var res = Stream.prototype.on.call(this, ev, fn); if (ev === "data") { if (this._readableState.flowing !== false) this.resume(); @@ -94051,12 +94236,12 @@ var require_stream_readable = __commonJS({ } return res; }; - Readable2.prototype.addListener = Readable2.prototype.on; + Readable3.prototype.addListener = Readable3.prototype.on; function nReadingNextTick(self2) { debug6("readable nexttick read 0"); self2.read(0); } - Readable2.prototype.resume = function() { + Readable3.prototype.resume = function() { var state = this._readableState; if (!state.flowing) { debug6("resume"); @@ -94082,7 +94267,7 @@ var require_stream_readable = __commonJS({ flow(stream2); if (state.flowing && !state.reading) stream2.read(0); } - Readable2.prototype.pause = function() { + Readable3.prototype.pause = function() { debug6("call pause flowing=%j", this._readableState.flowing); if (false !== this._readableState.flowing) { debug6("pause"); @@ -94097,7 +94282,7 @@ var require_stream_readable = __commonJS({ while (state.flowing && stream2.read() !== null) { } } - Readable2.prototype.wrap = function(stream2) { + Readable3.prototype.wrap = function(stream2) { var _this = this; var state = this._readableState; var paused = false; @@ -94141,7 +94326,7 @@ var require_stream_readable = __commonJS({ }; return this; }; - Object.defineProperty(Readable2.prototype, "readableHighWaterMark", { + Object.defineProperty(Readable3.prototype, "readableHighWaterMark", { // making it explicit this property is not enumerable // because otherwise some prototype manipulation in // userland will fail @@ -94150,7 +94335,7 @@ var require_stream_readable = __commonJS({ return this._readableState.highWaterMark; } }); - Readable2._fromList = fromList; + Readable3._fromList = fromList; function fromList(n, state) { if (state.length === 0) return null; var ret; @@ -94259,11 +94444,11 @@ var require_stream_readable = __commonJS({ var require_stream_transform = __commonJS({ "node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) { "use strict"; - module2.exports = Transform; + module2.exports = Transform5; var Duplex = require_stream_duplex(); - var util = Object.create(require_util12()); - util.inherits = require_inherits(); - util.inherits(Transform, Duplex); + var util3 = Object.create(require_util12()); + util3.inherits = require_inherits(); + util3.inherits(Transform5, Duplex); function afterTransform(er, data) { var ts = this._transformState; ts.transforming = false; @@ -94282,8 +94467,8 @@ var require_stream_transform = __commonJS({ this._read(rs.highWaterMark); } } - function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); + function Transform5(options) { + if (!(this instanceof Transform5)) return new Transform5(options); Duplex.call(this, options); this._transformState = { afterTransform: afterTransform.bind(this), @@ -94311,14 +94496,14 @@ var require_stream_transform = __commonJS({ done(this, null, null); } } - Transform.prototype.push = function(chunk, encoding) { + Transform5.prototype.push = function(chunk, encoding) { this._transformState.needTransform = false; return Duplex.prototype.push.call(this, chunk, encoding); }; - Transform.prototype._transform = function(chunk, encoding, cb) { + Transform5.prototype._transform = function(chunk, encoding, cb) { throw new Error("_transform() is not implemented"); }; - Transform.prototype._write = function(chunk, encoding, cb) { + Transform5.prototype._write = function(chunk, encoding, cb) { var ts = this._transformState; ts.writecb = cb; ts.writechunk = chunk; @@ -94328,7 +94513,7 @@ var require_stream_transform = __commonJS({ if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); } }; - Transform.prototype._read = function(n) { + Transform5.prototype._read = function(n) { var ts = this._transformState; if (ts.writechunk !== null && ts.writecb && !ts.transforming) { ts.transforming = true; @@ -94337,7 +94522,7 @@ var require_stream_transform = __commonJS({ ts.needTransform = true; } }; - Transform.prototype._destroy = function(err, cb) { + Transform5.prototype._destroy = function(err, cb) { var _this2 = this; Duplex.prototype._destroy.call(this, err, function(err2) { cb(err2); @@ -94359,16 +94544,16 @@ var require_stream_transform = __commonJS({ var require_stream_passthrough = __commonJS({ "node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) { "use strict"; - module2.exports = PassThrough; - var Transform = require_stream_transform(); - var util = Object.create(require_util12()); - util.inherits = require_inherits(); - util.inherits(PassThrough, Transform); - function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - Transform.call(this, options); + module2.exports = PassThrough3; + var Transform5 = require_stream_transform(); + var util3 = Object.create(require_util12()); + util3.inherits = require_inherits(); + util3.inherits(PassThrough3, Transform5); + function PassThrough3(options) { + if (!(this instanceof PassThrough3)) return new PassThrough3(options); + Transform5.call(this, options); } - PassThrough.prototype._transform = function(chunk, encoding, cb) { + PassThrough3.prototype._transform = function(chunk, encoding, cb) { cb(null, chunk); }; } @@ -94409,14 +94594,14 @@ var require_passthrough = __commonJS({ // node_modules/lazystream/lib/lazystream.js var require_lazystream = __commonJS({ "node_modules/lazystream/lib/lazystream.js"(exports2, module2) { - var util = require("util"); - var PassThrough = require_passthrough(); + var util3 = require("util"); + var PassThrough3 = require_passthrough(); module2.exports = { - Readable: Readable2, + Readable: Readable3, Writable }; - util.inherits(Readable2, PassThrough); - util.inherits(Writable, PassThrough); + util3.inherits(Readable3, PassThrough3); + util3.inherits(Writable, PassThrough3); function beforeFirstCall(instance, method, callback) { instance[method] = function() { delete instance[method]; @@ -94424,10 +94609,10 @@ var require_lazystream = __commonJS({ return this[method].apply(this, arguments); }; } - function Readable2(fn, options) { - if (!(this instanceof Readable2)) - return new Readable2(fn, options); - PassThrough.call(this, options); + function Readable3(fn, options) { + if (!(this instanceof Readable3)) + return new Readable3(fn, options); + PassThrough3.call(this, options); beforeFirstCall(this, "_read", function() { var source = fn.call(this, options); var emit = this.emit.bind(this, "error"); @@ -94439,7 +94624,7 @@ var require_lazystream = __commonJS({ function Writable(fn, options) { if (!(this instanceof Writable)) return new Writable(fn, options); - PassThrough.call(this, options); + PassThrough3.call(this, options); beforeFirstCall(this, "_write", function() { var destination = fn.call(this, options); var emit = this.emit.bind(this, "error"); @@ -94454,22 +94639,22 @@ var require_lazystream = __commonJS({ // node_modules/normalize-path/index.js var require_normalize_path = __commonJS({ "node_modules/normalize-path/index.js"(exports2, module2) { - module2.exports = function(path29, stripTrailing) { - if (typeof path29 !== "string") { + module2.exports = function(path30, stripTrailing) { + if (typeof path30 !== "string") { throw new TypeError("expected path to be a string"); } - if (path29 === "\\" || path29 === "/") return "/"; - var len = path29.length; - if (len <= 1) return path29; + if (path30 === "\\" || path30 === "/") return "/"; + var len = path30.length; + if (len <= 1) return path30; var prefix = ""; - if (len > 4 && path29[3] === "\\") { - var ch = path29[2]; - if ((ch === "?" || ch === ".") && path29.slice(0, 2) === "\\\\") { - path29 = path29.slice(2); + if (len > 4 && path30[3] === "\\") { + var ch = path30[2]; + if ((ch === "?" || ch === ".") && path30.slice(0, 2) === "\\\\") { + path30 = path30.slice(2); prefix = "//"; } } - var segs = path29.split(/[/\\]+/); + var segs = path30.split(/[/\\]+/); if (stripTrailing !== false && segs[segs.length - 1] === "") { segs.pop(); } @@ -94516,14 +94701,14 @@ var require_overRest = __commonJS({ function overRest(func, start, transform) { start = nativeMax(start === void 0 ? func.length - 1 : start, 0); return function() { - var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); - while (++index < length) { - array[index] = args[start + index]; + var args = arguments, index2 = -1, length = nativeMax(args.length - start, 0), array = Array(length); + while (++index2 < length) { + array[index2] = args[start + index2]; } - index = -1; + index2 = -1; var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; + while (++index2 < start) { + otherArgs[index2] = args[index2]; } otherArgs[start] = transform(array); return apply(func, this, otherArgs); @@ -94739,8 +94924,8 @@ var require_baseIsNative = __commonJS({ // node_modules/lodash/_getValue.js var require_getValue = __commonJS({ "node_modules/lodash/_getValue.js"(exports2, module2) { - function getValue(object2, key) { - return object2 == null ? void 0 : object2[key]; + function getValue(object, key) { + return object == null ? void 0 : object[key]; } module2.exports = getValue; } @@ -94751,8 +94936,8 @@ var require_getNative = __commonJS({ "node_modules/lodash/_getNative.js"(exports2, module2) { var baseIsNative = require_baseIsNative(); var getValue = require_getValue(); - function getNative(object2, key) { - var value = getValue(object2, key); + function getNative(object, key) { + var value = getValue(object, key); return baseIsNative(value) ? value : void 0; } module2.exports = getNative; @@ -94895,13 +95080,13 @@ var require_isIterateeCall = __commonJS({ var isArrayLike = require_isArrayLike(); var isIndex = require_isIndex(); var isObject2 = require_isObject(); - function isIterateeCall(value, index, object2) { - if (!isObject2(object2)) { + function isIterateeCall(value, index2, object) { + if (!isObject2(object)) { return false; } - var type = typeof index; - if (type == "number" ? isArrayLike(object2) && isIndex(index, object2.length) : type == "string" && index in object2) { - return eq(object2[index], value); + var type = typeof index2; + if (type == "number" ? isArrayLike(object) && isIndex(index2, object.length) : type == "string" && index2 in object) { + return eq(object[index2], value); } return false; } @@ -94913,9 +95098,9 @@ var require_isIterateeCall = __commonJS({ var require_baseTimes = __commonJS({ "node_modules/lodash/_baseTimes.js"(exports2, module2) { function baseTimes(n, iteratee) { - var index = -1, result = Array(n); - while (++index < n) { - result[index] = iteratee(index); + var index2 = -1, result = Array(n); + while (++index2 < n) { + result[index2] = iteratee(index2); } return result; } @@ -95008,11 +95193,11 @@ var require_baseIsTypedArray = __commonJS({ var dateTag = "[object Date]"; var errorTag = "[object Error]"; var funcTag = "[object Function]"; - var mapTag = "[object Map]"; + var mapTag2 = "[object Map]"; var numberTag = "[object Number]"; var objectTag = "[object Object]"; var regexpTag = "[object RegExp]"; - var setTag = "[object Set]"; + var setTag2 = "[object Set]"; var stringTag = "[object String]"; var weakMapTag = "[object WeakMap]"; var arrayBufferTag = "[object ArrayBuffer]"; @@ -95028,7 +95213,7 @@ var require_baseIsTypedArray = __commonJS({ var uint32Tag = "[object Uint32Array]"; var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag2] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag2] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } @@ -95125,10 +95310,10 @@ var require_isPrototype = __commonJS({ // node_modules/lodash/_nativeKeysIn.js var require_nativeKeysIn = __commonJS({ "node_modules/lodash/_nativeKeysIn.js"(exports2, module2) { - function nativeKeysIn(object2) { + function nativeKeysIn(object) { var result = []; - if (object2 != null) { - for (var key in Object(object2)) { + if (object != null) { + for (var key in Object(object)) { result.push(key); } } @@ -95146,13 +95331,13 @@ var require_baseKeysIn = __commonJS({ var nativeKeysIn = require_nativeKeysIn(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; - function baseKeysIn(object2) { - if (!isObject2(object2)) { - return nativeKeysIn(object2); + function baseKeysIn(object) { + if (!isObject2(object)) { + return nativeKeysIn(object); } - var isProto = isPrototype(object2), result = []; - for (var key in object2) { - if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object2, key)))) { + var isProto = isPrototype(object), result = []; + for (var key in object) { + if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) { result.push(key); } } @@ -95168,8 +95353,8 @@ var require_keysIn = __commonJS({ var arrayLikeKeys = require_arrayLikeKeys(); var baseKeysIn = require_baseKeysIn(); var isArrayLike = require_isArrayLike(); - function keysIn(object2) { - return isArrayLike(object2) ? arrayLikeKeys(object2, true) : baseKeysIn(object2); + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); } module2.exports = keysIn; } @@ -95184,30 +95369,30 @@ var require_defaults = __commonJS({ var keysIn = require_keysIn(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; - var defaults = baseRest(function(object2, sources) { - object2 = Object(object2); - var index = -1; + var defaults2 = baseRest(function(object, sources) { + object = Object(object); + var index2 = -1; var length = sources.length; var guard = length > 2 ? sources[2] : void 0; if (guard && isIterateeCall(sources[0], sources[1], guard)) { length = 1; } - while (++index < length) { - var source = sources[index]; + while (++index2 < length) { + var source = sources[index2]; var props = keysIn(source); var propsIndex = -1; var propsLength = props.length; while (++propsIndex < propsLength) { var key = props[propsIndex]; - var value = object2[key]; - if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object2, key)) { - object2[key] = source[key]; + var value = object[key]; + if (value === void 0 || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) { + object[key] = source[key]; } } } - return object2; + return object; }); - module2.exports = defaults; + module2.exports = defaults2; } }); @@ -95215,7 +95400,23 @@ var require_defaults = __commonJS({ var require_primordials = __commonJS({ "node_modules/readable-stream/lib/ours/primordials.js"(exports2, module2) { "use strict"; + var AggregateError = class extends Error { + constructor(errors) { + if (!Array.isArray(errors)) { + throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); + } + let message = ""; + for (let i = 0; i < errors.length; i++) { + message += ` ${errors[i].stack} +`; + } + super(message); + this.name = "AggregateError"; + this.errors = errors; + } + }; module2.exports = { + AggregateError, ArrayIsArray(self2) { return Array.isArray(self2); }, @@ -95225,8 +95426,8 @@ var require_primordials = __commonJS({ ArrayPrototypeIndexOf(self2, el) { return self2.indexOf(el); }, - ArrayPrototypeJoin(self2, sep6) { - return self2.join(sep6); + ArrayPrototypeJoin(self2, sep7) { + return self2.join(sep7); }, ArrayPrototypeMap(self2, fn) { return self2.map(fn); @@ -95316,6 +95517,375 @@ var require_primordials = __commonJS({ } }); +// node_modules/readable-stream/lib/ours/util/inspect.js +var require_inspect2 = __commonJS({ + "node_modules/readable-stream/lib/ours/util/inspect.js"(exports2, module2) { + "use strict"; + module2.exports = { + format(format, ...args) { + return format.replace(/%([sdifj])/g, function(...[_unused, type]) { + const replacement = args.shift(); + if (type === "f") { + return replacement.toFixed(6); + } else if (type === "j") { + return JSON.stringify(replacement); + } else if (type === "s" && typeof replacement === "object") { + const ctor = replacement.constructor !== Object ? replacement.constructor.name : ""; + return `${ctor} {}`.trim(); + } else { + return replacement.toString(); + } + }); + }, + inspect(value) { + switch (typeof value) { + case "string": + if (value.includes("'")) { + if (!value.includes('"')) { + return `"${value}"`; + } else if (!value.includes("`") && !value.includes("${")) { + return `\`${value}\``; + } + } + return `'${value}'`; + case "number": + if (isNaN(value)) { + return "NaN"; + } else if (Object.is(value, -0)) { + return String(value); + } + return value; + case "bigint": + return `${String(value)}n`; + case "boolean": + case "undefined": + return String(value); + case "object": + return "{}"; + } + } + }; + } +}); + +// node_modules/readable-stream/lib/ours/errors.js +var require_errors4 = __commonJS({ + "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) { + "use strict"; + var { format, inspect } = require_inspect2(); + var { AggregateError: CustomAggregateError } = require_primordials(); + var AggregateError = globalThis.AggregateError || CustomAggregateError; + var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError"); + var kTypes = [ + "string", + "function", + "number", + "object", + // Accept 'Function' and 'Object' as alternative to the lower cased version. + "Function", + "Object", + "boolean", + "bigint", + "symbol" + ]; + var classRegExp = /^([A-Z][a-z0-9]*)+$/; + var nodeInternalPrefix = "__node_internal_"; + var codes = {}; + function assert(value, message) { + if (!value) { + throw new codes.ERR_INTERNAL_ASSERTION(message); + } + } + function addNumericalSeparator(val) { + let res = ""; + let i = val.length; + const start = val[0] === "-" ? 1 : 0; + for (; i >= start + 4; i -= 3) { + res = `_${val.slice(i - 3, i)}${res}`; + } + return `${val.slice(0, i)}${res}`; + } + function getMessage(key, msg, args) { + if (typeof msg === "function") { + assert( + msg.length <= args.length, + // Default options do not count. + `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).` + ); + return msg(...args); + } + const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length; + assert( + expectedLength === args.length, + `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).` + ); + if (args.length === 0) { + return msg; + } + return format(msg, ...args); + } + function E(code, message, Base) { + if (!Base) { + Base = Error; + } + class NodeError extends Base { + constructor(...args) { + super(getMessage(code, message, args)); + } + toString() { + return `${this.name} [${code}]: ${this.message}`; + } + } + Object.defineProperties(NodeError.prototype, { + name: { + value: Base.name, + writable: true, + enumerable: false, + configurable: true + }, + toString: { + value() { + return `${this.name} [${code}]: ${this.message}`; + }, + writable: true, + enumerable: false, + configurable: true + } + }); + NodeError.prototype.code = code; + NodeError.prototype[kIsNodeError] = true; + codes[code] = NodeError; + } + function hideStackFrames(fn) { + const hidden = nodeInternalPrefix + fn.name; + Object.defineProperty(fn, "name", { + value: hidden + }); + return fn; + } + function aggregateTwoErrors(innerError, outerError) { + if (innerError && outerError && innerError !== outerError) { + if (Array.isArray(outerError.errors)) { + outerError.errors.push(innerError); + return outerError; + } + const err = new AggregateError([outerError, innerError], outerError.message); + err.code = outerError.code; + return err; + } + return innerError || outerError; + } + var AbortError = class extends Error { + constructor(message = "The operation was aborted", options = void 0) { + if (options !== void 0 && typeof options !== "object") { + throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options); + } + super(message, options); + this.code = "ABORT_ERR"; + this.name = "AbortError"; + } + }; + E("ERR_ASSERTION", "%s", Error); + E( + "ERR_INVALID_ARG_TYPE", + (name, expected, actual) => { + assert(typeof name === "string", "'name' must be a string"); + if (!Array.isArray(expected)) { + expected = [expected]; + } + let msg = "The "; + if (name.endsWith(" argument")) { + msg += `${name} `; + } else { + msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `; + } + msg += "must be "; + const types2 = []; + const instances = []; + const other = []; + for (const value of expected) { + assert(typeof value === "string", "All expected entries have to be of type string"); + if (kTypes.includes(value)) { + types2.push(value.toLowerCase()); + } else if (classRegExp.test(value)) { + instances.push(value); + } else { + assert(value !== "object", 'The value "object" should be written as "Object"'); + other.push(value); + } + } + if (instances.length > 0) { + const pos = types2.indexOf("object"); + if (pos !== -1) { + types2.splice(types2, pos, 1); + instances.push("Object"); + } + } + if (types2.length > 0) { + switch (types2.length) { + case 1: + msg += `of type ${types2[0]}`; + break; + case 2: + msg += `one of type ${types2[0]} or ${types2[1]}`; + break; + default: { + const last = types2.pop(); + msg += `one of type ${types2.join(", ")}, or ${last}`; + } + } + if (instances.length > 0 || other.length > 0) { + msg += " or "; + } + } + if (instances.length > 0) { + switch (instances.length) { + case 1: + msg += `an instance of ${instances[0]}`; + break; + case 2: + msg += `an instance of ${instances[0]} or ${instances[1]}`; + break; + default: { + const last = instances.pop(); + msg += `an instance of ${instances.join(", ")}, or ${last}`; + } + } + if (other.length > 0) { + msg += " or "; + } + } + switch (other.length) { + case 0: + break; + case 1: + if (other[0].toLowerCase() !== other[0]) { + msg += "an "; + } + msg += `${other[0]}`; + break; + case 2: + msg += `one of ${other[0]} or ${other[1]}`; + break; + default: { + const last = other.pop(); + msg += `one of ${other.join(", ")}, or ${last}`; + } + } + if (actual == null) { + msg += `. Received ${actual}`; + } else if (typeof actual === "function" && actual.name) { + msg += `. Received function ${actual.name}`; + } else if (typeof actual === "object") { + var _actual$constructor; + if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) { + msg += `. Received an instance of ${actual.constructor.name}`; + } else { + const inspected = inspect(actual, { + depth: -1 + }); + msg += `. Received ${inspected}`; + } + } else { + let inspected = inspect(actual, { + colors: false + }); + if (inspected.length > 25) { + inspected = `${inspected.slice(0, 25)}...`; + } + msg += `. Received type ${typeof actual} (${inspected})`; + } + return msg; + }, + TypeError + ); + E( + "ERR_INVALID_ARG_VALUE", + (name, value, reason = "is invalid") => { + let inspected = inspect(value); + if (inspected.length > 128) { + inspected = inspected.slice(0, 128) + "..."; + } + const type = name.includes(".") ? "property" : "argument"; + return `The ${type} '${name}' ${reason}. Received ${inspected}`; + }, + TypeError + ); + E( + "ERR_INVALID_RETURN_VALUE", + (input, name, value) => { + var _value$constructor; + const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`; + return `Expected ${input} to be returned from the "${name}" function but got ${type}.`; + }, + TypeError + ); + E( + "ERR_MISSING_ARGS", + (...args) => { + assert(args.length > 0, "At least one arg needs to be specified"); + let msg; + const len = args.length; + args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or "); + switch (len) { + case 1: + msg += `The ${args[0]} argument`; + break; + case 2: + msg += `The ${args[0]} and ${args[1]} arguments`; + break; + default: + { + const last = args.pop(); + msg += `The ${args.join(", ")}, and ${last} arguments`; + } + break; + } + return `${msg} must be specified`; + }, + TypeError + ); + E( + "ERR_OUT_OF_RANGE", + (str, range2, input) => { + assert(range2, 'Missing "range" argument'); + let received; + if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { + received = addNumericalSeparator(String(input)); + } else if (typeof input === "bigint") { + received = String(input); + const limit = BigInt(2) ** BigInt(32); + if (input > limit || input < -limit) { + received = addNumericalSeparator(received); + } + received += "n"; + } else { + received = inspect(input); + } + return `The value of "${str}" is out of range. It must be ${range2}. Received ${received}`; + }, + RangeError + ); + E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error); + E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error); + E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error); + E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error); + E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error); + E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError); + E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error); + E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error); + E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error); + E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error); + E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError); + module2.exports = { + AbortError, + aggregateTwoErrors: hideStackFrames(aggregateTwoErrors), + hideStackFrames, + codes + }; + } +}); + // node_modules/event-target-shim/dist/event-target-shim.js var require_event_target_shim = __commonJS({ "node_modules/event-target-shim/dist/event-target-shim.js"(exports2, module2) { @@ -95989,7 +96559,11 @@ var require_util13 = __commonJS({ "node_modules/readable-stream/lib/ours/util.js"(exports2, module2) { "use strict"; var bufferModule = require("buffer"); - var { kResistStopPropagation, SymbolDispose } = require_primordials(); + var { format, inspect } = require_inspect2(); + var { + codes: { ERR_INVALID_ARG_TYPE } + } = require_errors4(); + var { kResistStopPropagation, AggregateError, SymbolDispose } = require_primordials(); var AbortSignal2 = globalThis.AbortSignal || require_abort_controller().AbortSignal; var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; var AsyncFunction = Object.getPrototypeOf(async function() { @@ -96006,21 +96580,8 @@ var require_util13 = __commonJS({ } }; var validateFunction = (value, name) => { - if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value); - }; - var AggregateError = class extends Error { - constructor(errors) { - if (!Array.isArray(errors)) { - throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); - } - let message = ""; - for (let i = 0; i < errors.length; i++) { - message += ` ${errors[i].stack} -`; - } - super(message); - this.name = "AggregateError"; - this.errors = errors; + if (typeof value !== "function") { + throw new ERR_INVALID_ARG_TYPE(name, "Function", value); } }; module2.exports = { @@ -96037,25 +96598,25 @@ var require_util13 = __commonJS({ }; }, createDeferredPromise: function() { - let resolve13; + let resolve14; let reject; const promise = new Promise((res, rej) => { - resolve13 = res; + resolve14 = res; reject = rej; }); return { promise, - resolve: resolve13, + resolve: resolve14, reject }; }, promisify(fn) { - return new Promise((resolve13, reject) => { + return new Promise((resolve14, reject) => { fn((err, ...args) => { if (err) { return reject(err); } - return resolve13(...args); + return resolve14(...args); }); }); }, @@ -96063,48 +96624,8 @@ var require_util13 = __commonJS({ return function() { }; }, - format(format, ...args) { - return format.replace(/%([sdifj])/g, function(...[_unused, type]) { - const replacement = args.shift(); - if (type === "f") { - return replacement.toFixed(6); - } else if (type === "j") { - return JSON.stringify(replacement); - } else if (type === "s" && typeof replacement === "object") { - const ctor = replacement.constructor !== Object ? replacement.constructor.name : ""; - return `${ctor} {}`.trim(); - } else { - return replacement.toString(); - } - }); - }, - inspect(value) { - switch (typeof value) { - case "string": - if (value.includes("'")) { - if (!value.includes('"')) { - return `"${value}"`; - } else if (!value.includes("`") && !value.includes("${")) { - return `\`${value}\``; - } - } - return `'${value}'`; - case "number": - if (isNaN(value)) { - return "NaN"; - } else if (Object.is(value, -0)) { - return String(value); - } - return value; - case "bigint": - return `${String(value)}n`; - case "boolean": - case "undefined": - return String(value); - case "object": - return "{}"; - } - }, + format, + inspect, types: { isAsyncFunction(fn) { return fn instanceof AsyncFunction; @@ -96172,322 +96693,6 @@ var require_util13 = __commonJS({ } }); -// node_modules/readable-stream/lib/ours/errors.js -var require_errors4 = __commonJS({ - "node_modules/readable-stream/lib/ours/errors.js"(exports2, module2) { - "use strict"; - var { format, inspect, AggregateError: CustomAggregateError } = require_util13(); - var AggregateError = globalThis.AggregateError || CustomAggregateError; - var kIsNodeError = /* @__PURE__ */ Symbol("kIsNodeError"); - var kTypes = [ - "string", - "function", - "number", - "object", - // Accept 'Function' and 'Object' as alternative to the lower cased version. - "Function", - "Object", - "boolean", - "bigint", - "symbol" - ]; - var classRegExp = /^([A-Z][a-z0-9]*)+$/; - var nodeInternalPrefix = "__node_internal_"; - var codes = {}; - function assert(value, message) { - if (!value) { - throw new codes.ERR_INTERNAL_ASSERTION(message); - } - } - function addNumericalSeparator(val) { - let res = ""; - let i = val.length; - const start = val[0] === "-" ? 1 : 0; - for (; i >= start + 4; i -= 3) { - res = `_${val.slice(i - 3, i)}${res}`; - } - return `${val.slice(0, i)}${res}`; - } - function getMessage(key, msg, args) { - if (typeof msg === "function") { - assert( - msg.length <= args.length, - // Default options do not count. - `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).` - ); - return msg(...args); - } - const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length; - assert( - expectedLength === args.length, - `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).` - ); - if (args.length === 0) { - return msg; - } - return format(msg, ...args); - } - function E(code, message, Base) { - if (!Base) { - Base = Error; - } - class NodeError extends Base { - constructor(...args) { - super(getMessage(code, message, args)); - } - toString() { - return `${this.name} [${code}]: ${this.message}`; - } - } - Object.defineProperties(NodeError.prototype, { - name: { - value: Base.name, - writable: true, - enumerable: false, - configurable: true - }, - toString: { - value() { - return `${this.name} [${code}]: ${this.message}`; - }, - writable: true, - enumerable: false, - configurable: true - } - }); - NodeError.prototype.code = code; - NodeError.prototype[kIsNodeError] = true; - codes[code] = NodeError; - } - function hideStackFrames(fn) { - const hidden = nodeInternalPrefix + fn.name; - Object.defineProperty(fn, "name", { - value: hidden - }); - return fn; - } - function aggregateTwoErrors(innerError, outerError) { - if (innerError && outerError && innerError !== outerError) { - if (Array.isArray(outerError.errors)) { - outerError.errors.push(innerError); - return outerError; - } - const err = new AggregateError([outerError, innerError], outerError.message); - err.code = outerError.code; - return err; - } - return innerError || outerError; - } - var AbortError = class extends Error { - constructor(message = "The operation was aborted", options = void 0) { - if (options !== void 0 && typeof options !== "object") { - throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options); - } - super(message, options); - this.code = "ABORT_ERR"; - this.name = "AbortError"; - } - }; - E("ERR_ASSERTION", "%s", Error); - E( - "ERR_INVALID_ARG_TYPE", - (name, expected, actual) => { - assert(typeof name === "string", "'name' must be a string"); - if (!Array.isArray(expected)) { - expected = [expected]; - } - let msg = "The "; - if (name.endsWith(" argument")) { - msg += `${name} `; - } else { - msg += `"${name}" ${name.includes(".") ? "property" : "argument"} `; - } - msg += "must be "; - const types2 = []; - const instances = []; - const other = []; - for (const value of expected) { - assert(typeof value === "string", "All expected entries have to be of type string"); - if (kTypes.includes(value)) { - types2.push(value.toLowerCase()); - } else if (classRegExp.test(value)) { - instances.push(value); - } else { - assert(value !== "object", 'The value "object" should be written as "Object"'); - other.push(value); - } - } - if (instances.length > 0) { - const pos = types2.indexOf("object"); - if (pos !== -1) { - types2.splice(types2, pos, 1); - instances.push("Object"); - } - } - if (types2.length > 0) { - switch (types2.length) { - case 1: - msg += `of type ${types2[0]}`; - break; - case 2: - msg += `one of type ${types2[0]} or ${types2[1]}`; - break; - default: { - const last = types2.pop(); - msg += `one of type ${types2.join(", ")}, or ${last}`; - } - } - if (instances.length > 0 || other.length > 0) { - msg += " or "; - } - } - if (instances.length > 0) { - switch (instances.length) { - case 1: - msg += `an instance of ${instances[0]}`; - break; - case 2: - msg += `an instance of ${instances[0]} or ${instances[1]}`; - break; - default: { - const last = instances.pop(); - msg += `an instance of ${instances.join(", ")}, or ${last}`; - } - } - if (other.length > 0) { - msg += " or "; - } - } - switch (other.length) { - case 0: - break; - case 1: - if (other[0].toLowerCase() !== other[0]) { - msg += "an "; - } - msg += `${other[0]}`; - break; - case 2: - msg += `one of ${other[0]} or ${other[1]}`; - break; - default: { - const last = other.pop(); - msg += `one of ${other.join(", ")}, or ${last}`; - } - } - if (actual == null) { - msg += `. Received ${actual}`; - } else if (typeof actual === "function" && actual.name) { - msg += `. Received function ${actual.name}`; - } else if (typeof actual === "object") { - var _actual$constructor; - if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) { - msg += `. Received an instance of ${actual.constructor.name}`; - } else { - const inspected = inspect(actual, { - depth: -1 - }); - msg += `. Received ${inspected}`; - } - } else { - let inspected = inspect(actual, { - colors: false - }); - if (inspected.length > 25) { - inspected = `${inspected.slice(0, 25)}...`; - } - msg += `. Received type ${typeof actual} (${inspected})`; - } - return msg; - }, - TypeError - ); - E( - "ERR_INVALID_ARG_VALUE", - (name, value, reason = "is invalid") => { - let inspected = inspect(value); - if (inspected.length > 128) { - inspected = inspected.slice(0, 128) + "..."; - } - const type = name.includes(".") ? "property" : "argument"; - return `The ${type} '${name}' ${reason}. Received ${inspected}`; - }, - TypeError - ); - E( - "ERR_INVALID_RETURN_VALUE", - (input, name, value) => { - var _value$constructor; - const type = value !== null && value !== void 0 && (_value$constructor = value.constructor) !== null && _value$constructor !== void 0 && _value$constructor.name ? `instance of ${value.constructor.name}` : `type ${typeof value}`; - return `Expected ${input} to be returned from the "${name}" function but got ${type}.`; - }, - TypeError - ); - E( - "ERR_MISSING_ARGS", - (...args) => { - assert(args.length > 0, "At least one arg needs to be specified"); - let msg; - const len = args.length; - args = (Array.isArray(args) ? args : [args]).map((a) => `"${a}"`).join(" or "); - switch (len) { - case 1: - msg += `The ${args[0]} argument`; - break; - case 2: - msg += `The ${args[0]} and ${args[1]} arguments`; - break; - default: - { - const last = args.pop(); - msg += `The ${args.join(", ")}, and ${last} arguments`; - } - break; - } - return `${msg} must be specified`; - }, - TypeError - ); - E( - "ERR_OUT_OF_RANGE", - (str, range, input) => { - assert(range, 'Missing "range" argument'); - let received; - if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { - received = addNumericalSeparator(String(input)); - } else if (typeof input === "bigint") { - received = String(input); - if (input > 2n ** 32n || input < -(2n ** 32n)) { - received = addNumericalSeparator(received); - } - received += "n"; - } else { - received = inspect(input); - } - return `The value of "${str}" is out of range. It must be ${range}. Received ${received}`; - }, - RangeError - ); - E("ERR_MULTIPLE_CALLBACK", "Callback called multiple times", Error); - E("ERR_METHOD_NOT_IMPLEMENTED", "The %s method is not implemented", Error); - E("ERR_STREAM_ALREADY_FINISHED", "Cannot call %s after a stream was finished", Error); - E("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable", Error); - E("ERR_STREAM_DESTROYED", "Cannot call %s after a stream was destroyed", Error); - E("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError); - E("ERR_STREAM_PREMATURE_CLOSE", "Premature close", Error); - E("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF", Error); - E("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event", Error); - E("ERR_STREAM_WRITE_AFTER_END", "write after end", Error); - E("ERR_UNKNOWN_ENCODING", "Unknown encoding: %s", TypeError); - module2.exports = { - AbortError, - aggregateTwoErrors: hideStackFrames(aggregateTwoErrors), - hideStackFrames, - codes - }; - } -}); - // node_modules/readable-stream/lib/internal/validators.js var require_validators = __commonJS({ "node_modules/readable-stream/lib/internal/validators.js"(exports2, module2) { @@ -96510,7 +96715,7 @@ var require_validators = __commonJS({ } = require_primordials(); var { hideStackFrames, - codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL } + codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL } } = require_errors4(); var { normalizeEncoding } = require_util13(); var { isAsyncFunction, isArrayBufferView } = require_util13().types; @@ -96537,13 +96742,13 @@ var require_validators = __commonJS({ return value; } var validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => { - if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE(name, "number", value); if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, "an integer", value); if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); }); var validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => { if (typeof value !== "number") { - throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + throw new ERR_INVALID_ARG_TYPE(name, "number", value); } if (!NumberIsInteger(value)) { throw new ERR_OUT_OF_RANGE(name, "an integer", value); @@ -96554,7 +96759,7 @@ var require_validators = __commonJS({ }); var validateUint32 = hideStackFrames((value, name, positive = false) => { if (typeof value !== "number") { - throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + throw new ERR_INVALID_ARG_TYPE(name, "number", value); } if (!NumberIsInteger(value)) { throw new ERR_OUT_OF_RANGE(name, "an integer", value); @@ -96566,10 +96771,10 @@ var require_validators = __commonJS({ } }); function validateString(value, name) { - if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE2(name, "string", value); + if (typeof value !== "string") throw new ERR_INVALID_ARG_TYPE(name, "string", value); } function validateNumber(value, name, min = void 0, max) { - if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE2(name, "number", value); + if (typeof value !== "number") throw new ERR_INVALID_ARG_TYPE(name, "number", value); if (min != null && value < min || max != null && value > max || (min != null || max != null) && NumberIsNaN(value)) { throw new ERR_OUT_OF_RANGE( name, @@ -96589,7 +96794,7 @@ var require_validators = __commonJS({ } }); function validateBoolean(value, name) { - if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE2(name, "boolean", value); + if (typeof value !== "boolean") throw new ERR_INVALID_ARG_TYPE(name, "boolean", value); } function getOwnPropertyValueOrDefault(options, key, defaultValue) { return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key]; @@ -96599,17 +96804,17 @@ var require_validators = __commonJS({ const allowFunction = getOwnPropertyValueOrDefault(options, "allowFunction", false); const nullable = getOwnPropertyValueOrDefault(options, "nullable", false); if (!nullable && value === null || !allowArray && ArrayIsArray(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) { - throw new ERR_INVALID_ARG_TYPE2(name, "Object", value); + throw new ERR_INVALID_ARG_TYPE(name, "Object", value); } }); var validateDictionary = hideStackFrames((value, name) => { if (value != null && typeof value !== "object" && typeof value !== "function") { - throw new ERR_INVALID_ARG_TYPE2(name, "a dictionary", value); + throw new ERR_INVALID_ARG_TYPE(name, "a dictionary", value); } }); var validateArray = hideStackFrames((value, name, minLength = 0) => { if (!ArrayIsArray(value)) { - throw new ERR_INVALID_ARG_TYPE2(name, "Array", value); + throw new ERR_INVALID_ARG_TYPE(name, "Array", value); } if (value.length < minLength) { const reason = `must be longer than ${minLength}`; @@ -96634,7 +96839,7 @@ var require_validators = __commonJS({ const signal = value[i]; const indexedName = `${name}[${i}]`; if (signal == null) { - throw new ERR_INVALID_ARG_TYPE2(indexedName, "AbortSignal", signal); + throw new ERR_INVALID_ARG_TYPE(indexedName, "AbortSignal", signal); } validateAbortSignal(signal, indexedName); } @@ -96650,7 +96855,7 @@ var require_validators = __commonJS({ } var validateBuffer = hideStackFrames((buffer, name = "buffer") => { if (!isArrayBufferView(buffer)) { - throw new ERR_INVALID_ARG_TYPE2(name, ["Buffer", "TypedArray", "DataView"], buffer); + throw new ERR_INVALID_ARG_TYPE(name, ["Buffer", "TypedArray", "DataView"], buffer); } }); function validateEncoding(data, encoding) { @@ -96668,21 +96873,21 @@ var require_validators = __commonJS({ } var validateAbortSignal = hideStackFrames((signal, name) => { if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) { - throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal); + throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); } }); var validateFunction = hideStackFrames((value, name) => { - if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE2(name, "Function", value); + if (typeof value !== "function") throw new ERR_INVALID_ARG_TYPE(name, "Function", value); }); var validatePlainFunction = hideStackFrames((value, name) => { - if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE2(name, "Function", value); + if (typeof value !== "function" || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE(name, "Function", value); }); var validateUndefined = hideStackFrames((value, name) => { - if (value !== void 0) throw new ERR_INVALID_ARG_TYPE2(name, "undefined", value); + if (value !== void 0) throw new ERR_INVALID_ARG_TYPE(name, "undefined", value); }); function validateUnion(value, name, union) { if (!ArrayPrototypeIncludes(union, value)) { - throw new ERR_INVALID_ARG_TYPE2(name, `('${ArrayPrototypeJoin(union, "|")}')`, value); + throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, "|")}')`, value); } } var linkValueRegExp = /^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/; @@ -96971,9 +97176,10 @@ var require_utils7 = __commonJS({ // node_modules/readable-stream/lib/internal/streams/end-of-stream.js var require_end_of_stream = __commonJS({ "node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) { + "use strict"; var process2 = require_process(); var { AbortError, codes } = require_errors4(); - var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_PREMATURE_CLOSE } = codes; + var { ERR_INVALID_ARG_TYPE, ERR_STREAM_PREMATURE_CLOSE } = codes; var { kEmptyObject, once } = require_util13(); var { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require_validators(); var { Promise: Promise2, PromisePrototypeThen, SymbolDispose } = require_primordials(); @@ -97016,7 +97222,7 @@ var require_end_of_stream = __commonJS({ return eosWeb(stream2, options, callback); } if (!isNodeStream(stream2)) { - throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2); + throw new ERR_INVALID_ARG_TYPE("stream", ["ReadableStream", "WritableStream", "Stream"], stream2); } const readable = (_options$readable = options.readable) !== null && _options$readable !== void 0 ? _options$readable : isReadableNodeStream(stream2); const writable = (_options$writable = options.writable) !== null && _options$writable !== void 0 ? _options$writable : isWritableNodeStream(stream2); @@ -97201,7 +97407,7 @@ var require_end_of_stream = __commonJS({ validateBoolean(opts.cleanup, "cleanup"); autoCleanup = opts.cleanup; } - return new Promise2((resolve13, reject) => { + return new Promise2((resolve14, reject) => { const cleanup = eos(stream2, opts, (err) => { if (autoCleanup) { cleanup(); @@ -97209,7 +97415,7 @@ var require_end_of_stream = __commonJS({ if (err) { reject(err); } else { - resolve13(); + resolve14(); } }); }); @@ -97570,17 +97776,17 @@ var require_add_abort_signal = __commonJS({ var { AbortError, codes } = require_errors4(); var { isNodeStream, isWebStream, kControllerErrorFunction } = require_utils7(); var eos = require_end_of_stream(); - var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2 } = codes; + var { ERR_INVALID_ARG_TYPE } = codes; var addAbortListener; var validateAbortSignal = (signal, name) => { if (typeof signal !== "object" || !("aborted" in signal)) { - throw new ERR_INVALID_ARG_TYPE2(name, "AbortSignal", signal); + throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); } }; module2.exports.addAbortSignal = function addAbortSignal(signal, stream2) { validateAbortSignal(signal, "signal"); if (!isNodeStream(stream2) && !isWebStream(stream2)) { - throw new ERR_INVALID_ARG_TYPE2("stream", ["ReadableStream", "WritableStream", "Stream"], stream2); + throw new ERR_INVALID_ARG_TYPE("stream", ["ReadableStream", "WritableStream", "Stream"], stream2); } return module2.exports.addAbortSignalNoValidate(signal, stream2); }; @@ -97810,6 +98016,302 @@ var require_state3 = __commonJS({ } }); +// node_modules/safe-buffer/index.js +var require_safe_buffer2 = __commonJS({ + "node_modules/safe-buffer/index.js"(exports2, module2) { + var buffer = require("buffer"); + var Buffer2 = buffer.Buffer; + function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; + } + } + if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { + module2.exports = buffer; + } else { + copyProps(buffer, exports2); + exports2.Buffer = SafeBuffer; + } + function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer2(arg, encodingOrOffset, length); + } + SafeBuffer.prototype = Object.create(Buffer2.prototype); + copyProps(Buffer2, SafeBuffer); + SafeBuffer.from = function(arg, encodingOrOffset, length) { + if (typeof arg === "number") { + throw new TypeError("Argument must not be a number"); + } + return Buffer2(arg, encodingOrOffset, length); + }; + SafeBuffer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + var buf = Buffer2(size); + if (fill !== void 0) { + if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + } else { + buf.fill(0); + } + return buf; + }; + SafeBuffer.allocUnsafe = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return Buffer2(size); + }; + SafeBuffer.allocUnsafeSlow = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return buffer.SlowBuffer(size); + }; + } +}); + +// node_modules/string_decoder/lib/string_decoder.js +var require_string_decoder2 = __commonJS({ + "node_modules/string_decoder/lib/string_decoder.js"(exports2) { + "use strict"; + var Buffer2 = require_safe_buffer2().Buffer; + var isEncoding = Buffer2.isEncoding || function(encoding) { + encoding = "" + encoding; + switch (encoding && encoding.toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + case "raw": + return true; + default: + return false; + } + }; + function _normalizeEncoding(enc) { + if (!enc) return "utf8"; + var retried; + while (true) { + switch (enc) { + case "utf8": + case "utf-8": + return "utf8"; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return "utf16le"; + case "latin1": + case "binary": + return "latin1"; + case "base64": + case "ascii": + case "hex": + return enc; + default: + if (retried) return; + enc = ("" + enc).toLowerCase(); + retried = true; + } + } + } + function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc); + return nenc || enc; + } + exports2.StringDecoder = StringDecoder; + function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case "utf16le": + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case "utf8": + this.fillLast = utf8FillLast; + nb = 4; + break; + case "base64": + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer2.allocUnsafe(nb); + } + StringDecoder.prototype.write = function(buf) { + if (buf.length === 0) return ""; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === void 0) return ""; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ""; + }; + StringDecoder.prototype.end = utf8End; + StringDecoder.prototype.text = utf8Text; + StringDecoder.prototype.fillLast = function(buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; + }; + function utf8CheckByte(byte) { + if (byte <= 127) return 0; + else if (byte >> 5 === 6) return 2; + else if (byte >> 4 === 14) return 3; + else if (byte >> 3 === 30) return 4; + return byte >> 6 === 2 ? -1 : -2; + } + function utf8CheckIncomplete(self2, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self2.lastNeed = nb - 1; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self2.lastNeed = nb - 2; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0; + else self2.lastNeed = nb - 3; + } + return nb; + } + return 0; + } + function utf8CheckExtraBytes(self2, buf, p) { + if ((buf[0] & 192) !== 128) { + self2.lastNeed = 0; + return "\uFFFD"; + } + if (self2.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 192) !== 128) { + self2.lastNeed = 1; + return "\uFFFD"; + } + if (self2.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 192) !== 128) { + self2.lastNeed = 2; + return "\uFFFD"; + } + } + } + } + function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== void 0) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; + } + function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString("utf8", i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString("utf8", i, end); + } + function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + "\uFFFD"; + return r; + } + function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString("utf16le", i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 55296 && c <= 56319) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); + } + } + return r; + } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString("utf16le", i, buf.length - 1); + } + function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString("utf16le", 0, end); + } + return r; + } + function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString("base64", i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString("base64", i, buf.length - n); + } + function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ""; + if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed); + return r; + } + function simpleWrite(buf) { + return buf.toString(this.encoding); + } + function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ""; + } + } +}); + // node_modules/readable-stream/lib/internal/streams/from.js var require_from = __commonJS({ "node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) { @@ -97817,11 +98319,11 @@ var require_from = __commonJS({ var process2 = require_process(); var { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require_primordials(); var { Buffer: Buffer2 } = require("buffer"); - var { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_STREAM_NULL_VALUES } = require_errors4().codes; - function from(Readable2, iterable, opts) { + var { ERR_INVALID_ARG_TYPE, ERR_STREAM_NULL_VALUES } = require_errors4().codes; + function from(Readable3, iterable, opts) { let iterator2; if (typeof iterable === "string" || iterable instanceof Buffer2) { - return new Readable2({ + return new Readable3({ objectMode: true, ...opts, read() { @@ -97838,9 +98340,9 @@ var require_from = __commonJS({ isAsync = false; iterator2 = iterable[SymbolIterator](); } else { - throw new ERR_INVALID_ARG_TYPE2("iterable", ["Iterable"], iterable); + throw new ERR_INVALID_ARG_TYPE("iterable", ["Iterable"], iterable); } - const readable = new Readable2({ + const readable = new Readable3({ objectMode: true, highWaterMark: 1, // TODO(ronag): What options should be allowed? @@ -97908,6 +98410,7 @@ var require_from = __commonJS({ // node_modules/readable-stream/lib/internal/streams/readable.js var require_readable3 = __commonJS({ "node_modules/readable-stream/lib/internal/streams/readable.js"(exports2, module2) { + "use strict"; var process2 = require_process(); var { ArrayPrototypeIndexOf, @@ -97923,8 +98426,8 @@ var require_readable3 = __commonJS({ SymbolAsyncIterator, Symbol: Symbol2 } = require_primordials(); - module2.exports = Readable2; - Readable2.ReadableState = ReadableState; + module2.exports = Readable3; + Readable3.ReadableState = ReadableState; var { EventEmitter: EE } = require("events"); var { Stream, prependListener } = require_legacy(); var { Buffer: Buffer2 } = require("buffer"); @@ -97939,7 +98442,7 @@ var require_readable3 = __commonJS({ var { aggregateTwoErrors, codes: { - ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_INVALID_ARG_TYPE, ERR_METHOD_NOT_IMPLEMENTED, ERR_OUT_OF_RANGE, ERR_STREAM_PUSH_AFTER_EOF, @@ -97949,10 +98452,10 @@ var require_readable3 = __commonJS({ } = require_errors4(); var { validateObject } = require_validators(); var kPaused = Symbol2("kPaused"); - var { StringDecoder } = require("string_decoder"); + var { StringDecoder } = require_string_decoder2(); var from = require_from(); - ObjectSetPrototypeOf(Readable2.prototype, Stream.prototype); - ObjectSetPrototypeOf(Readable2, Stream); + ObjectSetPrototypeOf(Readable3.prototype, Stream.prototype); + ObjectSetPrototypeOf(Readable3, Stream); var nop = () => { }; var { errorOrDestroy } = destroyImpl; @@ -98047,8 +98550,8 @@ var require_readable3 = __commonJS({ this.encoding = options.encoding; } } - function Readable2(options) { - if (!(this instanceof Readable2)) return new Readable2(options); + function Readable3(options) { + if (!(this instanceof Readable3)) return new Readable3(options); const isDuplex = this instanceof require_duplex(); this._readableState = new ReadableState(options, this, isDuplex); if (options) { @@ -98064,26 +98567,26 @@ var require_readable3 = __commonJS({ } }); } - Readable2.prototype.destroy = destroyImpl.destroy; - Readable2.prototype._undestroy = destroyImpl.undestroy; - Readable2.prototype._destroy = function(err, cb) { + Readable3.prototype.destroy = destroyImpl.destroy; + Readable3.prototype._undestroy = destroyImpl.undestroy; + Readable3.prototype._destroy = function(err, cb) { cb(err); }; - Readable2.prototype[EE.captureRejectionSymbol] = function(err) { + Readable3.prototype[EE.captureRejectionSymbol] = function(err) { this.destroy(err); }; - Readable2.prototype[SymbolAsyncDispose] = function() { + Readable3.prototype[SymbolAsyncDispose] = function() { let error3; if (!this.destroyed) { error3 = this.readableEnded ? null : new AbortError(); this.destroy(error3); } - return new Promise2((resolve13, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve13(null))); + return new Promise2((resolve14, reject) => eos(this, (err) => err && err !== error3 ? reject(err) : resolve14(null))); }; - Readable2.prototype.push = function(chunk, encoding) { + Readable3.prototype.push = function(chunk, encoding) { return readableAddChunk(this, chunk, encoding, false); }; - Readable2.prototype.unshift = function(chunk, encoding) { + Readable3.prototype.unshift = function(chunk, encoding) { return readableAddChunk(this, chunk, encoding, true); }; function readableAddChunk(stream2, chunk, encoding, addToFront) { @@ -98107,7 +98610,7 @@ var require_readable3 = __commonJS({ chunk = Stream._uint8ArrayToBuffer(chunk); encoding = ""; } else if (chunk != null) { - err = new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk); + err = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk); } } if (err) { @@ -98157,11 +98660,11 @@ var require_readable3 = __commonJS({ } maybeReadMore(stream2, state); } - Readable2.prototype.isPaused = function() { + Readable3.prototype.isPaused = function() { const state = this._readableState; return state[kPaused] === true || state.flowing === false; }; - Readable2.prototype.setEncoding = function(enc) { + Readable3.prototype.setEncoding = function(enc) { const decoder = new StringDecoder(enc); this._readableState.decoder = decoder; this._readableState.encoding = this._readableState.decoder.encoding; @@ -98200,7 +98703,7 @@ var require_readable3 = __commonJS({ if (n <= state.length) return n; return state.ended ? state.length : 0; } - Readable2.prototype.read = function(n) { + Readable3.prototype.read = function(n) { debug6("read", n); if (n === void 0) { n = NaN; @@ -98322,10 +98825,10 @@ var require_readable3 = __commonJS({ } state.readingMore = false; } - Readable2.prototype._read = function(n) { + Readable3.prototype._read = function(n) { throw new ERR_METHOD_NOT_IMPLEMENTED("_read()"); }; - Readable2.prototype.pipe = function(dest, pipeOpts) { + Readable3.prototype.pipe = function(dest, pipeOpts) { const src = this; const state = this._readableState; if (state.pipes.length === 1) { @@ -98450,7 +98953,7 @@ var require_readable3 = __commonJS({ } }; } - Readable2.prototype.unpipe = function(dest) { + Readable3.prototype.unpipe = function(dest) { const state = this._readableState; const unpipeInfo = { hasUnpiped: false @@ -98466,14 +98969,14 @@ var require_readable3 = __commonJS({ }); return this; } - const index = ArrayPrototypeIndexOf(state.pipes, dest); - if (index === -1) return this; - state.pipes.splice(index, 1); + const index2 = ArrayPrototypeIndexOf(state.pipes, dest); + if (index2 === -1) return this; + state.pipes.splice(index2, 1); if (state.pipes.length === 0) this.pause(); dest.emit("unpipe", this, unpipeInfo); return this; }; - Readable2.prototype.on = function(ev, fn) { + Readable3.prototype.on = function(ev, fn) { const res = Stream.prototype.on.call(this, ev, fn); const state = this._readableState; if (ev === "data") { @@ -98494,16 +98997,16 @@ var require_readable3 = __commonJS({ } return res; }; - Readable2.prototype.addListener = Readable2.prototype.on; - Readable2.prototype.removeListener = function(ev, fn) { + Readable3.prototype.addListener = Readable3.prototype.on; + Readable3.prototype.removeListener = function(ev, fn) { const res = Stream.prototype.removeListener.call(this, ev, fn); if (ev === "readable") { process2.nextTick(updateReadableListening, this); } return res; }; - Readable2.prototype.off = Readable2.prototype.removeListener; - Readable2.prototype.removeAllListeners = function(ev) { + Readable3.prototype.off = Readable3.prototype.removeListener; + Readable3.prototype.removeAllListeners = function(ev) { const res = Stream.prototype.removeAllListeners.apply(this, arguments); if (ev === "readable" || ev === void 0) { process2.nextTick(updateReadableListening, this); @@ -98525,7 +99028,7 @@ var require_readable3 = __commonJS({ debug6("readable nexttick read 0"); self2.read(0); } - Readable2.prototype.resume = function() { + Readable3.prototype.resume = function() { const state = this._readableState; if (!state.flowing) { debug6("resume"); @@ -98551,7 +99054,7 @@ var require_readable3 = __commonJS({ flow(stream2); if (state.flowing && !state.reading) stream2.read(0); } - Readable2.prototype.pause = function() { + Readable3.prototype.pause = function() { debug6("call pause flowing=%j", this._readableState.flowing); if (this._readableState.flowing !== false) { debug6("pause"); @@ -98566,7 +99069,7 @@ var require_readable3 = __commonJS({ debug6("flow", state.flowing); while (state.flowing && stream2.read() !== null) ; } - Readable2.prototype.wrap = function(stream2) { + Readable3.prototype.wrap = function(stream2) { let paused = false; stream2.on("data", (chunk) => { if (!this.push(chunk) && stream2.pause) { @@ -98601,10 +99104,10 @@ var require_readable3 = __commonJS({ } return this; }; - Readable2.prototype[SymbolAsyncIterator] = function() { + Readable3.prototype[SymbolAsyncIterator] = function() { return streamToAsyncIterator(this); }; - Readable2.prototype.iterator = function(options) { + Readable3.prototype.iterator = function(options) { if (options !== void 0) { validateObject(options, "options"); } @@ -98612,7 +99115,7 @@ var require_readable3 = __commonJS({ }; function streamToAsyncIterator(stream2, options) { if (typeof stream2.read !== "function") { - stream2 = Readable2.wrap(stream2, { + stream2 = Readable3.wrap(stream2, { objectMode: true }); } @@ -98622,12 +99125,12 @@ var require_readable3 = __commonJS({ } async function* createAsyncIterator(stream2, options) { let callback = nop; - function next(resolve13) { + function next(resolve14) { if (this === stream2) { callback(); callback = nop; } else { - callback = resolve13; + callback = resolve14; } } stream2.on("readable", next); @@ -98668,7 +99171,7 @@ var require_readable3 = __commonJS({ } } } - ObjectDefineProperties(Readable2.prototype, { + ObjectDefineProperties(Readable3.prototype, { readable: { __proto__: null, get() { @@ -98795,7 +99298,7 @@ var require_readable3 = __commonJS({ } } }); - Readable2._fromList = fromList; + Readable3._fromList = fromList; function fromList(n, state) { if (state.length === 0) return null; let ret; @@ -98842,23 +99345,23 @@ var require_readable3 = __commonJS({ stream2.end(); } } - Readable2.from = function(iterable, opts) { - return from(Readable2, iterable, opts); + Readable3.from = function(iterable, opts) { + return from(Readable3, iterable, opts); }; var webStreamsAdapters; function lazyWebStreams() { if (webStreamsAdapters === void 0) webStreamsAdapters = {}; return webStreamsAdapters; } - Readable2.fromWeb = function(readableStream, options) { + Readable3.fromWeb = function(readableStream, options) { return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options); }; - Readable2.toWeb = function(streamReadable, options) { + Readable3.toWeb = function(streamReadable, options) { return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options); }; - Readable2.wrap = function(src, options) { + Readable3.wrap = function(src, options) { var _ref, _src$readableObjectMo; - return new Readable2({ + return new Readable3({ objectMode: (_ref = (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== void 0 ? _src$readableObjectMo : src.objectMode) !== null && _ref !== void 0 ? _ref : true, ...options, destroy(err, callback) { @@ -98873,6 +99376,7 @@ var require_readable3 = __commonJS({ // node_modules/readable-stream/lib/internal/streams/writable.js var require_writable = __commonJS({ "node_modules/readable-stream/lib/internal/streams/writable.js"(exports2, module2) { + "use strict"; var process2 = require_process(); var { ArrayPrototypeSlice, @@ -98894,7 +99398,7 @@ var require_writable = __commonJS({ var { addAbortSignal } = require_add_abort_signal(); var { getHighWaterMark, getDefaultHighWaterMark } = require_state3(); var { - ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_INVALID_ARG_TYPE, ERR_METHOD_NOT_IMPLEMENTED, ERR_MULTIPLE_CALLBACK, ERR_STREAM_CANNOT_PIPE, @@ -98983,10 +99487,10 @@ var require_writable = __commonJS({ } ObjectDefineProperty(Writable, SymbolHasInstance, { __proto__: null, - value: function(object2) { - if (FunctionPrototypeSymbolHasInstance(this, object2)) return true; + value: function(object) { + if (FunctionPrototypeSymbolHasInstance(this, object)) return true; if (this !== Writable) return false; - return object2 && object2._writableState instanceof WritableState; + return object && object._writableState instanceof WritableState; } }); Writable.prototype.pipe = function() { @@ -99016,7 +99520,7 @@ var require_writable = __commonJS({ chunk = Stream._uint8ArrayToBuffer(chunk); encoding = "buffer"; } else { - throw new ERR_INVALID_ARG_TYPE2("chunk", ["string", "Buffer", "Uint8Array"], chunk); + throw new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk); } } let err; @@ -99509,11 +100013,11 @@ var require_duplexify = __commonJS({ var eos = require_end_of_stream(); var { AbortError, - codes: { ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_INVALID_RETURN_VALUE } + codes: { ERR_INVALID_ARG_TYPE, ERR_INVALID_RETURN_VALUE } } = require_errors4(); var { destroyer } = require_destroy2(); var Duplex = require_duplex(); - var Readable2 = require_readable3(); + var Readable3 = require_readable3(); var Writable = require_writable(); var { createDeferredPromise } = require_util13(); var from = require_from(); @@ -99563,7 +100067,7 @@ var require_duplexify = __commonJS({ } if (isReadableStream(body)) { return _duplexify({ - readable: Readable2.fromWeb(body) + readable: Readable3.fromWeb(body) }); } if (isWritableStream(body)) { @@ -99661,7 +100165,7 @@ var require_duplexify = __commonJS({ } }); } - throw new ERR_INVALID_ARG_TYPE2( + throw new ERR_INVALID_ARG_TYPE( name, [ "Blob", @@ -99678,7 +100182,7 @@ var require_duplexify = __commonJS({ ); }; function fromAsyncGen(fn) { - let { promise, resolve: resolve13 } = createDeferredPromise(); + let { promise, resolve: resolve14 } = createDeferredPromise(); const ac = new AbortController2(); const signal = ac.signal; const value = fn( @@ -99693,7 +100197,7 @@ var require_duplexify = __commonJS({ throw new AbortError(void 0, { cause: signal.reason }); - ({ promise, resolve: resolve13 } = createDeferredPromise()); + ({ promise, resolve: resolve14 } = createDeferredPromise()); yield chunk; } })(), @@ -99704,8 +100208,8 @@ var require_duplexify = __commonJS({ return { value, write(chunk, encoding, cb) { - const _resolve = resolve13; - resolve13 = null; + const _resolve = resolve14; + resolve14 = null; _resolve({ chunk, done: false, @@ -99713,8 +100217,8 @@ var require_duplexify = __commonJS({ }); }, final(cb) { - const _resolve = resolve13; - resolve13 = null; + const _resolve = resolve14; + resolve14 = null; _resolve({ done: true, cb @@ -99727,7 +100231,7 @@ var require_duplexify = __commonJS({ }; } function _duplexify(pair) { - const r = pair.readable && typeof pair.readable.read !== "function" ? Readable2.wrap(pair.readable) : pair.readable; + const r = pair.readable && typeof pair.readable.read !== "function" ? Readable3.wrap(pair.readable) : pair.readable; const w = pair.writable; let readable = !!isReadable(r); let writable = !!isWritable(w); @@ -99848,10 +100352,10 @@ var require_duplex = __commonJS({ ObjectSetPrototypeOf } = require_primordials(); module2.exports = Duplex; - var Readable2 = require_readable3(); + var Readable3 = require_readable3(); var Writable = require_writable(); - ObjectSetPrototypeOf(Duplex.prototype, Readable2.prototype); - ObjectSetPrototypeOf(Duplex, Readable2); + ObjectSetPrototypeOf(Duplex.prototype, Readable3.prototype); + ObjectSetPrototypeOf(Duplex, Readable3); { const keys = ObjectKeys(Writable.prototype); for (let i = 0; i < keys.length; i++) { @@ -99861,7 +100365,7 @@ var require_duplex = __commonJS({ } function Duplex(options) { if (!(this instanceof Duplex)) return new Duplex(options); - Readable2.call(this, options); + Readable3.call(this, options); Writable.call(this, options); if (options) { this.allowHalfOpen = options.allowHalfOpen !== false; @@ -99959,15 +100463,15 @@ var require_transform = __commonJS({ "node_modules/readable-stream/lib/internal/streams/transform.js"(exports2, module2) { "use strict"; var { ObjectSetPrototypeOf, Symbol: Symbol2 } = require_primordials(); - module2.exports = Transform; + module2.exports = Transform5; var { ERR_METHOD_NOT_IMPLEMENTED } = require_errors4().codes; var Duplex = require_duplex(); var { getHighWaterMark } = require_state3(); - ObjectSetPrototypeOf(Transform.prototype, Duplex.prototype); - ObjectSetPrototypeOf(Transform, Duplex); + ObjectSetPrototypeOf(Transform5.prototype, Duplex.prototype); + ObjectSetPrototypeOf(Transform5, Duplex); var kCallback = Symbol2("kCallback"); - function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); + function Transform5(options) { + if (!(this instanceof Transform5)) return new Transform5(options); const readableHighWaterMark = options ? getHighWaterMark(this, options, "readableHighWaterMark", true) : null; if (readableHighWaterMark === 0) { options = { @@ -100021,11 +100525,11 @@ var require_transform = __commonJS({ final.call(this); } } - Transform.prototype._final = final; - Transform.prototype._transform = function(chunk, encoding, callback) { + Transform5.prototype._final = final; + Transform5.prototype._transform = function(chunk, encoding, callback) { throw new ERR_METHOD_NOT_IMPLEMENTED("_transform()"); }; - Transform.prototype._write = function(chunk, encoding, callback) { + Transform5.prototype._write = function(chunk, encoding, callback) { const rState = this._readableState; const wState = this._writableState; const length = rState.length; @@ -100046,7 +100550,7 @@ var require_transform = __commonJS({ } }); }; - Transform.prototype._read = function() { + Transform5.prototype._read = function() { if (this[kCallback]) { const callback = this[kCallback]; this[kCallback] = null; @@ -100061,15 +100565,15 @@ var require_passthrough2 = __commonJS({ "node_modules/readable-stream/lib/internal/streams/passthrough.js"(exports2, module2) { "use strict"; var { ObjectSetPrototypeOf } = require_primordials(); - module2.exports = PassThrough; - var Transform = require_transform(); - ObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype); - ObjectSetPrototypeOf(PassThrough, Transform); - function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - Transform.call(this, options); + module2.exports = PassThrough3; + var Transform5 = require_transform(); + ObjectSetPrototypeOf(PassThrough3.prototype, Transform5.prototype); + ObjectSetPrototypeOf(PassThrough3, Transform5); + function PassThrough3(options) { + if (!(this instanceof PassThrough3)) return new PassThrough3(options); + Transform5.call(this, options); } - PassThrough.prototype._transform = function(chunk, encoding, cb) { + PassThrough3.prototype._transform = function(chunk, encoding, cb) { cb(null, chunk); }; } @@ -100087,7 +100591,7 @@ var require_pipeline4 = __commonJS({ var { aggregateTwoErrors, codes: { - ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, + ERR_INVALID_ARG_TYPE, ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS, ERR_STREAM_DESTROYED, @@ -100107,8 +100611,8 @@ var require_pipeline4 = __commonJS({ isReadableFinished } = require_utils7(); var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; - var PassThrough; - var Readable2; + var PassThrough3; + var Readable3; var addAbortListener; function destroyer(stream2, reading, writing) { let finished = false; @@ -100144,13 +100648,13 @@ var require_pipeline4 = __commonJS({ } else if (isReadableNodeStream(val)) { return fromReadable(val); } - throw new ERR_INVALID_ARG_TYPE2("val", ["Readable", "Iterable", "AsyncIterable"], val); + throw new ERR_INVALID_ARG_TYPE("val", ["Readable", "Iterable", "AsyncIterable"], val); } async function* fromReadable(val) { - if (!Readable2) { - Readable2 = require_readable3(); + if (!Readable3) { + Readable3 = require_readable3(); } - yield* Readable2.prototype[SymbolAsyncIterator].call(val); + yield* Readable3.prototype[SymbolAsyncIterator].call(val); } async function pumpToNode(iterable, writable, finish, { end }) { let error3; @@ -100165,7 +100669,7 @@ var require_pipeline4 = __commonJS({ callback(); } }; - const wait = () => new Promise2((resolve13, reject) => { + const wait = () => new Promise2((resolve14, reject) => { if (error3) { reject(error3); } else { @@ -100173,7 +100677,7 @@ var require_pipeline4 = __commonJS({ if (error3) { reject(error3); } else { - resolve13(); + resolve14(); } }; } @@ -100340,10 +100844,10 @@ var require_pipeline4 = __commonJS({ } } else { var _ret2; - if (!PassThrough) { - PassThrough = require_passthrough2(); + if (!PassThrough3) { + PassThrough3 = require_passthrough2(); } - const pt = new PassThrough({ + const pt = new PassThrough3({ objectMode: true }); const then = (_ret2 = ret) === null || _ret2 === void 0 ? void 0 : _ret2.then; @@ -100408,7 +100912,7 @@ var require_pipeline4 = __commonJS({ end }); } else { - throw new ERR_INVALID_ARG_TYPE2( + throw new ERR_INVALID_ARG_TYPE( "val", ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"], ret @@ -100432,7 +100936,7 @@ var require_pipeline4 = __commonJS({ end }); } else { - throw new ERR_INVALID_ARG_TYPE2( + throw new ERR_INVALID_ARG_TYPE( "val", ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"], ret @@ -100702,7 +101206,7 @@ var require_operators = __commonJS({ "use strict"; var AbortController2 = globalThis.AbortController || require_abort_controller().AbortController; var { - codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE: ERR_INVALID_ARG_TYPE2, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE }, + codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE }, AbortError } = require_errors4(); var { validateAbortSignal, validateInteger, validateObject } = require_validators(); @@ -100745,7 +101249,7 @@ var require_operators = __commonJS({ } function map(fn, options) { if (typeof fn !== "function") { - throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); + throw new ERR_INVALID_ARG_TYPE("fn", ["Function", "AsyncFunction"], fn); } if (options != null) { validateObject(options, "options"); @@ -100769,7 +101273,7 @@ var require_operators = __commonJS({ [options === null || options === void 0 ? void 0 : options.signal].filter(Boolean2) ); const stream2 = this; - const queue = []; + const queue2 = []; const signalOpt = { signal }; @@ -100786,7 +101290,7 @@ var require_operators = __commonJS({ maybeResume(); } function maybeResume() { - if (resume && !done && cnt < concurrency && queue.length < highWaterMark) { + if (resume && !done && cnt < concurrency && queue2.length < highWaterMark) { resume(); resume = null; } @@ -100811,22 +101315,22 @@ var require_operators = __commonJS({ } cnt += 1; PromisePrototypeThen(val, afterItemProcessed, onCatch); - queue.push(val); + queue2.push(val); if (next) { next(); next = null; } - if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) { - await new Promise2((resolve13) => { - resume = resolve13; + if (!done && (queue2.length >= highWaterMark || cnt >= concurrency)) { + await new Promise2((resolve14) => { + resume = resolve14; }); } } - queue.push(kEof); + queue2.push(kEof); } catch (err) { const val = PromiseReject(err); PromisePrototypeThen(val, afterItemProcessed, onCatch); - queue.push(val); + queue2.push(val); } finally { done = true; if (next) { @@ -100838,8 +101342,8 @@ var require_operators = __commonJS({ pump(); try { while (true) { - while (queue.length > 0) { - const val = await queue[0]; + while (queue2.length > 0) { + const val = await queue2[0]; if (val === kEof) { return; } @@ -100849,11 +101353,11 @@ var require_operators = __commonJS({ if (val !== kEmpty) { yield val; } - queue.shift(); + queue2.shift(); maybeResume(); } - await new Promise2((resolve13) => { - next = resolve13; + await new Promise2((resolve14) => { + next = resolve14; }); } } finally { @@ -100873,7 +101377,7 @@ var require_operators = __commonJS({ validateAbortSignal(options.signal, "options.signal"); } return async function* asIndexedPairs2() { - let index = 0; + let index2 = 0; for await (const val of this) { var _options$signal; if (options !== null && options !== void 0 && (_options$signal = options.signal) !== null && _options$signal !== void 0 && _options$signal.aborted) { @@ -100881,19 +101385,19 @@ var require_operators = __commonJS({ cause: options.signal.reason }); } - yield [index++, val]; + yield [index2++, val]; } }.call(this); } async function some(fn, options = void 0) { - for await (const unused of filter.call(this, fn, options)) { + for await (const unused of filter2.call(this, fn, options)) { return true; } return false; } async function every(fn, options = void 0) { if (typeof fn !== "function") { - throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); + throw new ERR_INVALID_ARG_TYPE("fn", ["Function", "AsyncFunction"], fn); } return !await some.call( this, @@ -100904,14 +101408,14 @@ var require_operators = __commonJS({ ); } async function find3(fn, options) { - for await (const result of filter.call(this, fn, options)) { + for await (const result of filter2.call(this, fn, options)) { return result; } return void 0; } async function forEach(fn, options) { if (typeof fn !== "function") { - throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); + throw new ERR_INVALID_ARG_TYPE("fn", ["Function", "AsyncFunction"], fn); } async function forEachFn(value, options2) { await fn(value, options2); @@ -100919,9 +101423,9 @@ var require_operators = __commonJS({ } for await (const unused of map.call(this, forEachFn, options)) ; } - function filter(fn, options) { + function filter2(fn, options) { if (typeof fn !== "function") { - throw new ERR_INVALID_ARG_TYPE2("fn", ["Function", "AsyncFunction"], fn); + throw new ERR_INVALID_ARG_TYPE("fn", ["Function", "AsyncFunction"], fn); } async function filterFn(value, options2) { if (await fn(value, options2)) { @@ -100940,7 +101444,7 @@ var require_operators = __commonJS({ async function reduce(reducer, initialValue, options) { var _options$signal2; if (typeof reducer !== "function") { - throw new ERR_INVALID_ARG_TYPE2("reducer", ["Function", "AsyncFunction"], reducer); + throw new ERR_INVALID_ARG_TYPE("reducer", ["Function", "AsyncFunction"], reducer); } if (options != null) { validateObject(options, "options"); @@ -101084,7 +101588,7 @@ var require_operators = __commonJS({ module2.exports.streamReturningOperators = { asIndexedPairs: deprecate(asIndexedPairs, "readable.asIndexedPairs will be removed in a future version."), drop, - filter, + filter: filter2, flatMap, map, take, @@ -101111,7 +101615,7 @@ var require_promises = __commonJS({ var { finished } = require_end_of_stream(); require_stream2(); function pipeline(...streams) { - return new Promise2((resolve13, reject) => { + return new Promise2((resolve14, reject) => { let signal; let end; const lastArg = streams[streams.length - 1]; @@ -101126,7 +101630,7 @@ var require_promises = __commonJS({ if (err) { reject(err); } else { - resolve13(value); + resolve14(value); } }, { @@ -101146,6 +101650,7 @@ var require_promises = __commonJS({ // node_modules/readable-stream/lib/stream.js var require_stream2 = __commonJS({ "node_modules/readable-stream/lib/stream.js"(exports2, module2) { + "use strict"; var { Buffer: Buffer2 } = require("buffer"); var { ObjectDefineProperty, ObjectKeys, ReflectApply } = require_primordials(); var { @@ -101170,57 +101675,53 @@ var require_stream2 = __commonJS({ Stream.isWritable = utils.isWritable; Stream.Readable = require_readable3(); for (const key of ObjectKeys(streamReturningOperators)) { - let fn2 = function(...args) { + let fn = function(...args) { if (new.target) { throw ERR_ILLEGAL_CONSTRUCTOR(); } return Stream.Readable.from(ReflectApply(op, this, args)); }; - fn = fn2; const op = streamReturningOperators[key]; - ObjectDefineProperty(fn2, "name", { + ObjectDefineProperty(fn, "name", { __proto__: null, value: op.name }); - ObjectDefineProperty(fn2, "length", { + ObjectDefineProperty(fn, "length", { __proto__: null, value: op.length }); ObjectDefineProperty(Stream.Readable.prototype, key, { __proto__: null, - value: fn2, + value: fn, enumerable: false, configurable: true, writable: true }); } - var fn; for (const key of ObjectKeys(promiseReturningOperators)) { - let fn2 = function(...args) { + let fn = function(...args) { if (new.target) { throw ERR_ILLEGAL_CONSTRUCTOR(); } return ReflectApply(op, this, args); }; - fn = fn2; const op = promiseReturningOperators[key]; - ObjectDefineProperty(fn2, "name", { + ObjectDefineProperty(fn, "name", { __proto__: null, value: op.name }); - ObjectDefineProperty(fn2, "length", { + ObjectDefineProperty(fn, "length", { __proto__: null, value: op.length }); ObjectDefineProperty(Stream.Readable.prototype, key, { __proto__: null, - value: fn2, + value: fn, enumerable: false, configurable: true, writable: true }); } - var fn; Stream.Writable = require_writable(); Stream.Duplex = require_duplex(); Stream.Transform = require_transform(); @@ -101333,9 +101834,9 @@ var require_ours = __commonJS({ var require_arrayPush = __commonJS({ "node_modules/lodash/_arrayPush.js"(exports2, module2) { function arrayPush(array, values) { - var index = -1, length = values.length, offset = array.length; - while (++index < length) { - array[offset + index] = values[index]; + var index2 = -1, length = values.length, offset = array.length; + while (++index2 < length) { + array[offset + index2] = values[index2]; } return array; } @@ -101363,11 +101864,11 @@ var require_baseFlatten = __commonJS({ var arrayPush = require_arrayPush(); var isFlattenable = require_isFlattenable(); function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, length = array.length; + var index2 = -1, length = array.length; predicate || (predicate = isFlattenable); result || (result = []); - while (++index < length) { - var value = array[index]; + while (++index2 < length) { + var value = array[index2]; if (depth > 0 && predicate(value)) { if (depth > 1) { baseFlatten(value, depth - 1, predicate, isStrict, result); @@ -101486,10 +101987,10 @@ var require_Hash = __commonJS({ var hashHas = require_hashHas(); var hashSet = require_hashSet(); function Hash(entries) { - var index = -1, length = entries == null ? 0 : entries.length; + var index2 = -1, length = entries == null ? 0 : entries.length; this.clear(); - while (++index < length) { - var entry = entries[index]; + while (++index2 < length) { + var entry = entries[index2]; this.set(entry[0], entry[1]); } } @@ -101537,15 +102038,15 @@ var require_listCacheDelete = __commonJS({ var arrayProto = Array.prototype; var splice = arrayProto.splice; function listCacheDelete(key) { - var data = this.__data__, index = assocIndexOf(data, key); - if (index < 0) { + var data = this.__data__, index2 = assocIndexOf(data, key); + if (index2 < 0) { return false; } var lastIndex = data.length - 1; - if (index == lastIndex) { + if (index2 == lastIndex) { data.pop(); } else { - splice.call(data, index, 1); + splice.call(data, index2, 1); } --this.size; return true; @@ -101559,8 +102060,8 @@ var require_listCacheGet = __commonJS({ "node_modules/lodash/_listCacheGet.js"(exports2, module2) { var assocIndexOf = require_assocIndexOf(); function listCacheGet(key) { - var data = this.__data__, index = assocIndexOf(data, key); - return index < 0 ? void 0 : data[index][1]; + var data = this.__data__, index2 = assocIndexOf(data, key); + return index2 < 0 ? void 0 : data[index2][1]; } module2.exports = listCacheGet; } @@ -101582,12 +102083,12 @@ var require_listCacheSet = __commonJS({ "node_modules/lodash/_listCacheSet.js"(exports2, module2) { var assocIndexOf = require_assocIndexOf(); function listCacheSet(key, value) { - var data = this.__data__, index = assocIndexOf(data, key); - if (index < 0) { + var data = this.__data__, index2 = assocIndexOf(data, key); + if (index2 < 0) { ++this.size; data.push([key, value]); } else { - data[index][1] = value; + data[index2][1] = value; } return this; } @@ -101604,10 +102105,10 @@ var require_ListCache = __commonJS({ var listCacheHas = require_listCacheHas(); var listCacheSet = require_listCacheSet(); function ListCache(entries) { - var index = -1, length = entries == null ? 0 : entries.length; + var index2 = -1, length = entries == null ? 0 : entries.length; this.clear(); - while (++index < length) { - var entry = entries[index]; + while (++index2 < length) { + var entry = entries[index2]; this.set(entry[0], entry[1]); } } @@ -101729,10 +102230,10 @@ var require_MapCache = __commonJS({ var mapCacheHas = require_mapCacheHas(); var mapCacheSet = require_mapCacheSet(); function MapCache(entries) { - var index = -1, length = entries == null ? 0 : entries.length; + var index2 = -1, length = entries == null ? 0 : entries.length; this.clear(); - while (++index < length) { - var entry = entries[index]; + while (++index2 < length) { + var entry = entries[index2]; this.set(entry[0], entry[1]); } } @@ -101774,10 +102275,10 @@ var require_SetCache = __commonJS({ var setCacheAdd = require_setCacheAdd(); var setCacheHas = require_setCacheHas(); function SetCache(values) { - var index = -1, length = values == null ? 0 : values.length; + var index2 = -1, length = values == null ? 0 : values.length; this.__data__ = new MapCache(); - while (++index < length) { - this.add(values[index]); + while (++index2 < length) { + this.add(values[index2]); } } SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; @@ -101790,10 +102291,10 @@ var require_SetCache = __commonJS({ var require_baseFindIndex = __commonJS({ "node_modules/lodash/_baseFindIndex.js"(exports2, module2) { function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, index = fromIndex + (fromRight ? 1 : -1); - while (fromRight ? index-- : ++index < length) { - if (predicate(array[index], index, array)) { - return index; + var length = array.length, index2 = fromIndex + (fromRight ? 1 : -1); + while (fromRight ? index2-- : ++index2 < length) { + if (predicate(array[index2], index2, array)) { + return index2; } } return -1; @@ -101816,10 +102317,10 @@ var require_baseIsNaN = __commonJS({ var require_strictIndexOf = __commonJS({ "node_modules/lodash/_strictIndexOf.js"(exports2, module2) { function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, length = array.length; - while (++index < length) { - if (array[index] === value) { - return index; + var index2 = fromIndex - 1, length = array.length; + while (++index2 < length) { + if (array[index2] === value) { + return index2; } } return -1; @@ -101857,9 +102358,9 @@ var require_arrayIncludes = __commonJS({ var require_arrayIncludesWith = __commonJS({ "node_modules/lodash/_arrayIncludesWith.js"(exports2, module2) { function arrayIncludesWith(array, value, comparator) { - var index = -1, length = array == null ? 0 : array.length; - while (++index < length) { - if (comparator(value, array[index])) { + var index2 = -1, length = array == null ? 0 : array.length; + while (++index2 < length) { + if (comparator(value, array[index2])) { return true; } } @@ -101873,9 +102374,9 @@ var require_arrayIncludesWith = __commonJS({ var require_arrayMap = __commonJS({ "node_modules/lodash/_arrayMap.js"(exports2, module2) { function arrayMap(array, iteratee) { - var index = -1, length = array == null ? 0 : array.length, result = Array(length); - while (++index < length) { - result[index] = iteratee(array[index], index, array); + var index2 = -1, length = array == null ? 0 : array.length, result = Array(length); + while (++index2 < length) { + result[index2] = iteratee(array[index2], index2, array); } return result; } @@ -101904,7 +102405,7 @@ var require_baseDifference = __commonJS({ var cacheHas = require_cacheHas(); var LARGE_ARRAY_SIZE = 200; function baseDifference(array, values, iteratee, comparator) { - var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length; + var index2 = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length; if (!length) { return result; } @@ -101920,8 +102421,8 @@ var require_baseDifference = __commonJS({ values = new SetCache(values); } outer: - while (++index < length) { - var value = array[index], computed = iteratee == null ? value : iteratee(value); + while (++index2 < length) { + var value = array[index2], computed = iteratee == null ? value : iteratee(value); value = comparator || value !== 0 ? value : 0; if (isCommon && computed === computed) { var valuesIndex = valuesLength; @@ -101990,9 +102491,9 @@ var require_noop = __commonJS({ var require_setToArray = __commonJS({ "node_modules/lodash/_setToArray.js"(exports2, module2) { function setToArray(set) { - var index = -1, result = Array(set.size); + var index2 = -1, result = Array(set.size); set.forEach(function(value) { - result[++index] = value; + result[++index2] = value; }); return result; } @@ -102025,7 +102526,7 @@ var require_baseUniq = __commonJS({ var setToArray = require_setToArray(); var LARGE_ARRAY_SIZE = 200; function baseUniq(array, iteratee, comparator) { - var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result; + var index2 = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result; if (comparator) { isCommon = false; includes = arrayIncludesWith; @@ -102041,8 +102542,8 @@ var require_baseUniq = __commonJS({ seen = iteratee ? [] : result; } outer: - while (++index < length) { - var value = array[index], computed = iteratee ? iteratee(value) : value; + while (++index2 < length) { + var value = array[index2], computed = iteratee ? iteratee(value) : value; value = comparator || value !== 0 ? value : 0; if (isCommon && computed === computed) { var seenIndex = seen.length; @@ -102115,7 +102616,7 @@ var require_isPlainObject = __commonJS({ var funcToString = funcProto.toString; var hasOwnProperty = objectProto.hasOwnProperty; var objectCtorString = funcToString.call(Object); - function isPlainObject3(value) { + function isPlainObject4(value) { if (!isObjectLike(value) || baseGetTag(value) != objectTag) { return false; } @@ -102126,7128 +102627,3029 @@ var require_isPlainObject = __commonJS({ var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } - module2.exports = isPlainObject3; + module2.exports = isPlainObject4; } }); -// node_modules/glob/node_modules/balanced-match/dist/commonjs/index.js -var require_commonjs18 = __commonJS({ - "node_modules/glob/node_modules/balanced-match/dist/commonjs/index.js"(exports2) { +// node_modules/glob/dist/commonjs/index.min.js +var require_index_min = __commonJS({ + "node_modules/glob/dist/commonjs/index.min.js"(exports2) { "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.range = exports2.balanced = void 0; - var balanced = (a, b, str) => { - const ma = a instanceof RegExp ? maybeMatch(a, str) : a; - const mb = b instanceof RegExp ? maybeMatch(b, str) : b; - const r = ma !== null && mb != null && (0, exports2.range)(ma, mb, str); - return r && { - start: r[0], - end: r[1], - pre: str.slice(0, r[0]), - body: str.slice(r[0] + ma.length, r[1]), - post: str.slice(r[1] + mb.length) + var R = (n, t) => () => (t || n((t = { exports: {} }).exports, t), t.exports); + var Ge = R((Y) => { + "use strict"; + Object.defineProperty(Y, "__esModule", { value: true }); + Y.range = Y.balanced = void 0; + var Gs = (n, t, e) => { + let s = n instanceof RegExp ? Ie(n, e) : n, i = t instanceof RegExp ? Ie(t, e) : t, r = s !== null && i != null && (0, Y.range)(s, i, e); + return r && { start: r[0], end: r[1], pre: e.slice(0, r[0]), body: e.slice(r[0] + s.length, r[1]), post: e.slice(r[1] + i.length) }; }; - }; - exports2.balanced = balanced; - var maybeMatch = (reg, str) => { - const m = str.match(reg); - return m ? m[0] : null; - }; - var range = (a, b, str) => { - let begs, beg, left, right = void 0, result; - let ai = str.indexOf(a); - let bi = str.indexOf(b, ai + 1); - let i = ai; - if (ai >= 0 && bi > 0) { - if (a === b) { - return [ai, bi]; - } - begs = []; - left = str.length; - while (i >= 0 && !result) { - if (i === ai) { - begs.push(i); - ai = str.indexOf(a, i + 1); - } else if (begs.length === 1) { - const r = begs.pop(); - if (r !== void 0) - result = [r, bi]; - } else { - beg = begs.pop(); - if (beg !== void 0 && beg < left) { - left = beg; - right = bi; - } - bi = str.indexOf(b, i + 1); + Y.balanced = Gs; + var Ie = (n, t) => { + let e = t.match(n); + return e ? e[0] : null; + }, zs = (n, t, e) => { + let s, i, r, h, o, a = e.indexOf(n), l = e.indexOf(t, a + 1), f = a; + if (a >= 0 && l > 0) { + if (n === t) return [a, l]; + for (s = [], r = e.length; f >= 0 && !o; ) { + if (f === a) s.push(f), a = e.indexOf(n, f + 1); + else if (s.length === 1) { + let c = s.pop(); + c !== void 0 && (o = [c, l]); + } else i = s.pop(), i !== void 0 && i < r && (r = i, h = l), l = e.indexOf(t, f + 1); + f = a < l && a >= 0 ? a : l; } - i = ai < bi && ai >= 0 ? ai : bi; - } - if (begs.length && right !== void 0) { - result = [left, right]; - } - } - return result; - }; - exports2.range = range; - } -}); - -// node_modules/glob/node_modules/brace-expansion/dist/commonjs/index.js -var require_commonjs19 = __commonJS({ - "node_modules/glob/node_modules/brace-expansion/dist/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.EXPANSION_MAX = void 0; - exports2.expand = expand2; - var balanced_match_1 = require_commonjs18(); - var escSlash = "\0SLASH" + Math.random() + "\0"; - var escOpen = "\0OPEN" + Math.random() + "\0"; - var escClose = "\0CLOSE" + Math.random() + "\0"; - var escComma = "\0COMMA" + Math.random() + "\0"; - var escPeriod = "\0PERIOD" + Math.random() + "\0"; - var escSlashPattern = new RegExp(escSlash, "g"); - var escOpenPattern = new RegExp(escOpen, "g"); - var escClosePattern = new RegExp(escClose, "g"); - var escCommaPattern = new RegExp(escComma, "g"); - var escPeriodPattern = new RegExp(escPeriod, "g"); - var slashPattern = /\\\\/g; - var openPattern = /\\{/g; - var closePattern = /\\}/g; - var commaPattern = /\\,/g; - var periodPattern = /\\\./g; - exports2.EXPANSION_MAX = 1e5; - function numeric(str) { - return !isNaN(str) ? parseInt(str, 10) : str.charCodeAt(0); - } - function escapeBraces(str) { - return str.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod); - } - function unescapeBraces(str) { - return str.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, "."); - } - function parseCommaParts(str) { - if (!str) { - return [""]; - } - const parts = []; - const m = (0, balanced_match_1.balanced)("{", "}", str); - if (!m) { - return str.split(","); - } - const { pre, body, post } = m; - const p = pre.split(","); - p[p.length - 1] += "{" + body + "}"; - const postParts = parseCommaParts(post); - if (post.length) { - ; - p[p.length - 1] += postParts.shift(); - p.push.apply(p, postParts); - } - parts.push.apply(parts, p); - return parts; - } - function expand2(str, options = {}) { - if (!str) { - return []; - } - const { max = exports2.EXPANSION_MAX } = options; - if (str.slice(0, 2) === "{}") { - str = "\\{\\}" + str.slice(2); - } - return expand_(escapeBraces(str), max, true).map(unescapeBraces); - } - function embrace(str) { - return "{" + str + "}"; - } - function isPadded(el) { - return /^-?0\d/.test(el); - } - function lte(i, y) { - return i <= y; - } - function gte6(i, y) { - return i >= y; - } - function expand_(str, max, isTop) { - const expansions = []; - const m = (0, balanced_match_1.balanced)("{", "}", str); - if (!m) - return [str]; - const pre = m.pre; - const post = m.post.length ? expand_(m.post, max, false) : [""]; - if (/\$$/.test(m.pre)) { - for (let k = 0; k < post.length && k < max; k++) { - const expansion = pre + "{" + m.body + "}" + post[k]; - expansions.push(expansion); - } - } else { - const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); - const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); - const isSequence = isNumericSequence || isAlphaSequence; - const isOptions = m.body.indexOf(",") >= 0; - if (!isSequence && !isOptions) { - if (m.post.match(/,(?!,).*\}/)) { - str = m.pre + "{" + m.body + escClose + m.post; - return expand_(str, max, true); - } - return [str]; - } - let n; - if (isSequence) { - n = m.body.split(/\.\./); - } else { - n = parseCommaParts(m.body); - if (n.length === 1 && n[0] !== void 0) { - n = expand_(n[0], max, false).map(embrace); - if (n.length === 1) { - return post.map((p) => m.pre + n[0] + p); - } - } - } - let N; - if (isSequence && n[0] !== void 0 && n[1] !== void 0) { - const x = numeric(n[0]); - const y = numeric(n[1]); - const width = Math.max(n[0].length, n[1].length); - let incr = n.length === 3 && n[2] !== void 0 ? Math.max(Math.abs(numeric(n[2])), 1) : 1; - let test = lte; - const reverse = y < x; - if (reverse) { - incr *= -1; - test = gte6; - } - const pad = n.some(isPadded); - N = []; - for (let i = x; test(i, y) && N.length < max; i += incr) { - let c; - if (isAlphaSequence) { - c = String.fromCharCode(i); - if (c === "\\") { - c = ""; - } - } else { - c = String(i); - if (pad) { - const need = width - c.length; - if (need > 0) { - const z = new Array(need + 1).join("0"); - if (i < 0) { - c = "-" + z + c.slice(1); - } else { - c = z + c; - } - } - } - } - N.push(c); - } - } else { - N = []; - for (let j = 0; j < n.length; j++) { - N.push.apply(N, expand_(n[j], max, false)); - } - } - for (let j = 0; j < N.length; j++) { - for (let k = 0; k < post.length && expansions.length < max; k++) { - const expansion = pre + N[j] + post[k]; - if (!isTop || isSequence || expansion) { - expansions.push(expansion); - } - } - } - } - return expansions; - } - } -}); - -// node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js -var require_assert_valid_pattern = __commonJS({ - "node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.assertValidPattern = void 0; - var MAX_PATTERN_LENGTH = 1024 * 64; - var assertValidPattern = (pattern) => { - if (typeof pattern !== "string") { - throw new TypeError("invalid pattern"); - } - if (pattern.length > MAX_PATTERN_LENGTH) { - throw new TypeError("pattern is too long"); - } - }; - exports2.assertValidPattern = assertValidPattern; - } -}); - -// node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js -var require_brace_expressions = __commonJS({ - "node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.parseClass = void 0; - var posixClasses = { - "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true], - "[:alpha:]": ["\\p{L}\\p{Nl}", true], - "[:ascii:]": ["\\x00-\\x7f", false], - "[:blank:]": ["\\p{Zs}\\t", true], - "[:cntrl:]": ["\\p{Cc}", true], - "[:digit:]": ["\\p{Nd}", true], - "[:graph:]": ["\\p{Z}\\p{C}", true, true], - "[:lower:]": ["\\p{Ll}", true], - "[:print:]": ["\\p{C}", true], - "[:punct:]": ["\\p{P}", true], - "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true], - "[:upper:]": ["\\p{Lu}", true], - "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true], - "[:xdigit:]": ["A-Fa-f0-9", false] - }; - var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&"); - var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - var rangesToString = (ranges) => ranges.join(""); - var parseClass = (glob2, position) => { - const pos = position; - if (glob2.charAt(pos) !== "[") { - throw new Error("not in a brace expression"); - } - const ranges = []; - const negs = []; - let i = pos + 1; - let sawStart = false; - let uflag = false; - let escaping = false; - let negate2 = false; - let endPos = pos; - let rangeStart = ""; - WHILE: while (i < glob2.length) { - const c = glob2.charAt(i); - if ((c === "!" || c === "^") && i === pos + 1) { - negate2 = true; - i++; - continue; - } - if (c === "]" && sawStart && !escaping) { - endPos = i + 1; - break; - } - sawStart = true; - if (c === "\\") { - if (!escaping) { - escaping = true; - i++; - continue; - } - } - if (c === "[" && !escaping) { - for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) { - if (glob2.startsWith(cls, i)) { - if (rangeStart) { - return ["$.", false, glob2.length - pos, true]; - } - i += cls.length; - if (neg) - negs.push(unip); - else - ranges.push(unip); - uflag = uflag || u; - continue WHILE; - } - } - } - escaping = false; - if (rangeStart) { - if (c > rangeStart) { - ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c)); - } else if (c === rangeStart) { - ranges.push(braceEscape(c)); - } - rangeStart = ""; - i++; - continue; - } - if (glob2.startsWith("-]", i + 1)) { - ranges.push(braceEscape(c + "-")); - i += 2; - continue; - } - if (glob2.startsWith("-", i + 1)) { - rangeStart = c; - i += 2; - continue; - } - ranges.push(braceEscape(c)); - i++; - } - if (endPos < i) { - return ["", false, 0, false]; - } - if (!ranges.length && !negs.length) { - return ["$.", false, glob2.length - pos, true]; - } - if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate2) { - const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]; - return [regexpEscape(r), false, endPos - pos, false]; - } - const sranges = "[" + (negate2 ? "^" : "") + rangesToString(ranges) + "]"; - const snegs = "[" + (negate2 ? "" : "^") + rangesToString(negs) + "]"; - const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs; - return [comb, uflag, endPos - pos, true]; - }; - exports2.parseClass = parseClass; - } -}); - -// node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js -var require_unescape = __commonJS({ - "node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.unescape = void 0; - var unescape2 = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => { - if (magicalBraces) { - return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1"); - } - return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1"); - }; - exports2.unescape = unescape2; - } -}); - -// node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js -var require_ast = __commonJS({ - "node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js"(exports2) { - "use strict"; - var _a; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AST = void 0; - var brace_expressions_js_1 = require_brace_expressions(); - var unescape_js_1 = require_unescape(); - var types2 = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]); - var isExtglobType = (c) => types2.has(c); - var isExtglobAST = (c) => isExtglobType(c.type); - var adoptionMap = /* @__PURE__ */ new Map([ - ["!", ["@"]], - ["?", ["?", "@"]], - ["@", ["@"]], - ["*", ["*", "+", "?", "@"]], - ["+", ["+", "@"]] - ]); - var adoptionWithSpaceMap = /* @__PURE__ */ new Map([ - ["!", ["?"]], - ["@", ["?"]], - ["+", ["?", "*"]] - ]); - var adoptionAnyMap = /* @__PURE__ */ new Map([ - ["!", ["?", "@"]], - ["?", ["?", "@"]], - ["@", ["?", "@"]], - ["*", ["*", "+", "?", "@"]], - ["+", ["+", "@", "?", "*"]] - ]); - var usurpMap = /* @__PURE__ */ new Map([ - ["!", /* @__PURE__ */ new Map([["!", "@"]])], - [ - "?", - /* @__PURE__ */ new Map([ - ["*", "*"], - ["+", "*"] - ]) - ], - [ - "@", - /* @__PURE__ */ new Map([ - ["!", "!"], - ["?", "?"], - ["@", "@"], - ["*", "*"], - ["+", "+"] - ]) - ], - [ - "+", - /* @__PURE__ */ new Map([ - ["?", "*"], - ["*", "*"] - ]) - ] - ]); - var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))"; - var startNoDot = "(?!\\.)"; - var addPatternStart = /* @__PURE__ */ new Set(["[", "."]); - var justDots = /* @__PURE__ */ new Set(["..", "."]); - var reSpecials = new Set("().*{}+?[]^$\\!"); - var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - var qmark = "[^/]"; - var star = qmark + "*?"; - var starNoEmpty = qmark + "+?"; - var ID = 0; - var AST = class { - type; - #root; - #hasMagic; - #uflag = false; - #parts = []; - #parent; - #parentIndex; - #negs; - #filledNegs = false; - #options; - #toString; - // set to true if it's an extglob with no children - // (which really means one child of '') - #emptyExt = false; - id = ++ID; - get depth() { - return (this.#parent?.depth ?? -1) + 1; - } - [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() { - return { - "@@type": "AST", - id: this.id, - type: this.type, - root: this.#root.id, - parent: this.#parent?.id, - depth: this.depth, - partsLength: this.#parts.length, - parts: this.#parts - }; - } - constructor(type, parent, options = {}) { - this.type = type; - if (type) - this.#hasMagic = true; - this.#parent = parent; - this.#root = this.#parent ? this.#parent.#root : this; - this.#options = this.#root === this ? options : this.#root.#options; - this.#negs = this.#root === this ? [] : this.#root.#negs; - if (type === "!" && !this.#root.#filledNegs) - this.#negs.push(this); - this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0; - } - get hasMagic() { - if (this.#hasMagic !== void 0) - return this.#hasMagic; - for (const p of this.#parts) { - if (typeof p === "string") - continue; - if (p.type || p.hasMagic) - return this.#hasMagic = true; - } - return this.#hasMagic; - } - // reconstructs the pattern - toString() { - if (this.#toString !== void 0) - return this.#toString; - if (!this.type) { - return this.#toString = this.#parts.map((p) => String(p)).join(""); - } else { - return this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")"; - } - } - #fillNegs() { - if (this !== this.#root) - throw new Error("should only call on root"); - if (this.#filledNegs) - return this; - this.toString(); - this.#filledNegs = true; - let n; - while (n = this.#negs.pop()) { - if (n.type !== "!") - continue; - let p = n; - let pp = p.#parent; - while (pp) { - for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) { - for (const part of n.#parts) { - if (typeof part === "string") { - throw new Error("string part in extglob AST??"); - } - part.copyIn(pp.#parts[i]); - } - } - p = pp; - pp = p.#parent; - } - } - return this; - } - push(...parts) { - for (const p of parts) { - if (p === "") - continue; - if (typeof p !== "string" && !(p instanceof _a && p.#parent === this)) { - throw new Error("invalid part: " + p); - } - this.#parts.push(p); - } - } - toJSON() { - const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())]; - if (this.isStart() && !this.type) - ret.unshift([]); - if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) { - ret.push({}); - } - return ret; - } - isStart() { - if (this.#root === this) - return true; - if (!this.#parent?.isStart()) - return false; - if (this.#parentIndex === 0) - return true; - const p = this.#parent; - for (let i = 0; i < this.#parentIndex; i++) { - const pp = p.#parts[i]; - if (!(pp instanceof _a && pp.type === "!")) { - return false; - } - } - return true; - } - isEnd() { - if (this.#root === this) - return true; - if (this.#parent?.type === "!") - return true; - if (!this.#parent?.isEnd()) - return false; - if (!this.type) - return this.#parent?.isEnd(); - const pl = this.#parent ? this.#parent.#parts.length : 0; - return this.#parentIndex === pl - 1; - } - copyIn(part) { - if (typeof part === "string") - this.push(part); - else - this.push(part.clone(this)); - } - clone(parent) { - const c = new _a(this.type, parent); - for (const p of this.#parts) { - c.copyIn(p); - } - return c; - } - static #parseAST(str, ast, pos, opt, extDepth) { - const maxDepth = opt.maxExtglobRecursion ?? 2; - let escaping = false; - let inBrace = false; - let braceStart = -1; - let braceNeg = false; - if (ast.type === null) { - let i2 = pos; - let acc2 = ""; - while (i2 < str.length) { - const c = str.charAt(i2++); - if (escaping || c === "\\") { - escaping = !escaping; - acc2 += c; - continue; - } - if (inBrace) { - if (i2 === braceStart + 1) { - if (c === "^" || c === "!") { - braceNeg = true; - } - } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) { - inBrace = false; - } - acc2 += c; - continue; - } else if (c === "[") { - inBrace = true; - braceStart = i2; - braceNeg = false; - acc2 += c; - continue; - } - const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i2) === "(" && extDepth <= maxDepth; - if (doRecurse) { - ast.push(acc2); - acc2 = ""; - const ext = new _a(c, ast); - i2 = _a.#parseAST(str, ext, i2, opt, extDepth + 1); - ast.push(ext); - continue; - } - acc2 += c; - } - ast.push(acc2); - return i2; - } - let i = pos + 1; - let part = new _a(null, ast); - const parts = []; - let acc = ""; - while (i < str.length) { - const c = str.charAt(i++); - if (escaping || c === "\\") { - escaping = !escaping; - acc += c; - continue; - } - if (inBrace) { - if (i === braceStart + 1) { - if (c === "^" || c === "!") { - braceNeg = true; - } - } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) { - inBrace = false; - } - acc += c; - continue; - } else if (c === "[") { - inBrace = true; - braceStart = i; - braceNeg = false; - acc += c; - continue; - } - const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */ - (extDepth <= maxDepth || ast && ast.#canAdoptType(c)); - if (doRecurse) { - const depthAdd = ast && ast.#canAdoptType(c) ? 0 : 1; - part.push(acc); - acc = ""; - const ext = new _a(c, part); - part.push(ext); - i = _a.#parseAST(str, ext, i, opt, extDepth + depthAdd); - continue; - } - if (c === "|") { - part.push(acc); - acc = ""; - parts.push(part); - part = new _a(null, ast); - continue; - } - if (c === ")") { - if (acc === "" && ast.#parts.length === 0) { - ast.#emptyExt = true; - } - part.push(acc); - acc = ""; - ast.push(...parts, part); - return i; - } - acc += c; - } - ast.type = null; - ast.#hasMagic = void 0; - ast.#parts = [str.substring(pos - 1)]; - return i; - } - #canAdoptWithSpace(child) { - return this.#canAdopt(child, adoptionWithSpaceMap); - } - #canAdopt(child, map = adoptionMap) { - if (!child || typeof child !== "object" || child.type !== null || child.#parts.length !== 1 || this.type === null) { - return false; - } - const gc = child.#parts[0]; - if (!gc || typeof gc !== "object" || gc.type === null) { - return false; - } - return this.#canAdoptType(gc.type, map); - } - #canAdoptType(c, map = adoptionAnyMap) { - return !!map.get(this.type)?.includes(c); - } - #adoptWithSpace(child, index) { - const gc = child.#parts[0]; - const blank = new _a(null, gc, this.options); - blank.#parts.push(""); - gc.push(blank); - this.#adopt(child, index); - } - #adopt(child, index) { - const gc = child.#parts[0]; - this.#parts.splice(index, 1, ...gc.#parts); - for (const p of gc.#parts) { - if (typeof p === "object") - p.#parent = this; - } - this.#toString = void 0; - } - #canUsurpType(c) { - const m = usurpMap.get(this.type); - return !!m?.has(c); - } - #canUsurp(child) { - if (!child || typeof child !== "object" || child.type !== null || child.#parts.length !== 1 || this.type === null || this.#parts.length !== 1) { - return false; - } - const gc = child.#parts[0]; - if (!gc || typeof gc !== "object" || gc.type === null) { - return false; - } - return this.#canUsurpType(gc.type); - } - #usurp(child) { - const m = usurpMap.get(this.type); - const gc = child.#parts[0]; - const nt = m?.get(gc.type); - if (!nt) - return false; - this.#parts = gc.#parts; - for (const p of this.#parts) { - if (typeof p === "object") { - p.#parent = this; - } - } - this.type = nt; - this.#toString = void 0; - this.#emptyExt = false; - } - static fromGlob(pattern, options = {}) { - const ast = new _a(null, void 0, options); - _a.#parseAST(pattern, ast, 0, options, 0); - return ast; - } - // returns the regular expression if there's magic, or the unescaped - // string if not. - toMMPattern() { - if (this !== this.#root) - return this.#root.toMMPattern(); - const glob2 = this.toString(); - const [re, body, hasMagic, uflag] = this.toRegExpSource(); - const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase(); - if (!anyMagic) { - return body; - } - const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : ""); - return Object.assign(new RegExp(`^${re}$`, flags), { - _src: re, - _glob: glob2 - }); - } - get options() { - return this.#options; - } - // returns the string match, the regexp source, whether there's magic - // in the regexp (so a regular expression is required) and whether or - // not the uflag is needed for the regular expression (for posix classes) - // TODO: instead of injecting the start/end at this point, just return - // the BODY of the regexp, along with the start/end portions suitable - // for binding the start/end in either a joined full-path makeRe context - // (where we bind to (^|/), or a standalone matchPart context (where - // we bind to ^, and not /). Otherwise slashes get duped! - // - // In part-matching mode, the start is: - // - if not isStart: nothing - // - if traversal possible, but not allowed: ^(?!\.\.?$) - // - if dots allowed or not possible: ^ - // - if dots possible and not allowed: ^(?!\.) - // end is: - // - if not isEnd(): nothing - // - else: $ - // - // In full-path matching mode, we put the slash at the START of the - // pattern, so start is: - // - if first pattern: same as part-matching mode - // - if not isStart(): nothing - // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/)) - // - if dots allowed or not possible: / - // - if dots possible and not allowed: /(?!\.) - // end is: - // - if last pattern, same as part-matching mode - // - else nothing - // - // Always put the (?:$|/) on negated tails, though, because that has to be - // there to bind the end of the negated pattern portion, and it's easier to - // just stick it in now rather than try to inject it later in the middle of - // the pattern. - // - // We can just always return the same end, and leave it up to the caller - // to know whether it's going to be used joined or in parts. - // And, if the start is adjusted slightly, can do the same there: - // - if not isStart: nothing - // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$) - // - if dots allowed or not possible: (?:/|^) - // - if dots possible and not allowed: (?:/|^)(?!\.) - // - // But it's better to have a simpler binding without a conditional, for - // performance, so probably better to return both start options. - // - // Then the caller just ignores the end if it's not the first pattern, - // and the start always gets applied. - // - // But that's always going to be $ if it's the ending pattern, or nothing, - // so the caller can just attach $ at the end of the pattern when building. - // - // So the todo is: - // - better detect what kind of start is needed - // - return both flavors of starting pattern - // - attach $ at the end of the pattern when creating the actual RegExp - // - // Ah, but wait, no, that all only applies to the root when the first pattern - // is not an extglob. If the first pattern IS an extglob, then we need all - // that dot prevention biz to live in the extglob portions, because eg - // +(*|.x*) can match .xy but not .yx. - // - // So, return the two flavors if it's #root and the first child is not an - // AST, otherwise leave it to the child AST to handle it, and there, - // use the (?:^|/) style of start binding. - // - // Even simplified further: - // - Since the start for a join is eg /(?!\.) and the start for a part - // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root - // or start or whatever) and prepend ^ or / at the Regexp construction. - toRegExpSource(allowDot) { - const dot = allowDot ?? !!this.#options.dot; - if (this.#root === this) { - this.#flatten(); - this.#fillNegs(); - } - if (!isExtglobAST(this)) { - const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string"); - const src = this.#parts.map((p) => { - const [re, _2, hasMagic, uflag] = typeof p === "string" ? _a.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot); - this.#hasMagic = this.#hasMagic || hasMagic; - this.#uflag = this.#uflag || uflag; - return re; - }).join(""); - let start2 = ""; - if (this.isStart()) { - if (typeof this.#parts[0] === "string") { - const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]); - if (!dotTravAllowed) { - const aps = addPatternStart; - const needNoTrav = ( - // dots are allowed, and the pattern starts with [ or . - dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or . - src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or . - src.startsWith("\\.\\.") && aps.has(src.charAt(4)) - ); - const needNoDot = !dot && !allowDot && aps.has(src.charAt(0)); - start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ""; - } - } - } - let end = ""; - if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") { - end = "(?:$|\\/)"; - } - const final2 = start2 + src + end; - return [ - final2, - (0, unescape_js_1.unescape)(src), - this.#hasMagic = !!this.#hasMagic, - this.#uflag - ]; - } - const repeated = this.type === "*" || this.type === "+"; - const start = this.type === "!" ? "(?:(?!(?:" : "(?:"; - let body = this.#partsToRegExp(dot); - if (this.isStart() && this.isEnd() && !body && this.type !== "!") { - const s = this.toString(); - const me = this; - me.#parts = [s]; - me.type = null; - me.#hasMagic = void 0; - return [s, (0, unescape_js_1.unescape)(this.toString()), false, false]; - } - let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true); - if (bodyDotAllowed === body) { - bodyDotAllowed = ""; - } - if (bodyDotAllowed) { - body = `(?:${body})(?:${bodyDotAllowed})*?`; - } - let final = ""; - if (this.type === "!" && this.#emptyExt) { - final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty; - } else { - const close = this.type === "!" ? ( - // !() must match something,but !(x) can match '' - "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")" - ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`; - final = start + body + close; - } - return [ - final, - (0, unescape_js_1.unescape)(body), - this.#hasMagic = !!this.#hasMagic, - this.#uflag - ]; - } - #flatten() { - if (!isExtglobAST(this)) { - for (const p of this.#parts) { - if (typeof p === "object") { - p.#flatten(); - } - } - } else { - let iterations = 0; - let done = false; - do { - done = true; - for (let i = 0; i < this.#parts.length; i++) { - const c = this.#parts[i]; - if (typeof c === "object") { - c.#flatten(); - if (this.#canAdopt(c)) { - done = false; - this.#adopt(c, i); - } else if (this.#canAdoptWithSpace(c)) { - done = false; - this.#adoptWithSpace(c, i); - } else if (this.#canUsurp(c)) { - done = false; - this.#usurp(c); - } - } - } - } while (!done && ++iterations < 10); - } - this.#toString = void 0; - } - #partsToRegExp(dot) { - return this.#parts.map((p) => { - if (typeof p === "string") { - throw new Error("string type in extglob ast??"); - } - const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot); - this.#uflag = this.#uflag || uflag; - return re; - }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|"); - } - static #parseGlob(glob2, hasMagic, noEmpty = false) { - let escaping = false; - let re = ""; - let uflag = false; - let inStar = false; - for (let i = 0; i < glob2.length; i++) { - const c = glob2.charAt(i); - if (escaping) { - escaping = false; - re += (reSpecials.has(c) ? "\\" : "") + c; - continue; - } - if (c === "*") { - if (inStar) - continue; - inStar = true; - re += noEmpty && /^[*]+$/.test(glob2) ? starNoEmpty : star; - hasMagic = true; - continue; - } else { - inStar = false; - } - if (c === "\\") { - if (i === glob2.length - 1) { - re += "\\\\"; - } else { - escaping = true; - } - continue; - } - if (c === "[") { - const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob2, i); - if (consumed) { - re += src; - uflag = uflag || needUflag; - i += consumed - 1; - hasMagic = hasMagic || magic; - continue; - } - } - if (c === "?") { - re += qmark; - hasMagic = true; - continue; - } - re += regExpEscape(c); - } - return [re, (0, unescape_js_1.unescape)(glob2), !!hasMagic, uflag]; - } - }; - exports2.AST = AST; - _a = AST; - } -}); - -// node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js -var require_escape = __commonJS({ - "node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.escape = void 0; - var escape2 = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => { - if (magicalBraces) { - return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&"); - } - return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&"); - }; - exports2.escape = escape2; - } -}); - -// node_modules/glob/node_modules/minimatch/dist/commonjs/index.js -var require_commonjs20 = __commonJS({ - "node_modules/glob/node_modules/minimatch/dist/commonjs/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = void 0; - var brace_expansion_1 = require_commonjs19(); - var assert_valid_pattern_js_1 = require_assert_valid_pattern(); - var ast_js_1 = require_ast(); - var escape_js_1 = require_escape(); - var unescape_js_1 = require_unescape(); - var minimatch = (p, pattern, options = {}) => { - (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); - if (!options.nocomment && pattern.charAt(0) === "#") { - return false; - } - return new Minimatch(pattern, options).match(p); - }; - exports2.minimatch = minimatch; - var starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/; - var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2); - var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2); - var starDotExtTestNocase = (ext2) => { - ext2 = ext2.toLowerCase(); - return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2); - }; - var starDotExtTestNocaseDot = (ext2) => { - ext2 = ext2.toLowerCase(); - return (f) => f.toLowerCase().endsWith(ext2); - }; - var starDotStarRE = /^\*+\.\*+$/; - var starDotStarTest = (f) => !f.startsWith(".") && f.includes("."); - var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes("."); - var dotStarRE = /^\.\*+$/; - var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith("."); - var starRE = /^\*+$/; - var starTest = (f) => f.length !== 0 && !f.startsWith("."); - var starTestDot = (f) => f.length !== 0 && f !== "." && f !== ".."; - var qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/; - var qmarksTestNocase = ([$0, ext2 = ""]) => { - const noext = qmarksTestNoExt([$0]); - if (!ext2) - return noext; - ext2 = ext2.toLowerCase(); - return (f) => noext(f) && f.toLowerCase().endsWith(ext2); - }; - var qmarksTestNocaseDot = ([$0, ext2 = ""]) => { - const noext = qmarksTestNoExtDot([$0]); - if (!ext2) - return noext; - ext2 = ext2.toLowerCase(); - return (f) => noext(f) && f.toLowerCase().endsWith(ext2); - }; - var qmarksTestDot = ([$0, ext2 = ""]) => { - const noext = qmarksTestNoExtDot([$0]); - return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2); - }; - var qmarksTest = ([$0, ext2 = ""]) => { - const noext = qmarksTestNoExt([$0]); - return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2); - }; - var qmarksTestNoExt = ([$0]) => { - const len = $0.length; - return (f) => f.length === len && !f.startsWith("."); - }; - var qmarksTestNoExtDot = ([$0]) => { - const len = $0.length; - return (f) => f.length === len && f !== "." && f !== ".."; - }; - var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix"; - var path29 = { - win32: { sep: "\\" }, - posix: { sep: "/" } - }; - exports2.sep = defaultPlatform === "win32" ? path29.win32.sep : path29.posix.sep; - exports2.minimatch.sep = exports2.sep; - exports2.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **"); - exports2.minimatch.GLOBSTAR = exports2.GLOBSTAR; - var qmark = "[^/]"; - var star = qmark + "*?"; - var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; - var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; - var filter = (pattern, options = {}) => (p) => (0, exports2.minimatch)(p, pattern, options); - exports2.filter = filter; - exports2.minimatch.filter = exports2.filter; - var ext = (a, b = {}) => Object.assign({}, a, b); - var defaults = (def) => { - if (!def || typeof def !== "object" || !Object.keys(def).length) { - return exports2.minimatch; - } - const orig = exports2.minimatch; - const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options)); - return Object.assign(m, { - Minimatch: class Minimatch extends orig.Minimatch { - constructor(pattern, options = {}) { - super(pattern, ext(def, options)); - } - static defaults(options) { - return orig.defaults(ext(def, options)).Minimatch; - } - }, - AST: class AST extends orig.AST { - /* c8 ignore start */ - constructor(type, parent, options = {}) { - super(type, parent, ext(def, options)); - } - /* c8 ignore stop */ - static fromGlob(pattern, options = {}) { - return orig.AST.fromGlob(pattern, ext(def, options)); - } - }, - unescape: (s, options = {}) => orig.unescape(s, ext(def, options)), - escape: (s, options = {}) => orig.escape(s, ext(def, options)), - filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)), - defaults: (options) => orig.defaults(ext(def, options)), - makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)), - braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)), - match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)), - sep: orig.sep, - GLOBSTAR: exports2.GLOBSTAR - }); - }; - exports2.defaults = defaults; - exports2.minimatch.defaults = exports2.defaults; - var braceExpand = (pattern, options = {}) => { - (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); - if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { - return [pattern]; - } - return (0, brace_expansion_1.expand)(pattern, { max: options.braceExpandMax }); - }; - exports2.braceExpand = braceExpand; - exports2.minimatch.braceExpand = exports2.braceExpand; - var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe(); - exports2.makeRe = makeRe; - exports2.minimatch.makeRe = exports2.makeRe; - var match = (list, pattern, options = {}) => { - const mm = new Minimatch(pattern, options); - list = list.filter((f) => mm.match(f)); - if (mm.options.nonull && !list.length) { - list.push(pattern); - } - return list; - }; - exports2.match = match; - exports2.minimatch.match = exports2.match; - var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/; - var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - var Minimatch = class { - options; - set; - pattern; - windowsPathsNoEscape; - nonegate; - negate; - comment; - empty; - preserveMultipleSlashes; - partial; - globSet; - globParts; - nocase; - isWindows; - platform; - windowsNoMagicRoot; - maxGlobstarRecursion; - regexp; - constructor(pattern, options = {}) { - (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); - options = options || {}; - this.options = options; - this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200; - this.pattern = pattern; - this.platform = options.platform || defaultPlatform; - this.isWindows = this.platform === "win32"; - const awe = "allowWindowsEscape"; - this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options[awe] === false; - if (this.windowsPathsNoEscape) { - this.pattern = this.pattern.replace(/\\/g, "/"); - } - this.preserveMultipleSlashes = !!options.preserveMultipleSlashes; - this.regexp = null; - this.negate = false; - this.nonegate = !!options.nonegate; - this.comment = false; - this.empty = false; - this.partial = !!options.partial; - this.nocase = !!this.options.nocase; - this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase); - this.globSet = []; - this.globParts = []; - this.set = []; - this.make(); - } - hasMagic() { - if (this.options.magicalBraces && this.set.length > 1) { - return true; - } - for (const pattern of this.set) { - for (const part of pattern) { - if (typeof part !== "string") - return true; - } - } - return false; - } - debug(..._2) { - } - make() { - const pattern = this.pattern; - const options = this.options; - if (!options.nocomment && pattern.charAt(0) === "#") { - this.comment = true; - return; - } - if (!pattern) { - this.empty = true; - return; - } - this.parseNegate(); - this.globSet = [...new Set(this.braceExpand())]; - if (options.debug) { - this.debug = (...args) => console.error(...args); - } - this.debug(this.pattern, this.globSet); - const rawGlobParts = this.globSet.map((s) => this.slashSplit(s)); - this.globParts = this.preprocess(rawGlobParts); - this.debug(this.pattern, this.globParts); - let set = this.globParts.map((s, _2, __) => { - if (this.isWindows && this.windowsNoMagicRoot) { - const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]); - const isDrive = /^[a-z]:/i.test(s[0]); - if (isUNC) { - return [ - ...s.slice(0, 4), - ...s.slice(4).map((ss) => this.parse(ss)) - ]; - } else if (isDrive) { - return [s[0], ...s.slice(1).map((ss) => this.parse(ss))]; - } - } - return s.map((ss) => this.parse(ss)); - }); - this.debug(this.pattern, set); - this.set = set.filter((s) => s.indexOf(false) === -1); - if (this.isWindows) { - for (let i = 0; i < this.set.length; i++) { - const p = this.set[i]; - if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) { - p[2] = "?"; - } - } - } - this.debug(this.pattern, this.set); - } - // various transforms to equivalent pattern sets that are - // faster to process in a filesystem walk. The goal is to - // eliminate what we can, and push all ** patterns as far - // to the right as possible, even if it increases the number - // of patterns that we have to process. - preprocess(globParts) { - if (this.options.noglobstar) { - for (let i = 0; i < globParts.length; i++) { - for (let j = 0; j < globParts[i].length; j++) { - if (globParts[i][j] === "**") { - globParts[i][j] = "*"; - } - } - } - } - const { optimizationLevel = 1 } = this.options; - if (optimizationLevel >= 2) { - globParts = this.firstPhasePreProcess(globParts); - globParts = this.secondPhasePreProcess(globParts); - } else if (optimizationLevel >= 1) { - globParts = this.levelOneOptimize(globParts); - } else { - globParts = this.adjascentGlobstarOptimize(globParts); - } - return globParts; - } - // just get rid of adjascent ** portions - adjascentGlobstarOptimize(globParts) { - return globParts.map((parts) => { - let gs = -1; - while (-1 !== (gs = parts.indexOf("**", gs + 1))) { - let i = gs; - while (parts[i + 1] === "**") { - i++; - } - if (i !== gs) { - parts.splice(gs, i - gs); - } - } - return parts; - }); - } - // get rid of adjascent ** and resolve .. portions - levelOneOptimize(globParts) { - return globParts.map((parts) => { - parts = parts.reduce((set, part) => { - const prev = set[set.length - 1]; - if (part === "**" && prev === "**") { - return set; - } - if (part === "..") { - if (prev && prev !== ".." && prev !== "." && prev !== "**") { - set.pop(); - return set; - } - } - set.push(part); - return set; - }, []); - return parts.length === 0 ? [""] : parts; - }); - } - levelTwoFileOptimize(parts) { - if (!Array.isArray(parts)) { - parts = this.slashSplit(parts); - } - let didSomething = false; - do { - didSomething = false; - if (!this.preserveMultipleSlashes) { - for (let i = 1; i < parts.length - 1; i++) { - const p = parts[i]; - if (i === 1 && p === "" && parts[0] === "") - continue; - if (p === "." || p === "") { - didSomething = true; - parts.splice(i, 1); - i--; - } - } - if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) { - didSomething = true; - parts.pop(); - } - } - let dd = 0; - while (-1 !== (dd = parts.indexOf("..", dd + 1))) { - const p = parts[dd - 1]; - if (p && p !== "." && p !== ".." && p !== "**") { - didSomething = true; - parts.splice(dd - 1, 2); - dd -= 2; - } - } - } while (didSomething); - return parts.length === 0 ? [""] : parts; - } - // First phase: single-pattern processing - //
 is 1 or more portions
-      //  is 1 or more portions
-      // 

is any portion other than ., .., '', or ** - // is . or '' - // - // **/.. is *brutal* for filesystem walking performance, because - // it effectively resets the recursive walk each time it occurs, - // and ** cannot be reduced out by a .. pattern part like a regexp - // or most strings (other than .., ., and '') can be. - // - //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} - //

// -> 
/
-      // 
/

/../ ->

/
-      // **/**/ -> **/
-      //
-      // **/*/ -> */**/ <== not valid because ** doesn't follow
-      // this WOULD be allowed if ** did follow symlinks, or * didn't
-      firstPhasePreProcess(globParts) {
-        let didSomething = false;
-        do {
-          didSomething = false;
-          for (let parts of globParts) {
-            let gs = -1;
-            while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
-              let gss = gs;
-              while (parts[gss + 1] === "**") {
-                gss++;
-              }
-              if (gss > gs) {
-                parts.splice(gs + 1, gss - gs);
-              }
-              let next = parts[gs + 1];
-              const p = parts[gs + 2];
-              const p2 = parts[gs + 3];
-              if (next !== "..")
-                continue;
-              if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
-                continue;
-              }
-              didSomething = true;
-              parts.splice(gs, 1);
-              const other = parts.slice(0);
-              other[gs] = "**";
-              globParts.push(other);
-              gs--;
-            }
-            if (!this.preserveMultipleSlashes) {
-              for (let i = 1; i < parts.length - 1; i++) {
-                const p = parts[i];
-                if (i === 1 && p === "" && parts[0] === "")
-                  continue;
-                if (p === "." || p === "") {
-                  didSomething = true;
-                  parts.splice(i, 1);
-                  i--;
-                }
-              }
-              if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
-                didSomething = true;
-                parts.pop();
-              }
-            }
-            let dd = 0;
-            while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
-              const p = parts[dd - 1];
-              if (p && p !== "." && p !== ".." && p !== "**") {
-                didSomething = true;
-                const needDot = dd === 1 && parts[dd + 1] === "**";
-                const splin = needDot ? ["."] : [];
-                parts.splice(dd - 1, 2, ...splin);
-                if (parts.length === 0)
-                  parts.push("");
-                dd -= 2;
-              }
-            }
-          }
-        } while (didSomething);
-        return globParts;
-      }
-      // second phase: multi-pattern dedupes
-      // {
/*/,
/

/} ->

/*/
-      // {
/,
/} -> 
/
-      // {
/**/,
/} -> 
/**/
-      //
-      // {
/**/,
/**/

/} ->

/**/
-      // ^-- not valid because ** doens't follow symlinks
-      secondPhasePreProcess(globParts) {
-        for (let i = 0; i < globParts.length - 1; i++) {
-          for (let j = i + 1; j < globParts.length; j++) {
-            const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
-            if (matched) {
-              globParts[i] = [];
-              globParts[j] = matched;
-              break;
-            }
-          }
-        }
-        return globParts.filter((gs) => gs.length);
-      }
-      partsMatch(a, b, emptyGSMatch = false) {
-        let ai = 0;
-        let bi = 0;
-        let result = [];
-        let which9 = "";
-        while (ai < a.length && bi < b.length) {
-          if (a[ai] === b[bi]) {
-            result.push(which9 === "b" ? b[bi] : a[ai]);
-            ai++;
-            bi++;
-          } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
-            result.push(a[ai]);
-            ai++;
-          } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
-            result.push(b[bi]);
-            bi++;
-          } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
-            if (which9 === "b")
-              return false;
-            which9 = "a";
-            result.push(a[ai]);
-            ai++;
-            bi++;
-          } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
-            if (which9 === "a")
-              return false;
-            which9 = "b";
-            result.push(b[bi]);
-            ai++;
-            bi++;
-          } else {
-            return false;
-          }
-        }
-        return a.length === b.length && result;
-      }
-      parseNegate() {
-        if (this.nonegate)
-          return;
-        const pattern = this.pattern;
-        let negate2 = false;
-        let negateOffset = 0;
-        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
-          negate2 = !negate2;
-          negateOffset++;
-        }
-        if (negateOffset)
-          this.pattern = pattern.slice(negateOffset);
-        this.negate = negate2;
-      }
-      // set partial to true to test if, for example,
-      // "/a/b" matches the start of "/*/b/*/d"
-      // Partial means, if you run out of file before you run
-      // out of pattern, then that's fine, as long as all
-      // the parts match.
-      matchOne(file, pattern, partial = false) {
-        let fileStartIndex = 0;
-        let patternStartIndex = 0;
-        if (this.isWindows) {
-          const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
-          const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
-          const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
-          const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
-          const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
-          const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
-          if (typeof fdi === "number" && typeof pdi === "number") {
-            const [fd, pd] = [
-              file[fdi],
-              pattern[pdi]
-            ];
-            if (fd.toLowerCase() === pd.toLowerCase()) {
-              pattern[pdi] = fd;
-              patternStartIndex = pdi;
-              fileStartIndex = fdi;
-            }
-          }
-        }
-        const { optimizationLevel = 1 } = this.options;
-        if (optimizationLevel >= 2) {
-          file = this.levelTwoFileOptimize(file);
-        }
-        if (pattern.includes(exports2.GLOBSTAR)) {
-          return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);
-        }
-        return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);
-      }
-      #matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {
-        const firstgs = pattern.indexOf(exports2.GLOBSTAR, patternIndex);
-        const lastgs = pattern.lastIndexOf(exports2.GLOBSTAR);
-        const [head, body, tail] = partial ? [
-          pattern.slice(patternIndex, firstgs),
-          pattern.slice(firstgs + 1),
-          []
-        ] : [
-          pattern.slice(patternIndex, firstgs),
-          pattern.slice(firstgs + 1, lastgs),
-          pattern.slice(lastgs + 1)
-        ];
-        if (head.length) {
-          const fileHead = file.slice(fileIndex, fileIndex + head.length);
-          if (!this.#matchOne(fileHead, head, partial, 0, 0)) {
-            return false;
-          }
-          fileIndex += head.length;
-          patternIndex += head.length;
-        }
-        let fileTailMatch = 0;
-        if (tail.length) {
-          if (tail.length + fileIndex > file.length)
-            return false;
-          let tailStart = file.length - tail.length;
-          if (this.#matchOne(file, tail, partial, tailStart, 0)) {
-            fileTailMatch = tail.length;
-          } else {
-            if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
-              return false;
-            }
-            tailStart--;
-            if (!this.#matchOne(file, tail, partial, tailStart, 0)) {
-              return false;
-            }
-            fileTailMatch = tail.length + 1;
-          }
-        }
-        if (!body.length) {
-          let sawSome = !!fileTailMatch;
-          for (let i2 = fileIndex; i2 < file.length - fileTailMatch; i2++) {
-            const f = String(file[i2]);
-            sawSome = true;
-            if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
-              return false;
-            }
-          }
-          return partial || sawSome;
-        }
-        const bodySegments = [[[], 0]];
-        let currentBody = bodySegments[0];
-        let nonGsParts = 0;
-        const nonGsPartsSums = [0];
-        for (const b of body) {
-          if (b === exports2.GLOBSTAR) {
-            nonGsPartsSums.push(nonGsParts);
-            currentBody = [[], 0];
-            bodySegments.push(currentBody);
-          } else {
-            currentBody[0].push(b);
-            nonGsParts++;
-          }
-        }
-        let i = bodySegments.length - 1;
-        const fileLength = file.length - fileTailMatch;
-        for (const b of bodySegments) {
-          b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);
-        }
-        return !!this.#matchGlobStarBodySections(file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
-      }
-      // return false for "nope, not matching"
-      // return null for "not matching, cannot keep trying"
-      #matchGlobStarBodySections(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
-        const bs = bodySegments[bodyIndex];
-        if (!bs) {
-          for (let i = fileIndex; i < file.length; i++) {
-            sawTail = true;
-            const f = file[i];
-            if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
-              return false;
-            }
-          }
-          return sawTail;
-        }
-        const [body, after] = bs;
-        while (fileIndex <= after) {
-          const m = this.#matchOne(file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
-          if (m && globStarDepth < this.maxGlobstarRecursion) {
-            const sub = this.#matchGlobStarBodySections(file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
-            if (sub !== false) {
-              return sub;
-            }
-          }
-          const f = file[fileIndex];
-          if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
-            return false;
-          }
-          fileIndex++;
-        }
-        return partial || null;
-      }
-      #matchOne(file, pattern, partial, fileIndex, patternIndex) {
-        let fi;
-        let pi;
-        let pl;
-        let fl;
-        for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
-          this.debug("matchOne loop");
-          let p = pattern[pi];
-          let f = file[fi];
-          this.debug(pattern, p, f);
-          if (p === false || p === exports2.GLOBSTAR) {
-            return false;
-          }
-          let hit;
-          if (typeof p === "string") {
-            hit = f === p;
-            this.debug("string match", p, f, hit);
-          } else {
-            hit = p.test(f);
-            this.debug("pattern match", p, f, hit);
-          }
-          if (!hit)
-            return false;
-        }
-        if (fi === fl && pi === pl) {
-          return true;
-        } else if (fi === fl) {
-          return partial;
-        } else if (pi === pl) {
-          return fi === fl - 1 && file[fi] === "";
-        } else {
-          throw new Error("wtf?");
-        }
-      }
-      braceExpand() {
-        return (0, exports2.braceExpand)(this.pattern, this.options);
-      }
-      parse(pattern) {
-        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
-        const options = this.options;
-        if (pattern === "**")
-          return exports2.GLOBSTAR;
-        if (pattern === "")
-          return "";
-        let m;
-        let fastTest = null;
-        if (m = pattern.match(starRE)) {
-          fastTest = options.dot ? starTestDot : starTest;
-        } else if (m = pattern.match(starDotExtRE)) {
-          fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
-        } else if (m = pattern.match(qmarksRE)) {
-          fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
-        } else if (m = pattern.match(starDotStarRE)) {
-          fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
-        } else if (m = pattern.match(dotStarRE)) {
-          fastTest = dotStarTest;
-        }
-        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
-        if (fastTest && typeof re === "object") {
-          Reflect.defineProperty(re, "test", { value: fastTest });
-        }
-        return re;
-      }
-      makeRe() {
-        if (this.regexp || this.regexp === false)
-          return this.regexp;
-        const set = this.set;
-        if (!set.length) {
-          this.regexp = false;
-          return this.regexp;
-        }
-        const options = this.options;
-        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
-        const flags = new Set(options.nocase ? ["i"] : []);
-        let re = set.map((pattern) => {
-          const pp = pattern.map((p) => {
-            if (p instanceof RegExp) {
-              for (const f of p.flags.split(""))
-                flags.add(f);
-            }
-            return typeof p === "string" ? regExpEscape(p) : p === exports2.GLOBSTAR ? exports2.GLOBSTAR : p._src;
-          });
-          pp.forEach((p, i) => {
-            const next = pp[i + 1];
-            const prev = pp[i - 1];
-            if (p !== exports2.GLOBSTAR || prev === exports2.GLOBSTAR) {
-              return;
-            }
-            if (prev === void 0) {
-              if (next !== void 0 && next !== exports2.GLOBSTAR) {
-                pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
-              } else {
-                pp[i] = twoStar;
-              }
-            } else if (next === void 0) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
-            } else if (next !== exports2.GLOBSTAR) {
-              pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
-              pp[i + 1] = exports2.GLOBSTAR;
-            }
-          });
-          const filtered = pp.filter((p) => p !== exports2.GLOBSTAR);
-          if (this.partial && filtered.length >= 1) {
-            const prefixes = [];
-            for (let i = 1; i <= filtered.length; i++) {
-              prefixes.push(filtered.slice(0, i).join("/"));
-            }
-            return "(?:" + prefixes.join("|") + ")";
-          }
-          return filtered.join("/");
-        }).join("|");
-        const [open, close] = set.length > 1 ? ["(?:", ")"] : ["", ""];
-        re = "^" + open + re + close + "$";
-        if (this.partial) {
-          re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
-        }
-        if (this.negate)
-          re = "^(?!" + re + ").+$";
-        try {
-          this.regexp = new RegExp(re, [...flags].join(""));
-        } catch (ex) {
-          this.regexp = false;
-        }
-        return this.regexp;
-      }
-      slashSplit(p) {
-        if (this.preserveMultipleSlashes) {
-          return p.split("/");
-        } else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
-          return ["", ...p.split(/\/+/)];
-        } else {
-          return p.split(/\/+/);
-        }
-      }
-      match(f, partial = this.partial) {
-        this.debug("match", f, this.pattern);
-        if (this.comment) {
-          return false;
-        }
-        if (this.empty) {
-          return f === "";
-        }
-        if (f === "/" && partial) {
-          return true;
-        }
-        const options = this.options;
-        if (this.isWindows) {
-          f = f.split("\\").join("/");
-        }
-        const ff = this.slashSplit(f);
-        this.debug(this.pattern, "split", ff);
-        const set = this.set;
-        this.debug(this.pattern, "set", set);
-        let filename = ff[ff.length - 1];
-        if (!filename) {
-          for (let i = ff.length - 2; !filename && i >= 0; i--) {
-            filename = ff[i];
-          }
-        }
-        for (let i = 0; i < set.length; i++) {
-          const pattern = set[i];
-          let file = ff;
-          if (options.matchBase && pattern.length === 1) {
-            file = [filename];
-          }
-          const hit = this.matchOne(file, pattern, partial);
-          if (hit) {
-            if (options.flipNegate) {
-              return true;
-            }
-            return !this.negate;
-          }
-        }
-        if (options.flipNegate) {
-          return false;
-        }
-        return this.negate;
-      }
-      static defaults(def) {
-        return exports2.minimatch.defaults(def).Minimatch;
-      }
-    };
-    exports2.Minimatch = Minimatch;
-    var ast_js_2 = require_ast();
-    Object.defineProperty(exports2, "AST", { enumerable: true, get: function() {
-      return ast_js_2.AST;
-    } });
-    var escape_js_2 = require_escape();
-    Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return escape_js_2.escape;
-    } });
-    var unescape_js_2 = require_unescape();
-    Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return unescape_js_2.unescape;
-    } });
-    exports2.minimatch.AST = ast_js_1.AST;
-    exports2.minimatch.Minimatch = Minimatch;
-    exports2.minimatch.escape = escape_js_1.escape;
-    exports2.minimatch.unescape = unescape_js_1.unescape;
-  }
-});
-
-// node_modules/lru-cache/dist/commonjs/index.js
-var require_commonjs21 = __commonJS({
-  "node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.LRUCache = void 0;
-    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
-    var warned = /* @__PURE__ */ new Set();
-    var PROCESS = typeof process === "object" && !!process ? process : {};
-    var emitWarning = (msg, type, code, fn) => {
-      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`);
-    };
-    var AC = globalThis.AbortController;
-    var AS = globalThis.AbortSignal;
-    if (typeof AC === "undefined") {
-      AS = class AbortSignal {
-        onabort;
-        _onabort = [];
-        reason;
-        aborted = false;
-        addEventListener(_2, fn) {
-          this._onabort.push(fn);
+          s.length && h !== void 0 && (o = [r, h]);
         }
+        return o;
       };
-      AC = class AbortController {
-        constructor() {
-          warnACPolyfill();
-        }
-        signal = new AS();
-        abort(reason) {
-          if (this.signal.aborted)
-            return;
-          this.signal.reason = reason;
-          this.signal.aborted = true;
-          for (const fn of this.signal._onabort) {
-            fn(reason);
-          }
-          this.signal.onabort?.(reason);
-        }
-      };
-      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
-      const warnACPolyfill = () => {
-        if (!printACPolyfillWarning)
-          return;
-        printACPolyfillWarning = false;
-        emitWarning("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", warnACPolyfill);
-      };
-    }
-    var shouldWarn = (code) => !warned.has(code);
-    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
-    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
-    var ZeroArray = class extends Array {
-      constructor(size) {
-        super(size);
-        this.fill(0);
+      Y.range = zs;
+    });
+    var Ke = R((it) => {
+      "use strict";
+      Object.defineProperty(it, "__esModule", { value: true });
+      it.EXPANSION_MAX = void 0;
+      it.expand = ei;
+      var ze = Ge(), Ue = "\0SLASH" + Math.random() + "\0", $e = "\0OPEN" + Math.random() + "\0", ue = "\0CLOSE" + Math.random() + "\0", qe = "\0COMMA" + Math.random() + "\0", He = "\0PERIOD" + Math.random() + "\0", Us = new RegExp(Ue, "g"), $s = new RegExp($e, "g"), qs = new RegExp(ue, "g"), Hs = new RegExp(qe, "g"), Vs = new RegExp(He, "g"), Ks = /\\\\/g, Xs = /\\{/g, Ys = /\\}/g, Js = /\\,/g, Zs = /\\./g;
+      it.EXPANSION_MAX = 1e5;
+      function ce(n) {
+        return isNaN(n) ? n.charCodeAt(0) : parseInt(n, 10);
       }
-    };
-    var Stack = class _Stack {
-      heap;
-      length;
-      // private constructor
-      static #constructing = false;
-      static create(max) {
-        const HeapCls = getUintArray(max);
-        if (!HeapCls)
-          return [];
-        _Stack.#constructing = true;
-        const s = new _Stack(max, HeapCls);
-        _Stack.#constructing = false;
+      function Qs(n) {
+        return n.replace(Ks, Ue).replace(Xs, $e).replace(Ys, ue).replace(Js, qe).replace(Zs, He);
+      }
+      function ti(n) {
+        return n.replace(Us, "\\").replace($s, "{").replace(qs, "}").replace(Hs, ",").replace(Vs, ".");
+      }
+      function Ve(n) {
+        if (!n) return [""];
+        let t = [], e = (0, ze.balanced)("{", "}", n);
+        if (!e) return n.split(",");
+        let { pre: s, body: i, post: r } = e, h = s.split(",");
+        h[h.length - 1] += "{" + i + "}";
+        let o = Ve(r);
+        return r.length && (h[h.length - 1] += o.shift(), h.push.apply(h, o)), t.push.apply(t, h), t;
+      }
+      function ei(n, t = {}) {
+        if (!n) return [];
+        let { max: e = it.EXPANSION_MAX } = t;
+        return n.slice(0, 2) === "{}" && (n = "\\{\\}" + n.slice(2)), ht(Qs(n), e, true).map(ti);
+      }
+      function si(n) {
+        return "{" + n + "}";
+      }
+      function ii(n) {
+        return /^-?0\d/.test(n);
+      }
+      function ri(n, t) {
+        return n <= t;
+      }
+      function ni(n, t) {
+        return n >= t;
+      }
+      function ht(n, t, e) {
+        let s = [], i = (0, ze.balanced)("{", "}", n);
+        if (!i) return [n];
+        let r = i.pre, h = i.post.length ? ht(i.post, t, false) : [""];
+        if (/\$$/.test(i.pre)) for (let o = 0; o < h.length && o < t; o++) {
+          let a = r + "{" + i.body + "}" + h[o];
+          s.push(a);
+        }
+        else {
+          let o = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body), a = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body), l = o || a, f = i.body.indexOf(",") >= 0;
+          if (!l && !f) return i.post.match(/,(?!,).*\}/) ? (n = i.pre + "{" + i.body + ue + i.post, ht(n, t, true)) : [n];
+          let c;
+          if (l) c = i.body.split(/\.\./);
+          else if (c = Ve(i.body), c.length === 1 && c[0] !== void 0 && (c = ht(c[0], t, false).map(si), c.length === 1)) return h.map((u) => i.pre + c[0] + u);
+          let d;
+          if (l && c[0] !== void 0 && c[1] !== void 0) {
+            let u = ce(c[0]), m = ce(c[1]), p = Math.max(c[0].length, c[1].length), b = c.length === 3 && c[2] !== void 0 ? Math.abs(ce(c[2])) : 1, w = ri;
+            m < u && (b *= -1, w = ni);
+            let E = c.some(ii);
+            d = [];
+            for (let y = u; w(y, m); y += b) {
+              let S;
+              if (a) S = String.fromCharCode(y), S === "\\" && (S = "");
+              else if (S = String(y), E) {
+                let B = p - S.length;
+                if (B > 0) {
+                  let U = new Array(B + 1).join("0");
+                  y < 0 ? S = "-" + U + S.slice(1) : S = U + S;
+                }
+              }
+              d.push(S);
+            }
+          } else {
+            d = [];
+            for (let u = 0; u < c.length; u++) d.push.apply(d, ht(c[u], t, false));
+          }
+          for (let u = 0; u < d.length; u++) for (let m = 0; m < h.length && s.length < t; m++) {
+            let p = r + d[u] + h[m];
+            (!e || l || p) && s.push(p);
+          }
+        }
         return s;
       }
-      constructor(max, HeapCls) {
-        if (!_Stack.#constructing) {
-          throw new TypeError("instantiate Stack using Stack.create(n)");
-        }
-        this.heap = new HeapCls(max);
-        this.length = 0;
-      }
-      push(n) {
-        this.heap[this.length++] = n;
-      }
-      pop() {
-        return this.heap[--this.length];
-      }
-    };
-    var LRUCache = class _LRUCache {
-      // options that cannot be changed without disaster
-      #max;
-      #maxSize;
-      #dispose;
-      #onInsert;
-      #disposeAfter;
-      #fetchMethod;
-      #memoMethod;
-      /**
-       * {@link LRUCache.OptionsBase.ttl}
-       */
-      ttl;
-      /**
-       * {@link LRUCache.OptionsBase.ttlResolution}
-       */
-      ttlResolution;
-      /**
-       * {@link LRUCache.OptionsBase.ttlAutopurge}
-       */
-      ttlAutopurge;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnGet}
-       */
-      updateAgeOnGet;
-      /**
-       * {@link LRUCache.OptionsBase.updateAgeOnHas}
-       */
-      updateAgeOnHas;
-      /**
-       * {@link LRUCache.OptionsBase.allowStale}
-       */
-      allowStale;
-      /**
-       * {@link LRUCache.OptionsBase.noDisposeOnSet}
-       */
-      noDisposeOnSet;
-      /**
-       * {@link LRUCache.OptionsBase.noUpdateTTL}
-       */
-      noUpdateTTL;
-      /**
-       * {@link LRUCache.OptionsBase.maxEntrySize}
-       */
-      maxEntrySize;
-      /**
-       * {@link LRUCache.OptionsBase.sizeCalculation}
-       */
-      sizeCalculation;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
-       */
-      noDeleteOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
-       */
-      noDeleteOnStaleGet;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
-       */
-      allowStaleOnFetchAbort;
-      /**
-       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
-       */
-      allowStaleOnFetchRejection;
-      /**
-       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
-       */
-      ignoreFetchAbort;
-      // computed properties
-      #size;
-      #calculatedSize;
-      #keyMap;
-      #keyList;
-      #valList;
-      #next;
-      #prev;
-      #head;
-      #tail;
-      #free;
-      #disposed;
-      #sizes;
-      #starts;
-      #ttls;
-      #hasDispose;
-      #hasFetchMethod;
-      #hasDisposeAfter;
-      #hasOnInsert;
-      /**
-       * Do not call this method unless you need to inspect the
-       * inner workings of the cache.  If anything returned by this
-       * object is modified in any way, strange breakage may occur.
-       *
-       * These fields are private for a reason!
-       *
-       * @internal
-       */
-      static unsafeExposeInternals(c) {
-        return {
-          // properties
-          starts: c.#starts,
-          ttls: c.#ttls,
-          sizes: c.#sizes,
-          keyMap: c.#keyMap,
-          keyList: c.#keyList,
-          valList: c.#valList,
-          next: c.#next,
-          prev: c.#prev,
-          get head() {
-            return c.#head;
-          },
-          get tail() {
-            return c.#tail;
-          },
-          free: c.#free,
-          // methods
-          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
-          backgroundFetch: (k, index, options, context5) => c.#backgroundFetch(k, index, options, context5),
-          moveToTail: (index) => c.#moveToTail(index),
-          indexes: (options) => c.#indexes(options),
-          rindexes: (options) => c.#rindexes(options),
-          isStale: (index) => c.#isStale(index)
-        };
-      }
-      // Protected read-only members
-      /**
-       * {@link LRUCache.OptionsBase.max} (read-only)
-       */
-      get max() {
-        return this.#max;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.maxSize} (read-only)
-       */
-      get maxSize() {
-        return this.#maxSize;
-      }
-      /**
-       * The total computed size of items in the cache (read-only)
-       */
-      get calculatedSize() {
-        return this.#calculatedSize;
-      }
-      /**
-       * The number of items stored in the cache (read-only)
-       */
-      get size() {
-        return this.#size;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
-       */
-      get fetchMethod() {
-        return this.#fetchMethod;
-      }
-      get memoMethod() {
-        return this.#memoMethod;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.dispose} (read-only)
-       */
-      get dispose() {
-        return this.#dispose;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.onInsert} (read-only)
-       */
-      get onInsert() {
-        return this.#onInsert;
-      }
-      /**
-       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
-       */
-      get disposeAfter() {
-        return this.#disposeAfter;
-      }
-      constructor(options) {
-        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
-        if (max !== 0 && !isPosInt(max)) {
-          throw new TypeError("max option must be a nonnegative integer");
-        }
-        const UintArray = max ? getUintArray(max) : Array;
-        if (!UintArray) {
-          throw new Error("invalid max value: " + max);
-        }
-        this.#max = max;
-        this.#maxSize = maxSize;
-        this.maxEntrySize = maxEntrySize || this.#maxSize;
-        this.sizeCalculation = sizeCalculation;
-        if (this.sizeCalculation) {
-          if (!this.#maxSize && !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 (memoMethod !== void 0 && typeof memoMethod !== "function") {
-          throw new TypeError("memoMethod must be a function if defined");
-        }
-        this.#memoMethod = memoMethod;
-        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
-          throw new TypeError("fetchMethod must be a function if specified");
-        }
-        this.#fetchMethod = fetchMethod;
-        this.#hasFetchMethod = !!fetchMethod;
-        this.#keyMap = /* @__PURE__ */ new Map();
-        this.#keyList = new Array(max).fill(void 0);
-        this.#valList = new Array(max).fill(void 0);
-        this.#next = new UintArray(max);
-        this.#prev = new UintArray(max);
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free = Stack.create(max);
-        this.#size = 0;
-        this.#calculatedSize = 0;
-        if (typeof dispose === "function") {
-          this.#dispose = dispose;
-        }
-        if (typeof onInsert === "function") {
-          this.#onInsert = onInsert;
-        }
-        if (typeof disposeAfter === "function") {
-          this.#disposeAfter = disposeAfter;
-          this.#disposed = [];
-        } else {
-          this.#disposeAfter = void 0;
-          this.#disposed = void 0;
-        }
-        this.#hasDispose = !!this.#dispose;
-        this.#hasOnInsert = !!this.#onInsert;
-        this.#hasDisposeAfter = !!this.#disposeAfter;
-        this.noDisposeOnSet = !!noDisposeOnSet;
-        this.noUpdateTTL = !!noUpdateTTL;
-        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
-        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
-        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
-        this.ignoreFetchAbort = !!ignoreFetchAbort;
-        if (this.maxEntrySize !== 0) {
-          if (this.#maxSize !== 0) {
-            if (!isPosInt(this.#maxSize)) {
-              throw new TypeError("maxSize must be a positive integer if specified");
-            }
-          }
-          if (!isPosInt(this.maxEntrySize)) {
-            throw new TypeError("maxEntrySize must be a positive integer if specified");
-          }
-          this.#initializeSizeTracking();
-        }
-        this.allowStale = !!allowStale;
-        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
-        this.updateAgeOnGet = !!updateAgeOnGet;
-        this.updateAgeOnHas = !!updateAgeOnHas;
-        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
-        this.ttlAutopurge = !!ttlAutopurge;
-        this.ttl = ttl || 0;
-        if (this.ttl) {
-          if (!isPosInt(this.ttl)) {
-            throw new TypeError("ttl must be a positive integer if specified");
-          }
-          this.#initializeTTLTracking();
-        }
-        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
-          throw new TypeError("At least one of max, maxSize, or ttl is required");
-        }
-        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
-          const code = "LRU_CACHE_UNBOUNDED";
-          if (shouldWarn(code)) {
-            warned.add(code);
-            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
-            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
-          }
-        }
-      }
-      /**
-       * Return the number of ms left in the item's TTL. If item is not in cache,
-       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
-       */
-      getRemainingTTL(key) {
-        return this.#keyMap.has(key) ? Infinity : 0;
-      }
-      #initializeTTLTracking() {
-        const ttls = new ZeroArray(this.#max);
-        const starts = new ZeroArray(this.#max);
-        this.#ttls = ttls;
-        this.#starts = starts;
-        this.#setItemTTL = (index, ttl, start = perf.now()) => {
-          starts[index] = ttl !== 0 ? start : 0;
-          ttls[index] = ttl;
-          if (ttl !== 0 && this.ttlAutopurge) {
-            const t = setTimeout(() => {
-              if (this.#isStale(index)) {
-                this.#delete(this.#keyList[index], "expire");
-              }
-            }, ttl + 1);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-        };
-        this.#updateItemAge = (index) => {
-          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
-        };
-        this.#statusTTL = (status, index) => {
-          if (ttls[index]) {
-            const ttl = ttls[index];
-            const start = starts[index];
-            if (!ttl || !start)
-              return;
-            status.ttl = ttl;
-            status.start = start;
-            status.now = cachedNow || getNow();
-            const age = status.now - start;
-            status.remainingTTL = ttl - age;
-          }
-        };
-        let cachedNow = 0;
-        const getNow = () => {
-          const n = perf.now();
-          if (this.ttlResolution > 0) {
-            cachedNow = n;
-            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
-            if (t.unref) {
-              t.unref();
-            }
-          }
-          return n;
-        };
-        this.getRemainingTTL = (key) => {
-          const index = this.#keyMap.get(key);
-          if (index === void 0) {
-            return 0;
-          }
-          const ttl = ttls[index];
-          const start = starts[index];
-          if (!ttl || !start) {
-            return Infinity;
-          }
-          const age = (cachedNow || getNow()) - start;
-          return ttl - age;
-        };
-        this.#isStale = (index) => {
-          const s = starts[index];
-          const t = ttls[index];
-          return !!t && !!s && (cachedNow || getNow()) - s > t;
-        };
-      }
-      // conditionally set private methods related to TTL
-      #updateItemAge = () => {
-      };
-      #statusTTL = () => {
-      };
-      #setItemTTL = () => {
-      };
-      /* c8 ignore stop */
-      #isStale = () => false;
-      #initializeSizeTracking() {
-        const sizes = new ZeroArray(this.#max);
-        this.#calculatedSize = 0;
-        this.#sizes = sizes;
-        this.#removeItemSize = (index) => {
-          this.#calculatedSize -= sizes[index];
-          sizes[index] = 0;
-        };
-        this.#requireSize = (k, v, size, sizeCalculation) => {
-          if (this.#isBackgroundFetch(v)) {
-            return 0;
-          }
-          if (!isPosInt(size)) {
-            if (sizeCalculation) {
-              if (typeof sizeCalculation !== "function") {
-                throw new TypeError("sizeCalculation must be a function");
-              }
-              size = sizeCalculation(v, k);
-              if (!isPosInt(size)) {
-                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
-              }
-            } else {
-              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
-            }
-          }
-          return size;
-        };
-        this.#addItemSize = (index, size, status) => {
-          sizes[index] = size;
-          if (this.#maxSize) {
-            const maxSize = this.#maxSize - sizes[index];
-            while (this.#calculatedSize > maxSize) {
-              this.#evict(true);
-            }
-          }
-          this.#calculatedSize += sizes[index];
-          if (status) {
-            status.entrySize = size;
-            status.totalCalculatedSize = this.#calculatedSize;
-          }
-        };
-      }
-      #removeItemSize = (_i) => {
-      };
-      #addItemSize = (_i, _s, _st) => {
-      };
-      #requireSize = (_k, _v, size, sizeCalculation) => {
-        if (size || sizeCalculation) {
-          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
-        }
-        return 0;
-      };
-      *#indexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#tail; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#head) {
-              break;
-            } else {
-              i = this.#prev[i];
-            }
-          }
-        }
-      }
-      *#rindexes({ allowStale = this.allowStale } = {}) {
-        if (this.#size) {
-          for (let i = this.#head; true; ) {
-            if (!this.#isValidIndex(i)) {
-              break;
-            }
-            if (allowStale || !this.#isStale(i)) {
-              yield i;
-            }
-            if (i === this.#tail) {
-              break;
-            } else {
-              i = this.#next[i];
-            }
-          }
-        }
-      }
-      #isValidIndex(index) {
-        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
-      }
-      /**
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from most recently used to least recently used.
-       */
-      *entries() {
-        for (const i of this.#indexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
-        }
-      }
-      /**
-       * Inverse order version of {@link LRUCache.entries}
-       *
-       * Return a generator yielding `[key, value]` pairs,
-       * in order from least recently used to most recently used.
-       */
-      *rentries() {
-        for (const i of this.#rindexes()) {
-          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield [this.#keyList[i], this.#valList[i]];
-          }
-        }
-      }
-      /**
-       * Return a generator yielding the keys in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *keys() {
-        for (const i of this.#indexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
-        }
-      }
-      /**
-       * Inverse order version of {@link LRUCache.keys}
-       *
-       * Return a generator yielding the keys in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rkeys() {
-        for (const i of this.#rindexes()) {
-          const k = this.#keyList[i];
-          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield k;
-          }
-        }
-      }
-      /**
-       * Return a generator yielding the values in the cache,
-       * in order from most recently used to least recently used.
-       */
-      *values() {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
-        }
-      }
-      /**
-       * Inverse order version of {@link LRUCache.values}
-       *
-       * Return a generator yielding the values in the cache,
-       * in order from least recently used to most recently used.
-       */
-      *rvalues() {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
-            yield this.#valList[i];
-          }
-        }
-      }
-      /**
-       * Iterating over the cache itself yields the same results as
-       * {@link LRUCache.entries}
-       */
-      [Symbol.iterator]() {
-        return this.entries();
-      }
-      /**
-       * A String value that is used in the creation of the default string
-       * description of an object. Called by the built-in method
-       * `Object.prototype.toString`.
-       */
-      [Symbol.toStringTag] = "LRUCache";
-      /**
-       * Find a value for which the supplied fn method returns a truthy value,
-       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
-       */
-      find(fn, getOptions = {}) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          if (fn(value, this.#keyList[i], this)) {
-            return this.get(this.#keyList[i], getOptions);
-          }
-        }
-      }
-      /**
-       * Call the supplied function on each item in the cache, in order from most
-       * recently used to least recently used.
-       *
-       * `fn` is called as `fn(value, key, cache)`.
-       *
-       * If `thisp` is provided, function will be called in the `this`-context of
-       * the provided object, or the cache if no `thisp` object is provided.
-       *
-       * Does not update age or recenty of use, or iterate over stale values.
-       */
-      forEach(fn, thisp = this) {
-        for (const i of this.#indexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
-        }
-      }
-      /**
-       * The same as {@link LRUCache.forEach} but items are iterated over in
-       * reverse order.  (ie, less recently used items are iterated over first.)
-       */
-      rforEach(fn, thisp = this) {
-        for (const i of this.#rindexes()) {
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0)
-            continue;
-          fn.call(thisp, value, this.#keyList[i], this);
-        }
-      }
-      /**
-       * Delete any stale entries. Returns true if anything was removed,
-       * false otherwise.
-       */
-      purgeStale() {
-        let deleted = false;
-        for (const i of this.#rindexes({ allowStale: true })) {
-          if (this.#isStale(i)) {
-            this.#delete(this.#keyList[i], "expire");
-            deleted = true;
-          }
-        }
-        return deleted;
-      }
-      /**
-       * Get the extended info about a given entry, to get its value, size, and
-       * TTL info simultaneously. Returns `undefined` if the key is not present.
-       *
-       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
-       * serialization, the `start` value is always the current timestamp, and the
-       * `ttl` is a calculated remaining time to live (negative if expired).
-       *
-       * Always returns stale values, if their info is found in the cache, so be
-       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
-       * if relevant.
-       */
-      info(key) {
-        const i = this.#keyMap.get(key);
-        if (i === void 0)
-          return void 0;
-        const v = this.#valList[i];
-        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-        if (value === void 0)
-          return void 0;
-        const entry = { value };
-        if (this.#ttls && this.#starts) {
-          const ttl = this.#ttls[i];
-          const start = this.#starts[i];
-          if (ttl && start) {
-            const remain = ttl - (perf.now() - start);
-            entry.ttl = remain;
-            entry.start = Date.now();
-          }
-        }
-        if (this.#sizes) {
-          entry.size = this.#sizes[i];
-        }
-        return entry;
-      }
-      /**
-       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
-       * passed to {@link LRUCache#load}.
-       *
-       * The `start` fields are calculated relative to a portable `Date.now()`
-       * timestamp, even if `performance.now()` is available.
-       *
-       * Stale entries are always included in the `dump`, even if
-       * {@link LRUCache.OptionsBase.allowStale} is false.
-       *
-       * Note: this returns an actual array, not a generator, so it can be more
-       * easily passed around.
-       */
-      dump() {
-        const arr = [];
-        for (const i of this.#indexes({ allowStale: true })) {
-          const key = this.#keyList[i];
-          const v = this.#valList[i];
-          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-          if (value === void 0 || key === void 0)
-            continue;
-          const entry = { value };
-          if (this.#ttls && this.#starts) {
-            entry.ttl = this.#ttls[i];
-            const age = perf.now() - this.#starts[i];
-            entry.start = Math.floor(Date.now() - age);
-          }
-          if (this.#sizes) {
-            entry.size = this.#sizes[i];
-          }
-          arr.unshift([key, entry]);
-        }
-        return arr;
-      }
-      /**
-       * Reset the cache and load in the items in entries in the order listed.
-       *
-       * The shape of the resulting cache may be different if the same options are
-       * not used in both caches.
-       *
-       * The `start` fields are assumed to be calculated relative to a portable
-       * `Date.now()` timestamp, even if `performance.now()` is available.
-       */
-      load(arr) {
-        this.clear();
-        for (const [key, entry] of arr) {
-          if (entry.start) {
-            const age = Date.now() - entry.start;
-            entry.start = perf.now() - age;
-          }
-          this.set(key, entry.value, entry);
-        }
-      }
-      /**
-       * Add a value to the cache.
-       *
-       * Note: if `undefined` is specified as a value, this is an alias for
-       * {@link LRUCache#delete}
-       *
-       * Fields on the {@link LRUCache.SetOptions} options param will override
-       * their corresponding values in the constructor options for the scope
-       * of this single `set()` operation.
-       *
-       * If `start` is provided, then that will set the effective start
-       * time for the TTL calculation. Note that this must be a previous
-       * value of `performance.now()` if supported, or a previous value of
-       * `Date.now()` if not.
-       *
-       * Options object may also include `size`, which will prevent
-       * calling the `sizeCalculation` function and just use the specified
-       * number if it is a positive integer, and `noDisposeOnSet` which
-       * will prevent calling a `dispose` function in the case of
-       * overwrites.
-       *
-       * If the `size` (or return value of `sizeCalculation`) for a given
-       * entry is greater than `maxEntrySize`, then the item will not be
-       * added to the cache.
-       *
-       * Will update the recency of the entry.
-       *
-       * If the value is `undefined`, then this is an alias for
-       * `cache.delete(key)`. `undefined` is never stored in the cache.
-       */
-      set(k, v, setOptions = {}) {
-        if (v === void 0) {
-          this.delete(k);
-          return this;
-        }
-        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
-        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
-        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
-        if (this.maxEntrySize && size > this.maxEntrySize) {
-          if (status) {
-            status.set = "miss";
-            status.maxEntrySizeExceeded = true;
-          }
-          this.#delete(k, "set");
-          return this;
-        }
-        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
-        if (index === void 0) {
-          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
-          this.#keyList[index] = k;
-          this.#valList[index] = v;
-          this.#keyMap.set(k, index);
-          this.#next[this.#tail] = index;
-          this.#prev[index] = this.#tail;
-          this.#tail = index;
-          this.#size++;
-          this.#addItemSize(index, size, status);
-          if (status)
-            status.set = "add";
-          noUpdateTTL = false;
-          if (this.#hasOnInsert) {
-            this.#onInsert?.(v, k, "add");
-          }
-        } else {
-          this.#moveToTail(index);
-          const oldVal = this.#valList[index];
-          if (v !== oldVal) {
-            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
-              oldVal.__abortController.abort(new Error("replaced"));
-              const { __staleWhileFetching: s } = oldVal;
-              if (s !== void 0 && !noDisposeOnSet) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(s, k, "set");
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([s, k, "set"]);
-                }
-              }
-            } else if (!noDisposeOnSet) {
-              if (this.#hasDispose) {
-                this.#dispose?.(oldVal, k, "set");
-              }
-              if (this.#hasDisposeAfter) {
-                this.#disposed?.push([oldVal, k, "set"]);
-              }
-            }
-            this.#removeItemSize(index);
-            this.#addItemSize(index, size, status);
-            this.#valList[index] = v;
-            if (status) {
-              status.set = "replace";
-              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
-              if (oldValue !== void 0)
-                status.oldValue = oldValue;
-            }
-          } else if (status) {
-            status.set = "update";
-          }
-          if (this.#hasOnInsert) {
-            this.onInsert?.(v, k, v === oldVal ? "update" : "replace");
-          }
-        }
-        if (ttl !== 0 && !this.#ttls) {
-          this.#initializeTTLTracking();
-        }
-        if (this.#ttls) {
-          if (!noUpdateTTL) {
-            this.#setItemTTL(index, ttl, start);
-          }
-          if (status)
-            this.#statusTTL(status, index);
-        }
-        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
-        }
-        return this;
-      }
-      /**
-       * Evict the least recently used item, returning its value or
-       * `undefined` if cache is empty.
-       */
-      pop() {
-        try {
-          while (this.#size) {
-            const val = this.#valList[this.#head];
-            this.#evict(true);
-            if (this.#isBackgroundFetch(val)) {
-              if (val.__staleWhileFetching) {
-                return val.__staleWhileFetching;
-              }
-            } else if (val !== void 0) {
-              return val;
-            }
-          }
-        } finally {
-          if (this.#hasDisposeAfter && this.#disposed) {
-            const dt = this.#disposed;
-            let task;
-            while (task = dt?.shift()) {
-              this.#disposeAfter?.(...task);
-            }
-          }
-        }
-      }
-      #evict(free) {
-        const head = this.#head;
-        const k = this.#keyList[head];
-        const v = this.#valList[head];
-        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
-          v.__abortController.abort(new Error("evicted"));
-        } else if (this.#hasDispose || this.#hasDisposeAfter) {
-          if (this.#hasDispose) {
-            this.#dispose?.(v, k, "evict");
-          }
-          if (this.#hasDisposeAfter) {
-            this.#disposed?.push([v, k, "evict"]);
-          }
-        }
-        this.#removeItemSize(head);
-        if (free) {
-          this.#keyList[head] = void 0;
-          this.#valList[head] = void 0;
-          this.#free.push(head);
-        }
-        if (this.#size === 1) {
-          this.#head = this.#tail = 0;
-          this.#free.length = 0;
-        } else {
-          this.#head = this.#next[head];
-        }
-        this.#keyMap.delete(k);
-        this.#size--;
-        return head;
-      }
-      /**
-       * Check if a key is in the cache, without updating the recency of use.
-       * Will return false if the item is stale, even though it is technically
-       * in the cache.
-       *
-       * Check if a key is in the cache, without updating the recency of
-       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
-       * to `true` in either the options or the constructor.
-       *
-       * Will return `false` if the item is stale, even though it is technically in
-       * the cache. The difference can be determined (if it matters) by using a
-       * `status` argument, and inspecting the `has` field.
-       *
-       * Will not update item age unless
-       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
-       */
-      has(k, hasOptions = {}) {
-        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
-            return false;
-          }
-          if (!this.#isStale(index)) {
-            if (updateAgeOnHas) {
-              this.#updateItemAge(index);
-            }
-            if (status) {
-              status.has = "hit";
-              this.#statusTTL(status, index);
-            }
-            return true;
-          } else if (status) {
-            status.has = "stale";
-            this.#statusTTL(status, index);
-          }
-        } else if (status) {
-          status.has = "miss";
-        }
-        return false;
-      }
-      /**
-       * Like {@link LRUCache#get} but doesn't update recency or delete stale
-       * items.
-       *
-       * Returns `undefined` if the item is stale, unless
-       * {@link LRUCache.OptionsBase.allowStale} is set.
-       */
-      peek(k, peekOptions = {}) {
-        const { allowStale = this.allowStale } = peekOptions;
-        const index = this.#keyMap.get(k);
-        if (index === void 0 || !allowStale && this.#isStale(index)) {
-          return;
-        }
-        const v = this.#valList[index];
-        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
-      }
-      #backgroundFetch(k, index, options, context5) {
-        const v = index === void 0 ? void 0 : this.#valList[index];
-        if (this.#isBackgroundFetch(v)) {
-          return v;
-        }
-        const ac = new AC();
-        const { signal } = options;
-        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
-          signal: ac.signal
-        });
-        const fetchOpts = {
-          signal: ac.signal,
-          options,
-          context: context5
-        };
-        const cb = (v2, updateCache = false) => {
-          const { aborted } = ac.signal;
-          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
-          if (options.status) {
-            if (aborted && !updateCache) {
-              options.status.fetchAborted = true;
-              options.status.fetchError = ac.signal.reason;
-              if (ignoreAbort)
-                options.status.fetchAbortIgnored = true;
-            } else {
-              options.status.fetchResolved = true;
-            }
-          }
-          if (aborted && !ignoreAbort && !updateCache) {
-            return fetchFail(ac.signal.reason);
-          }
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            if (v2 === void 0) {
-              if (bf2.__staleWhileFetching) {
-                this.#valList[index] = bf2.__staleWhileFetching;
-              } else {
-                this.#delete(k, "fetch");
-              }
-            } else {
-              if (options.status)
-                options.status.fetchUpdated = true;
-              this.set(k, v2, fetchOpts.options);
-            }
-          }
-          return v2;
-        };
-        const eb = (er) => {
-          if (options.status) {
-            options.status.fetchRejected = true;
-            options.status.fetchError = er;
-          }
-          return fetchFail(er);
-        };
-        const fetchFail = (er) => {
-          const { aborted } = ac.signal;
-          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
-          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
-          const noDelete = allowStale || options.noDeleteOnFetchRejection;
-          const bf2 = p;
-          if (this.#valList[index] === p) {
-            const del = !noDelete || bf2.__staleWhileFetching === void 0;
-            if (del) {
-              this.#delete(k, "fetch");
-            } else if (!allowStaleAborted) {
-              this.#valList[index] = bf2.__staleWhileFetching;
-            }
-          }
-          if (allowStale) {
-            if (options.status && bf2.__staleWhileFetching !== void 0) {
-              options.status.returnedStale = true;
-            }
-            return bf2.__staleWhileFetching;
-          } else if (bf2.__returned === bf2) {
-            throw er;
-          }
-        };
-        const pcall = (res, rej) => {
-          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
-          if (fmp && fmp instanceof Promise) {
-            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
-          }
-          ac.signal.addEventListener("abort", () => {
-            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
-              res(void 0);
-              if (options.allowStaleOnFetchAbort) {
-                res = (v2) => cb(v2, true);
-              }
-            }
-          });
-        };
-        if (options.status)
-          options.status.fetchDispatched = true;
-        const p = new Promise(pcall).then(cb, eb);
-        const bf = Object.assign(p, {
-          __abortController: ac,
-          __staleWhileFetching: v,
-          __returned: void 0
-        });
-        if (index === void 0) {
-          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
-          index = this.#keyMap.get(k);
-        } else {
-          this.#valList[index] = bf;
-        }
-        return bf;
-      }
-      #isBackgroundFetch(p) {
-        if (!this.#hasFetchMethod)
-          return false;
-        const b = p;
-        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
-      }
-      async fetch(k, fetchOptions = {}) {
-        const {
-          // get options
-          allowStale = this.allowStale,
-          updateAgeOnGet = this.updateAgeOnGet,
-          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
-          // set options
-          ttl = this.ttl,
-          noDisposeOnSet = this.noDisposeOnSet,
-          size = 0,
-          sizeCalculation = this.sizeCalculation,
-          noUpdateTTL = this.noUpdateTTL,
-          // fetch exclusive options
-          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
-          ignoreFetchAbort = this.ignoreFetchAbort,
-          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
-          context: context5,
-          forceRefresh = false,
-          status,
-          signal
-        } = fetchOptions;
-        if (!this.#hasFetchMethod) {
-          if (status)
-            status.fetch = "get";
-          return this.get(k, {
-            allowStale,
-            updateAgeOnGet,
-            noDeleteOnStaleGet,
-            status
-          });
-        }
-        const options = {
-          allowStale,
-          updateAgeOnGet,
-          noDeleteOnStaleGet,
-          ttl,
-          noDisposeOnSet,
-          size,
-          sizeCalculation,
-          noUpdateTTL,
-          noDeleteOnFetchRejection,
-          allowStaleOnFetchRejection,
-          allowStaleOnFetchAbort,
-          ignoreFetchAbort,
-          status,
-          signal
-        };
-        let index = this.#keyMap.get(k);
-        if (index === void 0) {
-          if (status)
-            status.fetch = "miss";
-          const p = this.#backgroundFetch(k, index, options, context5);
-          return p.__returned = p;
-        } else {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            const stale = allowStale && v.__staleWhileFetching !== void 0;
-            if (status) {
-              status.fetch = "inflight";
-              if (stale)
-                status.returnedStale = true;
-            }
-            return stale ? v.__staleWhileFetching : v.__returned = v;
-          }
-          const isStale = this.#isStale(index);
-          if (!forceRefresh && !isStale) {
-            if (status)
-              status.fetch = "hit";
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            if (status)
-              this.#statusTTL(status, index);
-            return v;
-          }
-          const p = this.#backgroundFetch(k, index, options, context5);
-          const hasStale = p.__staleWhileFetching !== void 0;
-          const staleVal = hasStale && allowStale;
-          if (status) {
-            status.fetch = isStale ? "stale" : "refresh";
-            if (staleVal && isStale)
-              status.returnedStale = true;
-          }
-          return staleVal ? p.__staleWhileFetching : p.__returned = p;
-        }
-      }
-      async forceFetch(k, fetchOptions = {}) {
-        const v = await this.fetch(k, fetchOptions);
-        if (v === void 0)
-          throw new Error("fetch() returned undefined");
-        return v;
-      }
-      memo(k, memoOptions = {}) {
-        const memoMethod = this.#memoMethod;
-        if (!memoMethod) {
-          throw new Error("no memoMethod provided to constructor");
-        }
-        const { context: context5, forceRefresh, ...options } = memoOptions;
-        const v = this.get(k, options);
-        if (!forceRefresh && v !== void 0)
-          return v;
-        const vv = memoMethod(k, v, {
-          options,
-          context: context5
-        });
-        this.set(k, vv, options);
-        return vv;
-      }
-      /**
-       * Return a value from the cache. Will update the recency of the cache
-       * entry found.
-       *
-       * If the key is not found, get() will return `undefined`.
-       */
-      get(k, getOptions = {}) {
-        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
-        const index = this.#keyMap.get(k);
-        if (index !== void 0) {
-          const value = this.#valList[index];
-          const fetching = this.#isBackgroundFetch(value);
-          if (status)
-            this.#statusTTL(status, index);
-          if (this.#isStale(index)) {
-            if (status)
-              status.get = "stale";
-            if (!fetching) {
-              if (!noDeleteOnStaleGet) {
-                this.#delete(k, "expire");
-              }
-              if (status && allowStale)
-                status.returnedStale = true;
-              return allowStale ? value : void 0;
-            } else {
-              if (status && allowStale && value.__staleWhileFetching !== void 0) {
-                status.returnedStale = true;
-              }
-              return allowStale ? value.__staleWhileFetching : void 0;
-            }
-          } else {
-            if (status)
-              status.get = "hit";
-            if (fetching) {
-              return value.__staleWhileFetching;
-            }
-            this.#moveToTail(index);
-            if (updateAgeOnGet) {
-              this.#updateItemAge(index);
-            }
-            return value;
-          }
-        } else if (status) {
-          status.get = "miss";
-        }
-      }
-      #connect(p, n) {
-        this.#prev[n] = p;
-        this.#next[p] = n;
-      }
-      #moveToTail(index) {
-        if (index !== this.#tail) {
-          if (index === this.#head) {
-            this.#head = this.#next[index];
-          } else {
-            this.#connect(this.#prev[index], this.#next[index]);
-          }
-          this.#connect(this.#tail, index);
-          this.#tail = index;
-        }
-      }
-      /**
-       * Deletes a key out of the cache.
-       *
-       * Returns true if the key was deleted, false otherwise.
-       */
-      delete(k) {
-        return this.#delete(k, "delete");
-      }
-      #delete(k, reason) {
-        let deleted = false;
-        if (this.#size !== 0) {
-          const index = this.#keyMap.get(k);
-          if (index !== void 0) {
-            deleted = true;
-            if (this.#size === 1) {
-              this.#clear(reason);
-            } else {
-              this.#removeItemSize(index);
-              const v = this.#valList[index];
-              if (this.#isBackgroundFetch(v)) {
-                v.__abortController.abort(new Error("deleted"));
-              } else if (this.#hasDispose || this.#hasDisposeAfter) {
-                if (this.#hasDispose) {
-                  this.#dispose?.(v, k, reason);
-                }
-                if (this.#hasDisposeAfter) {
-                  this.#disposed?.push([v, k, reason]);
-                }
-              }
-              this.#keyMap.delete(k);
-              this.#keyList[index] = void 0;
-              this.#valList[index] = void 0;
-              if (index === this.#tail) {
-                this.#tail = this.#prev[index];
-              } else if (index === this.#head) {
-                this.#head = this.#next[index];
-              } else {
-                const pi = this.#prev[index];
-                this.#next[pi] = this.#next[index];
-                const ni = this.#next[index];
-                this.#prev[ni] = this.#prev[index];
-              }
-              this.#size--;
-              this.#free.push(index);
-            }
-          }
-        }
-        if (this.#hasDisposeAfter && this.#disposed?.length) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
-        }
-        return deleted;
-      }
-      /**
-       * Clear the cache entirely, throwing away all values.
-       */
-      clear() {
-        return this.#clear("delete");
-      }
-      #clear(reason) {
-        for (const index of this.#rindexes({ allowStale: true })) {
-          const v = this.#valList[index];
-          if (this.#isBackgroundFetch(v)) {
-            v.__abortController.abort(new Error("deleted"));
-          } else {
-            const k = this.#keyList[index];
-            if (this.#hasDispose) {
-              this.#dispose?.(v, k, reason);
-            }
-            if (this.#hasDisposeAfter) {
-              this.#disposed?.push([v, k, reason]);
-            }
-          }
-        }
-        this.#keyMap.clear();
-        this.#valList.fill(void 0);
-        this.#keyList.fill(void 0);
-        if (this.#ttls && this.#starts) {
-          this.#ttls.fill(0);
-          this.#starts.fill(0);
-        }
-        if (this.#sizes) {
-          this.#sizes.fill(0);
-        }
-        this.#head = 0;
-        this.#tail = 0;
-        this.#free.length = 0;
-        this.#calculatedSize = 0;
-        this.#size = 0;
-        if (this.#hasDisposeAfter && this.#disposed) {
-          const dt = this.#disposed;
-          let task;
-          while (task = dt?.shift()) {
-            this.#disposeAfter?.(...task);
-          }
-        }
-      }
-    };
-    exports2.LRUCache = LRUCache;
-  }
-});
-
-// node_modules/minipass/dist/commonjs/index.js
-var require_commonjs22 = __commonJS({
-  "node_modules/minipass/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
-      return mod && mod.__esModule ? mod : { "default": mod };
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
-    var proc = typeof process === "object" && process ? process : {
-      stdout: null,
-      stderr: null
-    };
-    var node_events_1 = require("node:events");
-    var node_stream_1 = __importDefault2(require("node:stream"));
-    var node_string_decoder_1 = require("node:string_decoder");
-    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
-    exports2.isStream = isStream;
-    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
-    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
-    exports2.isReadable = isReadable;
-    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
-    exports2.isWritable = isWritable;
-    var EOF2 = /* @__PURE__ */ Symbol("EOF");
-    var MAYBE_EMIT_END = /* @__PURE__ */ Symbol("maybeEmitEnd");
-    var EMITTED_END = /* @__PURE__ */ Symbol("emittedEnd");
-    var EMITTING_END = /* @__PURE__ */ Symbol("emittingEnd");
-    var EMITTED_ERROR = /* @__PURE__ */ Symbol("emittedError");
-    var CLOSED = /* @__PURE__ */ Symbol("closed");
-    var READ = /* @__PURE__ */ Symbol("read");
-    var FLUSH = /* @__PURE__ */ Symbol("flush");
-    var FLUSHCHUNK = /* @__PURE__ */ Symbol("flushChunk");
-    var ENCODING = /* @__PURE__ */ Symbol("encoding");
-    var DECODER = /* @__PURE__ */ Symbol("decoder");
-    var FLOWING = /* @__PURE__ */ Symbol("flowing");
-    var PAUSED = /* @__PURE__ */ Symbol("paused");
-    var RESUME = /* @__PURE__ */ Symbol("resume");
-    var BUFFER = /* @__PURE__ */ Symbol("buffer");
-    var PIPES = /* @__PURE__ */ Symbol("pipes");
-    var BUFFERLENGTH = /* @__PURE__ */ Symbol("bufferLength");
-    var BUFFERPUSH = /* @__PURE__ */ Symbol("bufferPush");
-    var BUFFERSHIFT = /* @__PURE__ */ Symbol("bufferShift");
-    var OBJECTMODE = /* @__PURE__ */ Symbol("objectMode");
-    var DESTROYED = /* @__PURE__ */ Symbol("destroyed");
-    var ERROR = /* @__PURE__ */ Symbol("error");
-    var EMITDATA = /* @__PURE__ */ Symbol("emitData");
-    var EMITEND = /* @__PURE__ */ Symbol("emitEnd");
-    var EMITEND2 = /* @__PURE__ */ Symbol("emitEnd2");
-    var ASYNC = /* @__PURE__ */ Symbol("async");
-    var ABORT = /* @__PURE__ */ Symbol("abort");
-    var ABORTED = /* @__PURE__ */ Symbol("aborted");
-    var SIGNAL = /* @__PURE__ */ Symbol("signal");
-    var DATALISTENERS = /* @__PURE__ */ Symbol("dataListeners");
-    var DISCARDED = /* @__PURE__ */ Symbol("discarded");
-    var defer = (fn) => Promise.resolve().then(fn);
-    var nodefer = (fn) => fn();
-    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
-    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
-    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
-    var Pipe = class {
-      src;
-      dest;
-      opts;
-      ondrain;
-      constructor(src, dest, opts) {
-        this.src = src;
-        this.dest = dest;
-        this.opts = opts;
-        this.ondrain = () => src[RESUME]();
-        this.dest.on("drain", this.ondrain);
-      }
-      unpipe() {
-        this.dest.removeListener("drain", this.ondrain);
-      }
-      // only here for the prototype
-      /* c8 ignore start */
-      proxyErrors(_er) {
-      }
-      /* c8 ignore stop */
-      end() {
-        this.unpipe();
-        if (this.opts.end)
-          this.dest.end();
-      }
-    };
-    var PipeProxyErrors = class extends Pipe {
-      unpipe() {
-        this.src.removeListener("error", this.proxyErrors);
-        super.unpipe();
-      }
-      constructor(src, dest, opts) {
-        super(src, dest, opts);
-        this.proxyErrors = (er) => dest.emit("error", er);
-        src.on("error", this.proxyErrors);
-      }
-    };
-    var isObjectModeOptions = (o) => !!o.objectMode;
-    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
-    var Minipass = class extends node_events_1.EventEmitter {
-      [FLOWING] = false;
-      [PAUSED] = false;
-      [PIPES] = [];
-      [BUFFER] = [];
-      [OBJECTMODE];
-      [ENCODING];
-      [ASYNC];
-      [DECODER];
-      [EOF2] = false;
-      [EMITTED_END] = false;
-      [EMITTING_END] = false;
-      [CLOSED] = false;
-      [EMITTED_ERROR] = null;
-      [BUFFERLENGTH] = 0;
-      [DESTROYED] = false;
-      [SIGNAL];
-      [ABORTED] = false;
-      [DATALISTENERS] = 0;
-      [DISCARDED] = false;
-      /**
-       * true if the stream can be written
-       */
-      writable = true;
-      /**
-       * true if the stream can be read
-       */
-      readable = true;
-      /**
-       * If `RType` is Buffer, then options do not need to be provided.
-       * Otherwise, an options object must be provided to specify either
-       * {@link Minipass.SharedOptions.objectMode} or
-       * {@link Minipass.SharedOptions.encoding}, as appropriate.
-       */
-      constructor(...args) {
-        const options = args[0] || {};
-        super();
-        if (options.objectMode && typeof options.encoding === "string") {
-          throw new TypeError("Encoding and objectMode may not be used together");
-        }
-        if (isObjectModeOptions(options)) {
-          this[OBJECTMODE] = true;
-          this[ENCODING] = null;
-        } else if (isEncodingOptions(options)) {
-          this[ENCODING] = options.encoding;
-          this[OBJECTMODE] = false;
-        } else {
-          this[OBJECTMODE] = false;
-          this[ENCODING] = null;
-        }
-        this[ASYNC] = !!options.async;
-        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
-        if (options && options.debugExposeBuffer === true) {
-          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
-        }
-        if (options && options.debugExposePipes === true) {
-          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
-        }
-        const { signal } = options;
-        if (signal) {
-          this[SIGNAL] = signal;
-          if (signal.aborted) {
-            this[ABORT]();
-          } else {
-            signal.addEventListener("abort", () => this[ABORT]());
-          }
-        }
-      }
-      /**
-       * The amount of data stored in the buffer waiting to be read.
-       *
-       * For Buffer strings, this will be the total byte length.
-       * For string encoding streams, this will be the string character length,
-       * according to JavaScript's `string.length` logic.
-       * For objectMode streams, this is a count of the items waiting to be
-       * emitted.
-       */
-      get bufferLength() {
-        return this[BUFFERLENGTH];
-      }
-      /**
-       * The `BufferEncoding` currently in use, or `null`
-       */
-      get encoding() {
-        return this[ENCODING];
-      }
-      /**
-       * @deprecated - This is a read only property
-       */
-      set encoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * @deprecated - Encoding may only be set at instantiation time
-       */
-      setEncoding(_enc) {
-        throw new Error("Encoding must be set at instantiation time");
-      }
-      /**
-       * True if this is an objectMode stream
-       */
-      get objectMode() {
-        return this[OBJECTMODE];
-      }
-      /**
-       * @deprecated - This is a read-only property
-       */
-      set objectMode(_om) {
-        throw new Error("objectMode must be set at instantiation time");
-      }
-      /**
-       * true if this is an async stream
-       */
-      get ["async"]() {
-        return this[ASYNC];
-      }
-      /**
-       * Set to true to make this stream async.
-       *
-       * Once set, it cannot be unset, as this would potentially cause incorrect
-       * behavior.  Ie, a sync stream can be made async, but an async stream
-       * cannot be safely made sync.
-       */
-      set ["async"](a) {
-        this[ASYNC] = this[ASYNC] || !!a;
-      }
-      // drop everything and get out of the flow completely
-      [ABORT]() {
-        this[ABORTED] = true;
-        this.emit("abort", this[SIGNAL]?.reason);
-        this.destroy(this[SIGNAL]?.reason);
-      }
-      /**
-       * True if the stream has been aborted.
-       */
-      get aborted() {
-        return this[ABORTED];
-      }
-      /**
-       * No-op setter. Stream aborted status is set via the AbortSignal provided
-       * in the constructor options.
-       */
-      set aborted(_2) {
-      }
-      write(chunk, encoding, cb) {
-        if (this[ABORTED])
-          return false;
-        if (this[EOF2])
-          throw new Error("write after end");
-        if (this[DESTROYED]) {
-          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
-          return true;
-        }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
-        }
-        if (!encoding)
-          encoding = "utf8";
-        const fn = this[ASYNC] ? defer : nodefer;
-        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
-          if (isArrayBufferView(chunk)) {
-            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
-          } else if (isArrayBufferLike(chunk)) {
-            chunk = Buffer.from(chunk);
-          } else if (typeof chunk !== "string") {
-            throw new Error("Non-contiguous data written to non-objectMode stream");
-          }
-        }
-        if (this[OBJECTMODE]) {
-          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-            this[FLUSH](true);
-          if (this[FLOWING])
-            this.emit("data", chunk);
-          else
-            this[BUFFERPUSH](chunk);
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (!chunk.length) {
-          if (this[BUFFERLENGTH] !== 0)
-            this.emit("readable");
-          if (cb)
-            fn(cb);
-          return this[FLOWING];
-        }
-        if (typeof chunk === "string" && // unless it is a string already ready for us to use
-        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
-          chunk = Buffer.from(chunk, encoding);
-        }
-        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
-          chunk = this[DECODER].write(chunk);
-        }
-        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
-          this[FLUSH](true);
-        if (this[FLOWING])
-          this.emit("data", chunk);
-        else
-          this[BUFFERPUSH](chunk);
-        if (this[BUFFERLENGTH] !== 0)
-          this.emit("readable");
-        if (cb)
-          fn(cb);
-        return this[FLOWING];
-      }
-      /**
-       * Low-level explicit read method.
-       *
-       * In objectMode, the argument is ignored, and one item is returned if
-       * available.
-       *
-       * `n` is the number of bytes (or in the case of encoding streams,
-       * characters) to consume. If `n` is not provided, then the entire buffer
-       * is returned, or `null` is returned if no data is available.
-       *
-       * If `n` is greater that the amount of data in the internal buffer,
-       * then `null` is returned.
-       */
-      read(n) {
-        if (this[DESTROYED])
-          return null;
-        this[DISCARDED] = false;
-        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
-          this[MAYBE_EMIT_END]();
-          return null;
-        }
-        if (this[OBJECTMODE])
-          n = null;
-        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
-          this[BUFFER] = [
-            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
-          ];
-        }
-        const ret = this[READ](n || null, this[BUFFER][0]);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [READ](n, chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERSHIFT]();
-        else {
-          const c = chunk;
-          if (n === c.length || n === null)
-            this[BUFFERSHIFT]();
-          else if (typeof c === "string") {
-            this[BUFFER][0] = c.slice(n);
-            chunk = c.slice(0, n);
-            this[BUFFERLENGTH] -= n;
-          } else {
-            this[BUFFER][0] = c.subarray(n);
-            chunk = c.subarray(0, n);
-            this[BUFFERLENGTH] -= n;
-          }
-        }
-        this.emit("data", chunk);
-        if (!this[BUFFER].length && !this[EOF2])
-          this.emit("drain");
-        return chunk;
-      }
-      end(chunk, encoding, cb) {
-        if (typeof chunk === "function") {
-          cb = chunk;
-          chunk = void 0;
-        }
-        if (typeof encoding === "function") {
-          cb = encoding;
-          encoding = "utf8";
-        }
-        if (chunk !== void 0)
-          this.write(chunk, encoding);
-        if (cb)
-          this.once("end", cb);
-        this[EOF2] = true;
-        this.writable = false;
-        if (this[FLOWING] || !this[PAUSED])
-          this[MAYBE_EMIT_END]();
-        return this;
-      }
-      // don't let the internal resume be overwritten
-      [RESUME]() {
-        if (this[DESTROYED])
-          return;
-        if (!this[DATALISTENERS] && !this[PIPES].length) {
-          this[DISCARDED] = true;
-        }
-        this[PAUSED] = false;
-        this[FLOWING] = true;
-        this.emit("resume");
-        if (this[BUFFER].length)
-          this[FLUSH]();
-        else if (this[EOF2])
-          this[MAYBE_EMIT_END]();
-        else
-          this.emit("drain");
-      }
-      /**
-       * Resume the stream if it is currently in a paused state
-       *
-       * If called when there are no pipe destinations or `data` event listeners,
-       * this will place the stream in a "discarded" state, where all data will
-       * be thrown away. The discarded state is removed if a pipe destination or
-       * data handler is added, if pause() is called, or if any synchronous or
-       * asynchronous iteration is started.
-       */
-      resume() {
-        return this[RESUME]();
-      }
-      /**
-       * Pause the stream
-       */
-      pause() {
-        this[FLOWING] = false;
-        this[PAUSED] = true;
-        this[DISCARDED] = false;
-      }
-      /**
-       * true if the stream has been forcibly destroyed
-       */
-      get destroyed() {
-        return this[DESTROYED];
-      }
-      /**
-       * true if the stream is currently in a flowing state, meaning that
-       * any writes will be immediately emitted.
-       */
-      get flowing() {
-        return this[FLOWING];
-      }
-      /**
-       * true if the stream is currently in a paused state
-       */
-      get paused() {
-        return this[PAUSED];
-      }
-      [BUFFERPUSH](chunk) {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] += 1;
-        else
-          this[BUFFERLENGTH] += chunk.length;
-        this[BUFFER].push(chunk);
-      }
-      [BUFFERSHIFT]() {
-        if (this[OBJECTMODE])
-          this[BUFFERLENGTH] -= 1;
-        else
-          this[BUFFERLENGTH] -= this[BUFFER][0].length;
-        return this[BUFFER].shift();
-      }
-      [FLUSH](noDrain = false) {
-        do {
-        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
-        if (!noDrain && !this[BUFFER].length && !this[EOF2])
-          this.emit("drain");
-      }
-      [FLUSHCHUNK](chunk) {
-        this.emit("data", chunk);
-        return this[FLOWING];
-      }
-      /**
-       * Pipe all data emitted by this stream into the destination provided.
-       *
-       * Triggers the flow of data.
-       */
-      pipe(dest, opts) {
-        if (this[DESTROYED])
-          return dest;
-        this[DISCARDED] = false;
-        const ended = this[EMITTED_END];
-        opts = opts || {};
-        if (dest === proc.stdout || dest === proc.stderr)
-          opts.end = false;
-        else
-          opts.end = opts.end !== false;
-        opts.proxyErrors = !!opts.proxyErrors;
-        if (ended) {
-          if (opts.end)
-            dest.end();
-        } else {
-          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
-          if (this[ASYNC])
-            defer(() => this[RESUME]());
-          else
-            this[RESUME]();
-        }
-        return dest;
-      }
-      /**
-       * Fully unhook a piped destination stream.
-       *
-       * If the destination stream was the only consumer of this stream (ie,
-       * there are no other piped destinations or `'data'` event listeners)
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      unpipe(dest) {
-        const p = this[PIPES].find((p2) => p2.dest === dest);
-        if (p) {
-          if (this[PIPES].length === 1) {
-            if (this[FLOWING] && this[DATALISTENERS] === 0) {
-              this[FLOWING] = false;
-            }
-            this[PIPES] = [];
-          } else
-            this[PIPES].splice(this[PIPES].indexOf(p), 1);
-          p.unpipe();
-        }
-      }
-      /**
-       * Alias for {@link Minipass#on}
-       */
-      addListener(ev, handler2) {
-        return this.on(ev, handler2);
-      }
-      /**
-       * Mostly identical to `EventEmitter.on`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * - Adding a 'data' event handler will trigger the flow of data
-       *
-       * - Adding a 'readable' event handler when there is data waiting to be read
-       *   will cause 'readable' to be emitted immediately.
-       *
-       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
-       *   already passed will cause the event to be emitted immediately and all
-       *   handlers removed.
-       *
-       * - Adding an 'error' event handler after an error has been emitted will
-       *   cause the event to be re-emitted immediately with the error previously
-       *   raised.
-       */
-      on(ev, handler2) {
-        const ret = super.on(ev, handler2);
-        if (ev === "data") {
-          this[DISCARDED] = false;
-          this[DATALISTENERS]++;
-          if (!this[PIPES].length && !this[FLOWING]) {
-            this[RESUME]();
-          }
-        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
-          super.emit("readable");
-        } else if (isEndish(ev) && this[EMITTED_END]) {
-          super.emit(ev);
-          this.removeAllListeners(ev);
-        } else if (ev === "error" && this[EMITTED_ERROR]) {
-          const h = handler2;
-          if (this[ASYNC])
-            defer(() => h.call(this, this[EMITTED_ERROR]));
-          else
-            h.call(this, this[EMITTED_ERROR]);
-        }
-        return ret;
-      }
-      /**
-       * Alias for {@link Minipass#off}
-       */
-      removeListener(ev, handler2) {
-        return this.off(ev, handler2);
-      }
-      /**
-       * Mostly identical to `EventEmitter.off`
-       *
-       * If a 'data' event handler is removed, and it was the last consumer
-       * (ie, there are no pipe destinations or other 'data' event listeners),
-       * then the flow of data will stop until there is another consumer or
-       * {@link Minipass#resume} is explicitly called.
-       */
-      off(ev, handler2) {
-        const ret = super.off(ev, handler2);
-        if (ev === "data") {
-          this[DATALISTENERS] = this.listeners("data").length;
-          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
-        }
-        return ret;
-      }
-      /**
-       * Mostly identical to `EventEmitter.removeAllListeners`
-       *
-       * If all 'data' event handlers are removed, and they were the last consumer
-       * (ie, there are no pipe destinations), then the flow of data will stop
-       * until there is another consumer or {@link Minipass#resume} is explicitly
-       * called.
-       */
-      removeAllListeners(ev) {
-        const ret = super.removeAllListeners(ev);
-        if (ev === "data" || ev === void 0) {
-          this[DATALISTENERS] = 0;
-          if (!this[DISCARDED] && !this[PIPES].length) {
-            this[FLOWING] = false;
-          }
-        }
-        return ret;
-      }
-      /**
-       * true if the 'end' event has been emitted
-       */
-      get emittedEnd() {
-        return this[EMITTED_END];
-      }
-      [MAYBE_EMIT_END]() {
-        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF2]) {
-          this[EMITTING_END] = true;
-          this.emit("end");
-          this.emit("prefinish");
-          this.emit("finish");
-          if (this[CLOSED])
-            this.emit("close");
-          this[EMITTING_END] = false;
-        }
-      }
-      /**
-       * Mostly identical to `EventEmitter.emit`, with the following
-       * behavior differences to prevent data loss and unnecessary hangs:
-       *
-       * If the stream has been destroyed, and the event is something other
-       * than 'close' or 'error', then `false` is returned and no handlers
-       * are called.
-       *
-       * If the event is 'end', and has already been emitted, then the event
-       * is ignored. If the stream is in a paused or non-flowing state, then
-       * the event will be deferred until data flow resumes. If the stream is
-       * async, then handlers will be called on the next tick rather than
-       * immediately.
-       *
-       * If the event is 'close', and 'end' has not yet been emitted, then
-       * the event will be deferred until after 'end' is emitted.
-       *
-       * If the event is 'error', and an AbortSignal was provided for the stream,
-       * and there are no listeners, then the event is ignored, matching the
-       * behavior of node core streams in the presense of an AbortSignal.
-       *
-       * If the event is 'finish' or 'prefinish', then all listeners will be
-       * removed after emitting the event, to prevent double-firing.
-       */
-      emit(ev, ...args) {
-        const data = args[0];
-        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
-          return false;
-        } else if (ev === "data") {
-          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
-        } else if (ev === "end") {
-          return this[EMITEND]();
-        } else if (ev === "close") {
-          this[CLOSED] = true;
-          if (!this[EMITTED_END] && !this[DESTROYED])
-            return false;
-          const ret2 = super.emit("close");
-          this.removeAllListeners("close");
-          return ret2;
-        } else if (ev === "error") {
-          this[EMITTED_ERROR] = data;
-          super.emit(ERROR, data);
-          const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "resume") {
-          const ret2 = super.emit("resume");
-          this[MAYBE_EMIT_END]();
-          return ret2;
-        } else if (ev === "finish" || ev === "prefinish") {
-          const ret2 = super.emit(ev);
-          this.removeAllListeners(ev);
-          return ret2;
-        }
-        const ret = super.emit(ev, ...args);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [EMITDATA](data) {
-        for (const p of this[PIPES]) {
-          if (p.dest.write(data) === false)
-            this.pause();
-        }
-        const ret = this[DISCARDED] ? false : super.emit("data", data);
-        this[MAYBE_EMIT_END]();
-        return ret;
-      }
-      [EMITEND]() {
-        if (this[EMITTED_END])
-          return false;
-        this[EMITTED_END] = true;
-        this.readable = false;
-        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
-      }
-      [EMITEND2]() {
-        if (this[DECODER]) {
-          const data = this[DECODER].end();
-          if (data) {
-            for (const p of this[PIPES]) {
-              p.dest.write(data);
-            }
-            if (!this[DISCARDED])
-              super.emit("data", data);
-          }
-        }
-        for (const p of this[PIPES]) {
-          p.end();
-        }
-        const ret = super.emit("end");
-        this.removeAllListeners("end");
-        return ret;
-      }
-      /**
-       * Return a Promise that resolves to an array of all emitted data once
-       * the stream ends.
-       */
-      async collect() {
-        const buf = Object.assign([], {
-          dataLength: 0
-        });
-        if (!this[OBJECTMODE])
-          buf.dataLength = 0;
-        const p = this.promise();
-        this.on("data", (c) => {
-          buf.push(c);
-          if (!this[OBJECTMODE])
-            buf.dataLength += c.length;
-        });
-        await p;
-        return buf;
-      }
-      /**
-       * Return a Promise that resolves to the concatenation of all emitted data
-       * once the stream ends.
-       *
-       * Not allowed on objectMode streams.
-       */
-      async concat() {
-        if (this[OBJECTMODE]) {
-          throw new Error("cannot concat in objectMode");
-        }
-        const buf = await this.collect();
-        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
-      }
-      /**
-       * Return a void Promise that resolves once the stream ends.
-       */
-      async promise() {
-        return new Promise((resolve13, reject) => {
-          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
-          this.on("error", (er) => reject(er));
-          this.on("end", () => resolve13());
-        });
-      }
-      /**
-       * Asynchronous `for await of` iteration.
-       *
-       * This will continue emitting all chunks until the stream terminates.
-       */
-      [Symbol.asyncIterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = async () => {
-          this.pause();
-          stopped = true;
-          return { value: void 0, done: true };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const res = this.read();
-          if (res !== null)
-            return Promise.resolve({ done: false, value: res });
-          if (this[EOF2])
-            return stop();
-          let resolve13;
-          let reject;
-          const onerr = (er) => {
-            this.off("data", ondata);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            reject(er);
-          };
-          const ondata = (value) => {
-            this.off("error", onerr);
-            this.off("end", onend);
-            this.off(DESTROYED, ondestroy);
-            this.pause();
-            resolve13({ value, done: !!this[EOF2] });
-          };
-          const onend = () => {
-            this.off("error", onerr);
-            this.off("data", ondata);
-            this.off(DESTROYED, ondestroy);
-            stop();
-            resolve13({ done: true, value: void 0 });
-          };
-          const ondestroy = () => onerr(new Error("stream destroyed"));
-          return new Promise((res2, rej) => {
-            reject = rej;
-            resolve13 = res2;
-            this.once(DESTROYED, ondestroy);
-            this.once("error", onerr);
-            this.once("end", onend);
-            this.once("data", ondata);
-          });
-        };
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.asyncIterator]() {
-            return this;
-          }
-        };
-      }
-      /**
-       * Synchronous `for of` iteration.
-       *
-       * The iteration will terminate when the internal buffer runs out, even
-       * if the stream has not yet terminated.
-       */
-      [Symbol.iterator]() {
-        this[DISCARDED] = false;
-        let stopped = false;
-        const stop = () => {
-          this.pause();
-          this.off(ERROR, stop);
-          this.off(DESTROYED, stop);
-          this.off("end", stop);
-          stopped = true;
-          return { done: true, value: void 0 };
-        };
-        const next = () => {
-          if (stopped)
-            return stop();
-          const value = this.read();
-          return value === null ? stop() : { done: false, value };
-        };
-        this.once("end", stop);
-        this.once(ERROR, stop);
-        this.once(DESTROYED, stop);
-        return {
-          next,
-          throw: stop,
-          return: stop,
-          [Symbol.iterator]() {
-            return this;
-          }
-        };
-      }
-      /**
-       * Destroy a stream, preventing it from being used for any further purpose.
-       *
-       * If the stream has a `close()` method, then it will be called on
-       * destruction.
-       *
-       * After destruction, any attempt to write data, read data, or emit most
-       * events will be ignored.
-       *
-       * If an error argument is provided, then it will be emitted in an
-       * 'error' event.
-       */
-      destroy(er) {
-        if (this[DESTROYED]) {
-          if (er)
-            this.emit("error", er);
-          else
-            this.emit(DESTROYED);
-          return this;
-        }
-        this[DESTROYED] = true;
-        this[DISCARDED] = true;
-        this[BUFFER].length = 0;
-        this[BUFFERLENGTH] = 0;
-        const wc = this;
-        if (typeof wc.close === "function" && !this[CLOSED])
-          wc.close();
-        if (er)
-          this.emit("error", er);
-        else
-          this.emit(DESTROYED);
-        return this;
-      }
-      /**
-       * Alias for {@link isStream}
-       *
-       * Former export location, maintained for backwards compatibility.
-       *
-       * @deprecated
-       */
-      static get isStream() {
-        return exports2.isStream;
-      }
-    };
-    exports2.Minipass = Minipass;
-  }
-});
-
-// node_modules/path-scurry/dist/commonjs/index.js
-var require_commonjs23 = __commonJS({
-  "node_modules/path-scurry/dist/commonjs/index.js"(exports2) {
-    "use strict";
-    var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      var desc = Object.getOwnPropertyDescriptor(m, k);
-      if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-        desc = { enumerable: true, get: function() {
-          return m[k];
-        } };
-      }
-      Object.defineProperty(o, k2, desc);
-    }) : (function(o, m, k, k2) {
-      if (k2 === void 0) k2 = k;
-      o[k2] = m[k];
-    }));
-    var __setModuleDefault2 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
-      Object.defineProperty(o, "default", { enumerable: true, value: v });
-    }) : function(o, v) {
-      o["default"] = v;
     });
-    var __importStar2 = exports2 && exports2.__importStar || function(mod) {
-      if (mod && mod.__esModule) return mod;
-      var result = {};
-      if (mod != null) {
-        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result, mod, k);
-      }
-      __setModuleDefault2(result, mod);
-      return result;
-    };
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.PathScurry = exports2.Path = exports2.PathScurryDarwin = exports2.PathScurryPosix = exports2.PathScurryWin32 = exports2.PathScurryBase = exports2.PathPosix = exports2.PathWin32 = exports2.PathBase = exports2.ChildrenCache = exports2.ResolveCache = void 0;
-    var lru_cache_1 = require_commonjs21();
-    var node_path_1 = require("node:path");
-    var node_url_1 = require("node:url");
-    var fs_1 = require("fs");
-    var actualFS = __importStar2(require("node:fs"));
-    var realpathSync = fs_1.realpathSync.native;
-    var promises_1 = require("node:fs/promises");
-    var minipass_1 = require_commonjs22();
-    var defaultFS = {
-      lstatSync: fs_1.lstatSync,
-      readdir: fs_1.readdir,
-      readdirSync: fs_1.readdirSync,
-      readlinkSync: fs_1.readlinkSync,
-      realpathSync,
-      promises: {
-        lstat: promises_1.lstat,
-        readdir: promises_1.readdir,
-        readlink: promises_1.readlink,
-        realpath: promises_1.realpath
-      }
-    };
-    var fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ? defaultFS : {
-      ...defaultFS,
-      ...fsOption,
-      promises: {
-        ...defaultFS.promises,
-        ...fsOption.promises || {}
-      }
-    };
-    var uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
-    var uncToDrive = (rootPath) => rootPath.replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-    var eitherSep = /[\\\/]/;
-    var UNKNOWN = 0;
-    var IFIFO = 1;
-    var IFCHR = 2;
-    var IFDIR = 4;
-    var IFBLK = 6;
-    var IFREG = 8;
-    var IFLNK = 10;
-    var IFSOCK = 12;
-    var IFMT = 15;
-    var IFMT_UNKNOWN = ~IFMT;
-    var READDIR_CALLED = 16;
-    var LSTAT_CALLED = 32;
-    var ENOTDIR = 64;
-    var ENOENT = 128;
-    var ENOREADLINK = 256;
-    var ENOREALPATH = 512;
-    var ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
-    var TYPEMASK = 1023;
-    var entToType = (s) => s.isFile() ? IFREG : s.isDirectory() ? IFDIR : s.isSymbolicLink() ? IFLNK : s.isCharacterDevice() ? IFCHR : s.isBlockDevice() ? IFBLK : s.isSocket() ? IFSOCK : s.isFIFO() ? IFIFO : UNKNOWN;
-    var normalizeCache = /* @__PURE__ */ new Map();
-    var normalize3 = (s) => {
-      const c = normalizeCache.get(s);
-      if (c)
-        return c;
-      const n = s.normalize("NFKD");
-      normalizeCache.set(s, n);
-      return n;
-    };
-    var normalizeNocaseCache = /* @__PURE__ */ new Map();
-    var normalizeNocase = (s) => {
-      const c = normalizeNocaseCache.get(s);
-      if (c)
-        return c;
-      const n = normalize3(s.toLowerCase());
-      normalizeNocaseCache.set(s, n);
-      return n;
-    };
-    var ResolveCache = class extends lru_cache_1.LRUCache {
-      constructor() {
-        super({ max: 256 });
-      }
-    };
-    exports2.ResolveCache = ResolveCache;
-    var ChildrenCache = class extends lru_cache_1.LRUCache {
-      constructor(maxSize = 16 * 1024) {
-        super({
-          maxSize,
-          // parent + children
-          sizeCalculation: (a) => a.length + 1
-        });
-      }
-    };
-    exports2.ChildrenCache = ChildrenCache;
-    var setAsCwd = /* @__PURE__ */ Symbol("PathScurry setAsCwd");
-    var PathBase = class {
-      /**
-       * the basename of this path
-       *
-       * **Important**: *always* test the path name against any test string
-       * usingthe {@link isNamed} method, and not by directly comparing this
-       * string. Otherwise, unicode path strings that the system sees as identical
-       * will not be properly treated as the same path, leading to incorrect
-       * behavior and possible security issues.
-       */
-      name;
-      /**
-       * the Path entry corresponding to the path root.
-       *
-       * @internal
-       */
-      root;
-      /**
-       * All roots found within the current PathScurry family
-       *
-       * @internal
-       */
-      roots;
-      /**
-       * a reference to the parent path, or undefined in the case of root entries
-       *
-       * @internal
-       */
-      parent;
-      /**
-       * boolean indicating whether paths are compared case-insensitively
-       * @internal
-       */
-      nocase;
-      /**
-       * boolean indicating that this path is the current working directory
-       * of the PathScurry collection that contains it.
-       */
-      isCWD = false;
-      // potential default fs override
-      #fs;
-      // Stats fields
-      #dev;
-      get dev() {
-        return this.#dev;
-      }
-      #mode;
-      get mode() {
-        return this.#mode;
-      }
-      #nlink;
-      get nlink() {
-        return this.#nlink;
-      }
-      #uid;
-      get uid() {
-        return this.#uid;
-      }
-      #gid;
-      get gid() {
-        return this.#gid;
-      }
-      #rdev;
-      get rdev() {
-        return this.#rdev;
-      }
-      #blksize;
-      get blksize() {
-        return this.#blksize;
-      }
-      #ino;
-      get ino() {
-        return this.#ino;
-      }
-      #size;
-      get size() {
-        return this.#size;
-      }
-      #blocks;
-      get blocks() {
-        return this.#blocks;
-      }
-      #atimeMs;
-      get atimeMs() {
-        return this.#atimeMs;
-      }
-      #mtimeMs;
-      get mtimeMs() {
-        return this.#mtimeMs;
-      }
-      #ctimeMs;
-      get ctimeMs() {
-        return this.#ctimeMs;
-      }
-      #birthtimeMs;
-      get birthtimeMs() {
-        return this.#birthtimeMs;
-      }
-      #atime;
-      get atime() {
-        return this.#atime;
-      }
-      #mtime;
-      get mtime() {
-        return this.#mtime;
-      }
-      #ctime;
-      get ctime() {
-        return this.#ctime;
-      }
-      #birthtime;
-      get birthtime() {
-        return this.#birthtime;
-      }
-      #matchName;
-      #depth;
-      #fullpath;
-      #fullpathPosix;
-      #relative;
-      #relativePosix;
-      #type;
-      #children;
-      #linkTarget;
-      #realpath;
-      /**
-       * This property is for compatibility with the Dirent class as of
-       * Node v20, where Dirent['parentPath'] refers to the path of the
-       * directory that was passed to readdir. For root entries, it's the path
-       * to the entry itself.
-       */
-      get parentPath() {
-        return (this.parent || this).fullpath();
-      }
-      /**
-       * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
-       * this property refers to the *parent* path, not the path object itself.
-       *
-       * @deprecated
-       */
-      get path() {
-        return this.parentPath;
-      }
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
-        this.name = name;
-        this.#matchName = nocase ? normalizeNocase(name) : normalize3(name);
-        this.#type = type & TYPEMASK;
-        this.nocase = nocase;
-        this.roots = roots;
-        this.root = root || this;
-        this.#children = children;
-        this.#fullpath = opts.fullpath;
-        this.#relative = opts.relative;
-        this.#relativePosix = opts.relativePosix;
-        this.parent = opts.parent;
-        if (this.parent) {
-          this.#fs = this.parent.#fs;
-        } else {
-          this.#fs = fsFromOption(opts.fs);
-        }
-      }
-      /**
-       * Returns the depth of the Path object from its root.
-       *
-       * For example, a path at `/foo/bar` would have a depth of 2.
-       */
-      depth() {
-        if (this.#depth !== void 0)
-          return this.#depth;
-        if (!this.parent)
-          return this.#depth = 0;
-        return this.#depth = this.parent.depth() + 1;
-      }
-      /**
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
-      }
-      /**
-       * Get the Path object referenced by the string path, resolved from this Path
-       */
-      resolve(path29) {
-        if (!path29) {
-          return this;
-        }
-        const rootPath = this.getRootString(path29);
-        const dir = path29.substring(rootPath.length);
-        const dirParts = dir.split(this.splitSep);
-        const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
-        return result;
-      }
-      #resolveParts(dirParts) {
-        let p = this;
-        for (const part of dirParts) {
-          p = p.child(part);
-        }
-        return p;
-      }
-      /**
-       * Returns the cached children Path objects, if still available.  If they
-       * have fallen out of the cache, then returns an empty array, and resets the
-       * READDIR_CALLED bit, so that future calls to readdir() will require an fs
-       * lookup.
-       *
-       * @internal
-       */
-      children() {
-        const cached = this.#children.get(this);
-        if (cached) {
-          return cached;
-        }
-        const children = Object.assign([], { provisional: 0 });
-        this.#children.set(this, children);
-        this.#type &= ~READDIR_CALLED;
-        return children;
-      }
-      /**
-       * Resolves a path portion and returns or creates the child Path.
-       *
-       * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
-       * `'..'`.
-       *
-       * This should not be called directly.  If `pathPart` contains any path
-       * separators, it will lead to unsafe undefined behavior.
-       *
-       * Use `Path.resolve()` instead.
-       *
-       * @internal
-       */
-      child(pathPart, opts) {
-        if (pathPart === "" || pathPart === ".") {
-          return this;
-        }
-        if (pathPart === "..") {
-          return this.parent || this;
-        }
-        const children = this.children();
-        const name = this.nocase ? normalizeNocase(pathPart) : normalize3(pathPart);
-        for (const p of children) {
-          if (p.#matchName === name) {
-            return p;
-          }
-        }
-        const s = this.parent ? this.sep : "";
-        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : void 0;
-        const pchild = this.newChild(pathPart, UNKNOWN, {
-          ...opts,
-          parent: this,
-          fullpath
-        });
-        if (!this.canReaddir()) {
-          pchild.#type |= ENOENT;
-        }
-        children.push(pchild);
-        return pchild;
-      }
-      /**
-       * The relative path from the cwd. If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpath()
-       */
-      relative() {
-        if (this.isCWD)
-          return "";
-        if (this.#relative !== void 0) {
-          return this.#relative;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relative = this.name;
-        }
-        const pv = p.relative();
-        return pv + (!pv || !p.parent ? "" : this.sep) + name;
-      }
-      /**
-       * The relative path from the cwd, using / as the path separator.
-       * If it does not share an ancestor with
-       * the cwd, then this ends up being equivalent to the fullpathPosix()
-       * On posix systems, this is identical to relative().
-       */
-      relativePosix() {
-        if (this.sep === "/")
-          return this.relative();
-        if (this.isCWD)
-          return "";
-        if (this.#relativePosix !== void 0)
-          return this.#relativePosix;
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#relativePosix = this.fullpathPosix();
-        }
-        const pv = p.relativePosix();
-        return pv + (!pv || !p.parent ? "" : "/") + name;
-      }
-      /**
-       * The fully resolved path string for this Path entry
-       */
-      fullpath() {
-        if (this.#fullpath !== void 0) {
-          return this.#fullpath;
-        }
-        const name = this.name;
-        const p = this.parent;
-        if (!p) {
-          return this.#fullpath = this.name;
-        }
-        const pv = p.fullpath();
-        const fp = pv + (!p.parent ? "" : this.sep) + name;
-        return this.#fullpath = fp;
-      }
-      /**
-       * On platforms other than windows, this is identical to fullpath.
-       *
-       * On windows, this is overridden to return the forward-slash form of the
-       * full UNC path.
-       */
-      fullpathPosix() {
-        if (this.#fullpathPosix !== void 0)
-          return this.#fullpathPosix;
-        if (this.sep === "/")
-          return this.#fullpathPosix = this.fullpath();
-        if (!this.parent) {
-          const p2 = this.fullpath().replace(/\\/g, "/");
-          if (/^[a-z]:\//i.test(p2)) {
-            return this.#fullpathPosix = `//?/${p2}`;
-          } else {
-            return this.#fullpathPosix = p2;
-          }
-        }
-        const p = this.parent;
-        const pfpp = p.fullpathPosix();
-        const fpp = pfpp + (!pfpp || !p.parent ? "" : "/") + this.name;
-        return this.#fullpathPosix = fpp;
-      }
-      /**
-       * Is the Path of an unknown type?
-       *
-       * Note that we might know *something* about it if there has been a previous
-       * filesystem operation, for example that it does not exist, or is not a
-       * link, or whether it has child entries.
-       */
-      isUnknown() {
-        return (this.#type & IFMT) === UNKNOWN;
-      }
-      isType(type) {
-        return this[`is${type}`]();
-      }
-      getType() {
-        return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : (
-          /* c8 ignore start */
-          this.isSocket() ? "Socket" : "Unknown"
-        );
-      }
-      /**
-       * Is the Path a regular file?
-       */
-      isFile() {
-        return (this.#type & IFMT) === IFREG;
-      }
-      /**
-       * Is the Path a directory?
-       */
-      isDirectory() {
-        return (this.#type & IFMT) === IFDIR;
-      }
-      /**
-       * Is the path a character device?
-       */
-      isCharacterDevice() {
-        return (this.#type & IFMT) === IFCHR;
-      }
-      /**
-       * Is the path a block device?
-       */
-      isBlockDevice() {
-        return (this.#type & IFMT) === IFBLK;
-      }
-      /**
-       * Is the path a FIFO pipe?
-       */
-      isFIFO() {
-        return (this.#type & IFMT) === IFIFO;
-      }
-      /**
-       * Is the path a socket?
-       */
-      isSocket() {
-        return (this.#type & IFMT) === IFSOCK;
-      }
-      /**
-       * Is the path a symbolic link?
-       */
-      isSymbolicLink() {
-        return (this.#type & IFLNK) === IFLNK;
-      }
-      /**
-       * Return the entry if it has been subject of a successful lstat, or
-       * undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* simply
-       * mean that we haven't called lstat on it.
-       */
-      lstatCached() {
-        return this.#type & LSTAT_CALLED ? this : void 0;
-      }
-      /**
-       * Return the cached link target if the entry has been the subject of a
-       * successful readlink, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readlink() has been called at some point.
-       */
-      readlinkCached() {
-        return this.#linkTarget;
-      }
-      /**
-       * Returns the cached realpath target if the entry has been the subject
-       * of a successful realpath, or undefined otherwise.
-       *
-       * Does not read the filesystem, so an undefined result *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * realpath() has been called at some point.
-       */
-      realpathCached() {
-        return this.#realpath;
-      }
-      /**
-       * Returns the cached child Path entries array if the entry has been the
-       * subject of a successful readdir(), or [] otherwise.
-       *
-       * Does not read the filesystem, so an empty array *could* just mean we
-       * don't have any cached data. Only use it if you are very sure that a
-       * readdir() has been called recently enough to still be valid.
-       */
-      readdirCached() {
-        const children = this.children();
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
-       * any indication that readlink will definitely fail.
-       *
-       * Returns false if the path is known to not be a symlink, if a previous
-       * readlink failed, or if the entry does not exist.
-       */
-      canReadlink() {
-        if (this.#linkTarget)
-          return true;
-        if (!this.parent)
-          return false;
-        const ifmt = this.#type & IFMT;
-        return !(ifmt !== UNKNOWN && ifmt !== IFLNK || this.#type & ENOREADLINK || this.#type & ENOENT);
-      }
-      /**
-       * Return true if readdir has previously been successfully called on this
-       * path, indicating that cachedReaddir() is likely valid.
-       */
-      calledReaddir() {
-        return !!(this.#type & READDIR_CALLED);
-      }
-      /**
-       * Returns true if the path is known to not exist. That is, a previous lstat
-       * or readdir failed to verify its existence when that would have been
-       * expected, or a parent entry was marked either enoent or enotdir.
-       */
-      isENOENT() {
-        return !!(this.#type & ENOENT);
-      }
-      /**
-       * Return true if the path is a match for the given path name.  This handles
-       * case sensitivity and unicode normalization.
-       *
-       * Note: even on case-sensitive systems, it is **not** safe to test the
-       * equality of the `.name` property to determine whether a given pathname
-       * matches, due to unicode normalization mismatches.
-       *
-       * Always use this method instead of testing the `path.name` property
-       * directly.
-       */
-      isNamed(n) {
-        return !this.nocase ? this.#matchName === normalize3(n) : this.#matchName === normalizeNocase(n);
-      }
-      /**
-       * Return the Path object corresponding to the target of a symbolic link.
-       *
-       * If the Path is not a symbolic link, or if the readlink call fails for any
-       * reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       */
-      async readlink() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
-        }
-        if (!this.canReadlink()) {
-          return void 0;
-        }
-        if (!this.parent) {
-          return void 0;
-        }
-        try {
-          const read = await this.#fs.promises.readlink(this.fullpath());
-          const linkTarget = (await this.parent.realpath())?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
-          }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
-        }
-      }
-      /**
-       * Synchronous {@link PathBase.readlink}
-       */
-      readlinkSync() {
-        const target = this.#linkTarget;
-        if (target) {
-          return target;
-        }
-        if (!this.canReadlink()) {
-          return void 0;
-        }
-        if (!this.parent) {
-          return void 0;
-        }
-        try {
-          const read = this.#fs.readlinkSync(this.fullpath());
-          const linkTarget = this.parent.realpathSync()?.resolve(read);
-          if (linkTarget) {
-            return this.#linkTarget = linkTarget;
-          }
-        } catch (er) {
-          this.#readlinkFail(er.code);
-          return void 0;
-        }
-      }
-      #readdirSuccess(children) {
-        this.#type |= READDIR_CALLED;
-        for (let p = children.provisional; p < children.length; p++) {
-          const c = children[p];
-          if (c)
-            c.#markENOENT();
-        }
-      }
-      #markENOENT() {
-        if (this.#type & ENOENT)
-          return;
-        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
-        this.#markChildrenENOENT();
-      }
-      #markChildrenENOENT() {
-        const children = this.children();
-        children.provisional = 0;
-        for (const p of children) {
-          p.#markENOENT();
-        }
-      }
-      #markENOREALPATH() {
-        this.#type |= ENOREALPATH;
-        this.#markENOTDIR();
-      }
-      // save the information when we know the entry is not a dir
-      #markENOTDIR() {
-        if (this.#type & ENOTDIR)
-          return;
-        let t = this.#type;
-        if ((t & IFMT) === IFDIR)
-          t &= IFMT_UNKNOWN;
-        this.#type = t | ENOTDIR;
-        this.#markChildrenENOENT();
-      }
-      #readdirFail(code = "") {
-        if (code === "ENOTDIR" || code === "EPERM") {
-          this.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        } else {
-          this.children().provisional = 0;
-        }
-      }
-      #lstatFail(code = "") {
-        if (code === "ENOTDIR") {
-          const p = this.parent;
-          p.#markENOTDIR();
-        } else if (code === "ENOENT") {
-          this.#markENOENT();
-        }
-      }
-      #readlinkFail(code = "") {
-        let ter = this.#type;
-        ter |= ENOREADLINK;
-        if (code === "ENOENT")
-          ter |= ENOENT;
-        if (code === "EINVAL" || code === "UNKNOWN") {
-          ter &= IFMT_UNKNOWN;
-        }
-        this.#type = ter;
-        if (code === "ENOTDIR" && this.parent) {
-          this.parent.#markENOTDIR();
-        }
-      }
-      #readdirAddChild(e, c) {
-        return this.#readdirMaybePromoteChild(e, c) || this.#readdirAddNewChild(e, c);
-      }
-      #readdirAddNewChild(e, c) {
-        const type = entToType(e);
-        const child = this.newChild(e.name, type, { parent: this });
-        const ifmt = child.#type & IFMT;
-        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
-          child.#type |= ENOTDIR;
-        }
-        c.unshift(child);
-        c.provisional++;
-        return child;
-      }
-      #readdirMaybePromoteChild(e, c) {
-        for (let p = c.provisional; p < c.length; p++) {
-          const pchild = c[p];
-          const name = this.nocase ? normalizeNocase(e.name) : normalize3(e.name);
-          if (name !== pchild.#matchName) {
+    var Xe = R((Ct) => {
+      "use strict";
+      Object.defineProperty(Ct, "__esModule", { value: true });
+      Ct.assertValidPattern = void 0;
+      var hi = 1024 * 64, oi = (n) => {
+        if (typeof n != "string") throw new TypeError("invalid pattern");
+        if (n.length > hi) throw new TypeError("pattern is too long");
+      };
+      Ct.assertValidPattern = oi;
+    });
+    var Je = R((Rt) => {
+      "use strict";
+      Object.defineProperty(Rt, "__esModule", { value: true });
+      Rt.parseClass = void 0;
+      var ai = { "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true], "[:alpha:]": ["\\p{L}\\p{Nl}", true], "[:ascii:]": ["\\x00-\\x7f", false], "[:blank:]": ["\\p{Zs}\\t", true], "[:cntrl:]": ["\\p{Cc}", true], "[:digit:]": ["\\p{Nd}", true], "[:graph:]": ["\\p{Z}\\p{C}", true, true], "[:lower:]": ["\\p{Ll}", true], "[:print:]": ["\\p{C}", true], "[:punct:]": ["\\p{P}", true], "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true], "[:upper:]": ["\\p{Lu}", true], "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true], "[:xdigit:]": ["A-Fa-f0-9", false] }, ot = (n) => n.replace(/[[\]\\-]/g, "\\$&"), li = (n) => n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), Ye = (n) => n.join(""), ci = (n, t) => {
+        let e = t;
+        if (n.charAt(e) !== "[") throw new Error("not in a brace expression");
+        let s = [], i = [], r = e + 1, h = false, o = false, a = false, l = false, f = e, c = "";
+        t: for (; r < n.length; ) {
+          let p = n.charAt(r);
+          if ((p === "!" || p === "^") && r === e + 1) {
+            l = true, r++;
             continue;
           }
-          return this.#readdirPromoteChild(e, pchild, p, c);
-        }
-      }
-      #readdirPromoteChild(e, p, index, c) {
-        const v = p.name;
-        p.#type = p.#type & IFMT_UNKNOWN | entToType(e);
-        if (v !== e.name)
-          p.name = e.name;
-        if (index !== c.provisional) {
-          if (index === c.length - 1)
-            c.pop();
-          else
-            c.splice(index, 1);
-          c.unshift(p);
-        }
-        c.provisional++;
-        return p;
-      }
-      /**
-       * Call lstat() on this Path, and update all known information that can be
-       * determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
+          if (p === "]" && h && !a) {
+            f = r + 1;
+            break;
           }
-        }
-      }
-      /**
-       * synchronous {@link PathBase.lstat}
-       */
-      lstatSync() {
-        if ((this.#type & ENOENT) === 0) {
-          try {
-            this.#applyStat(this.#fs.lstatSync(this.fullpath()));
-            return this;
-          } catch (er) {
-            this.#lstatFail(er.code);
+          if (h = true, p === "\\" && !a) {
+            a = true, r++;
+            continue;
           }
-        }
-      }
-      #applyStat(st) {
-        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid } = st;
-        this.#atime = atime;
-        this.#atimeMs = atimeMs;
-        this.#birthtime = birthtime;
-        this.#birthtimeMs = birthtimeMs;
-        this.#blksize = blksize;
-        this.#blocks = blocks;
-        this.#ctime = ctime;
-        this.#ctimeMs = ctimeMs;
-        this.#dev = dev;
-        this.#gid = gid;
-        this.#ino = ino;
-        this.#mode = mode;
-        this.#mtime = mtime;
-        this.#mtimeMs = mtimeMs;
-        this.#nlink = nlink;
-        this.#rdev = rdev;
-        this.#size = size;
-        this.#uid = uid;
-        const ifmt = entToType(st);
-        this.#type = this.#type & IFMT_UNKNOWN | ifmt | LSTAT_CALLED;
-        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
-          this.#type |= ENOTDIR;
-        }
-      }
-      #onReaddirCB = [];
-      #readdirCBInFlight = false;
-      #callOnReaddirCB(children) {
-        this.#readdirCBInFlight = false;
-        const cbs = this.#onReaddirCB.slice();
-        this.#onReaddirCB.length = 0;
-        cbs.forEach((cb) => cb(null, children));
-      }
-      /**
-       * Standard node-style callback interface to get list of directory entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       *
-       * @param cb The callback called with (er, entries).  Note that the `er`
-       * param is somewhat extraneous, as all readdir() errors are handled and
-       * simply result in an empty set of entries being returned.
-       * @param allowZalgo Boolean indicating that immediately known results should
-       * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
-       * zalgo at your peril, the dark pony lord is devious and unforgiving.
-       */
-      readdirCB(cb, allowZalgo = false) {
-        if (!this.canReaddir()) {
-          if (allowZalgo)
-            cb(null, []);
-          else
-            queueMicrotask(() => cb(null, []));
-          return;
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          const c = children.slice(0, children.provisional);
-          if (allowZalgo)
-            cb(null, c);
-          else
-            queueMicrotask(() => cb(null, c));
-          return;
-        }
-        this.#onReaddirCB.push(cb);
-        if (this.#readdirCBInFlight) {
-          return;
-        }
-        this.#readdirCBInFlight = true;
-        const fullpath = this.fullpath();
-        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
-          if (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
-          } else {
-            for (const e of entries) {
-              this.#readdirAddChild(e, children);
+          if (p === "[" && !a) {
+            for (let [b, [w, v, E]] of Object.entries(ai)) if (n.startsWith(b, r)) {
+              if (c) return ["$.", false, n.length - e, true];
+              r += b.length, E ? i.push(w) : s.push(w), o = o || v;
+              continue t;
             }
-            this.#readdirSuccess(children);
           }
-          this.#callOnReaddirCB(children.slice(0, children.provisional));
-          return;
-        });
+          if (a = false, c) {
+            p > c ? s.push(ot(c) + "-" + ot(p)) : p === c && s.push(ot(p)), c = "", r++;
+            continue;
+          }
+          if (n.startsWith("-]", r + 1)) {
+            s.push(ot(p + "-")), r += 2;
+            continue;
+          }
+          if (n.startsWith("-", r + 1)) {
+            c = p, r += 2;
+            continue;
+          }
+          s.push(ot(p)), r++;
+        }
+        if (f < r) return ["", false, 0, false];
+        if (!s.length && !i.length) return ["$.", false, n.length - e, true];
+        if (i.length === 0 && s.length === 1 && /^\\?.$/.test(s[0]) && !l) {
+          let p = s[0].length === 2 ? s[0].slice(-1) : s[0];
+          return [li(p), false, f - e, false];
+        }
+        let d = "[" + (l ? "^" : "") + Ye(s) + "]", u = "[" + (l ? "" : "^") + Ye(i) + "]";
+        return [s.length && i.length ? "(" + d + "|" + u + ")" : s.length ? d : u, o, f - e, true];
+      };
+      Rt.parseClass = ci;
+    });
+    var kt = R((At) => {
+      "use strict";
+      Object.defineProperty(At, "__esModule", { value: true });
+      At.unescape = void 0;
+      var ui = (n, { windowsPathsNoEscape: t = false, magicalBraces: e = true } = {}) => e ? t ? n.replace(/\[([^\/\\])\]/g, "$1") : n.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1") : t ? n.replace(/\[([^\/\\{}])\]/g, "$1") : n.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
+      At.unescape = ui;
+    });
+    var pe = R((Dt) => {
+      "use strict";
+      Object.defineProperty(Dt, "__esModule", { value: true });
+      Dt.AST = void 0;
+      var fi = Je(), Mt = kt(), di = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]), Ze = (n) => di.has(n), pi = "(?!(?:^|/)\\.\\.?(?:$|/))", Pt = "(?!\\.)", mi = /* @__PURE__ */ new Set(["[", "."]), gi = /* @__PURE__ */ new Set(["..", "."]), wi = new Set("().*{}+?[]^$\\!"), bi = (n) => n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), de = "[^/]", Qe = de + "*?", ts = de + "+?", fe = class n {
+        type;
+        #t;
+        #s;
+        #n = false;
+        #r = [];
+        #h;
+        #S;
+        #w;
+        #c = false;
+        #o;
+        #f;
+        #u = false;
+        constructor(t, e, s = {}) {
+          this.type = t, t && (this.#s = true), this.#h = e, this.#t = this.#h ? this.#h.#t : this, this.#o = this.#t === this ? s : this.#t.#o, this.#w = this.#t === this ? [] : this.#t.#w, t === "!" && !this.#t.#c && this.#w.push(this), this.#S = this.#h ? this.#h.#r.length : 0;
+        }
+        get hasMagic() {
+          if (this.#s !== void 0) return this.#s;
+          for (let t of this.#r) if (typeof t != "string" && (t.type || t.hasMagic)) return this.#s = true;
+          return this.#s;
+        }
+        toString() {
+          return this.#f !== void 0 ? this.#f : this.type ? this.#f = this.type + "(" + this.#r.map((t) => String(t)).join("|") + ")" : this.#f = this.#r.map((t) => String(t)).join("");
+        }
+        #a() {
+          if (this !== this.#t) throw new Error("should only call on root");
+          if (this.#c) return this;
+          this.toString(), this.#c = true;
+          let t;
+          for (; t = this.#w.pop(); ) {
+            if (t.type !== "!") continue;
+            let e = t, s = e.#h;
+            for (; s; ) {
+              for (let i = e.#S + 1; !s.type && i < s.#r.length; i++) for (let r of t.#r) {
+                if (typeof r == "string") throw new Error("string part in extglob AST??");
+                r.copyIn(s.#r[i]);
+              }
+              e = s, s = e.#h;
+            }
+          }
+          return this;
+        }
+        push(...t) {
+          for (let e of t) if (e !== "") {
+            if (typeof e != "string" && !(e instanceof n && e.#h === this)) throw new Error("invalid part: " + e);
+            this.#r.push(e);
+          }
+        }
+        toJSON() {
+          let t = this.type === null ? this.#r.slice().map((e) => typeof e == "string" ? e : e.toJSON()) : [this.type, ...this.#r.map((e) => e.toJSON())];
+          return this.isStart() && !this.type && t.unshift([]), this.isEnd() && (this === this.#t || this.#t.#c && this.#h?.type === "!") && t.push({}), t;
+        }
+        isStart() {
+          if (this.#t === this) return true;
+          if (!this.#h?.isStart()) return false;
+          if (this.#S === 0) return true;
+          let t = this.#h;
+          for (let e = 0; e < this.#S; e++) {
+            let s = t.#r[e];
+            if (!(s instanceof n && s.type === "!")) return false;
+          }
+          return true;
+        }
+        isEnd() {
+          if (this.#t === this || this.#h?.type === "!") return true;
+          if (!this.#h?.isEnd()) return false;
+          if (!this.type) return this.#h?.isEnd();
+          let t = this.#h ? this.#h.#r.length : 0;
+          return this.#S === t - 1;
+        }
+        copyIn(t) {
+          typeof t == "string" ? this.push(t) : this.push(t.clone(this));
+        }
+        clone(t) {
+          let e = new n(this.type, t);
+          for (let s of this.#r) e.copyIn(s);
+          return e;
+        }
+        static #i(t, e, s, i) {
+          let r = false, h = false, o = -1, a = false;
+          if (e.type === null) {
+            let u = s, m = "";
+            for (; u < t.length; ) {
+              let p = t.charAt(u++);
+              if (r || p === "\\") {
+                r = !r, m += p;
+                continue;
+              }
+              if (h) {
+                u === o + 1 ? (p === "^" || p === "!") && (a = true) : p === "]" && !(u === o + 2 && a) && (h = false), m += p;
+                continue;
+              } else if (p === "[") {
+                h = true, o = u, a = false, m += p;
+                continue;
+              }
+              if (!i.noext && Ze(p) && t.charAt(u) === "(") {
+                e.push(m), m = "";
+                let b = new n(p, e);
+                u = n.#i(t, b, u, i), e.push(b);
+                continue;
+              }
+              m += p;
+            }
+            return e.push(m), u;
+          }
+          let l = s + 1, f = new n(null, e), c = [], d = "";
+          for (; l < t.length; ) {
+            let u = t.charAt(l++);
+            if (r || u === "\\") {
+              r = !r, d += u;
+              continue;
+            }
+            if (h) {
+              l === o + 1 ? (u === "^" || u === "!") && (a = true) : u === "]" && !(l === o + 2 && a) && (h = false), d += u;
+              continue;
+            } else if (u === "[") {
+              h = true, o = l, a = false, d += u;
+              continue;
+            }
+            if (Ze(u) && t.charAt(l) === "(") {
+              f.push(d), d = "";
+              let m = new n(u, f);
+              f.push(m), l = n.#i(t, m, l, i);
+              continue;
+            }
+            if (u === "|") {
+              f.push(d), d = "", c.push(f), f = new n(null, e);
+              continue;
+            }
+            if (u === ")") return d === "" && e.#r.length === 0 && (e.#u = true), f.push(d), d = "", e.push(...c, f), l;
+            d += u;
+          }
+          return e.type = null, e.#s = void 0, e.#r = [t.substring(s - 1)], l;
+        }
+        static fromGlob(t, e = {}) {
+          let s = new n(null, void 0, e);
+          return n.#i(t, s, 0, e), s;
+        }
+        toMMPattern() {
+          if (this !== this.#t) return this.#t.toMMPattern();
+          let t = this.toString(), [e, s, i, r] = this.toRegExpSource();
+          if (!(i || this.#s || this.#o.nocase && !this.#o.nocaseMagicOnly && t.toUpperCase() !== t.toLowerCase())) return s;
+          let o = (this.#o.nocase ? "i" : "") + (r ? "u" : "");
+          return Object.assign(new RegExp(`^${e}$`, o), { _src: e, _glob: t });
+        }
+        get options() {
+          return this.#o;
+        }
+        toRegExpSource(t) {
+          let e = t ?? !!this.#o.dot;
+          if (this.#t === this && this.#a(), !this.type) {
+            let a = this.isStart() && this.isEnd() && !this.#r.some((u) => typeof u != "string"), l = this.#r.map((u) => {
+              let [m, p, b, w] = typeof u == "string" ? n.#v(u, this.#s, a) : u.toRegExpSource(t);
+              return this.#s = this.#s || b, this.#n = this.#n || w, m;
+            }).join(""), f = "";
+            if (this.isStart() && typeof this.#r[0] == "string" && !(this.#r.length === 1 && gi.has(this.#r[0]))) {
+              let m = mi, p = e && m.has(l.charAt(0)) || l.startsWith("\\.") && m.has(l.charAt(2)) || l.startsWith("\\.\\.") && m.has(l.charAt(4)), b = !e && !t && m.has(l.charAt(0));
+              f = p ? pi : b ? Pt : "";
+            }
+            let c = "";
+            return this.isEnd() && this.#t.#c && this.#h?.type === "!" && (c = "(?:$|\\/)"), [f + l + c, (0, Mt.unescape)(l), this.#s = !!this.#s, this.#n];
+          }
+          let s = this.type === "*" || this.type === "+", i = this.type === "!" ? "(?:(?!(?:" : "(?:", r = this.#d(e);
+          if (this.isStart() && this.isEnd() && !r && this.type !== "!") {
+            let a = this.toString();
+            return this.#r = [a], this.type = null, this.#s = void 0, [a, (0, Mt.unescape)(this.toString()), false, false];
+          }
+          let h = !s || t || e || !Pt ? "" : this.#d(true);
+          h === r && (h = ""), h && (r = `(?:${r})(?:${h})*?`);
+          let o = "";
+          if (this.type === "!" && this.#u) o = (this.isStart() && !e ? Pt : "") + ts;
+          else {
+            let a = this.type === "!" ? "))" + (this.isStart() && !e && !t ? Pt : "") + Qe + ")" : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && h ? ")" : this.type === "*" && h ? ")?" : `)${this.type}`;
+            o = i + r + a;
+          }
+          return [o, (0, Mt.unescape)(r), this.#s = !!this.#s, this.#n];
+        }
+        #d(t) {
+          return this.#r.map((e) => {
+            if (typeof e == "string") throw new Error("string type in extglob ast??");
+            let [s, i, r, h] = e.toRegExpSource(t);
+            return this.#n = this.#n || h, s;
+          }).filter((e) => !(this.isStart() && this.isEnd()) || !!e).join("|");
+        }
+        static #v(t, e, s = false) {
+          let i = false, r = "", h = false, o = false;
+          for (let a = 0; a < t.length; a++) {
+            let l = t.charAt(a);
+            if (i) {
+              i = false, r += (wi.has(l) ? "\\" : "") + l;
+              continue;
+            }
+            if (l === "*") {
+              if (o) continue;
+              o = true, r += s && /^[*]+$/.test(t) ? ts : Qe, e = true;
+              continue;
+            } else o = false;
+            if (l === "\\") {
+              a === t.length - 1 ? r += "\\\\" : i = true;
+              continue;
+            }
+            if (l === "[") {
+              let [f, c, d, u] = (0, fi.parseClass)(t, a);
+              if (d) {
+                r += f, h = h || c, a += d - 1, e = e || u;
+                continue;
+              }
+            }
+            if (l === "?") {
+              r += de, e = true;
+              continue;
+            }
+            r += bi(l);
+          }
+          return [r, (0, Mt.unescape)(t), !!e, h];
+        }
+      };
+      Dt.AST = fe;
+    });
+    var me = R((Ft) => {
+      "use strict";
+      Object.defineProperty(Ft, "__esModule", { value: true });
+      Ft.escape = void 0;
+      var yi = (n, { windowsPathsNoEscape: t = false, magicalBraces: e = false } = {}) => e ? t ? n.replace(/[?*()[\]{}]/g, "[$&]") : n.replace(/[?*()[\]\\{}]/g, "\\$&") : t ? n.replace(/[?*()[\]]/g, "[$&]") : n.replace(/[?*()[\]\\]/g, "\\$&");
+      Ft.escape = yi;
+    });
+    var H = R((g) => {
+      "use strict";
+      Object.defineProperty(g, "__esModule", { value: true });
+      g.unescape = g.escape = g.AST = g.Minimatch = g.match = g.makeRe = g.braceExpand = g.defaults = g.filter = g.GLOBSTAR = g.sep = g.minimatch = void 0;
+      var Si = Ke(), jt = Xe(), is = pe(), vi = me(), Ei = kt(), _i = (n, t, e = {}) => ((0, jt.assertValidPattern)(t), !e.nocomment && t.charAt(0) === "#" ? false : new J(t, e).match(n));
+      g.minimatch = _i;
+      var Oi = /^\*+([^+@!?\*\[\(]*)$/, xi = (n) => (t) => !t.startsWith(".") && t.endsWith(n), Ti = (n) => (t) => t.endsWith(n), Ci = (n) => (n = n.toLowerCase(), (t) => !t.startsWith(".") && t.toLowerCase().endsWith(n)), Ri = (n) => (n = n.toLowerCase(), (t) => t.toLowerCase().endsWith(n)), Ai = /^\*+\.\*+$/, ki = (n) => !n.startsWith(".") && n.includes("."), Mi = (n) => n !== "." && n !== ".." && n.includes("."), Pi = /^\.\*+$/, Di = (n) => n !== "." && n !== ".." && n.startsWith("."), Fi = /^\*+$/, ji = (n) => n.length !== 0 && !n.startsWith("."), Ni = (n) => n.length !== 0 && n !== "." && n !== "..", Li = /^\?+([^+@!?\*\[\(]*)?$/, Wi = ([n, t = ""]) => {
+        let e = rs([n]);
+        return t ? (t = t.toLowerCase(), (s) => e(s) && s.toLowerCase().endsWith(t)) : e;
+      }, Bi = ([n, t = ""]) => {
+        let e = ns([n]);
+        return t ? (t = t.toLowerCase(), (s) => e(s) && s.toLowerCase().endsWith(t)) : e;
+      }, Ii = ([n, t = ""]) => {
+        let e = ns([n]);
+        return t ? (s) => e(s) && s.endsWith(t) : e;
+      }, Gi = ([n, t = ""]) => {
+        let e = rs([n]);
+        return t ? (s) => e(s) && s.endsWith(t) : e;
+      }, rs = ([n]) => {
+        let t = n.length;
+        return (e) => e.length === t && !e.startsWith(".");
+      }, ns = ([n]) => {
+        let t = n.length;
+        return (e) => e.length === t && e !== "." && e !== "..";
+      }, hs = typeof process == "object" && process ? typeof process.env == "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix", es = { win32: { sep: "\\" }, posix: { sep: "/" } };
+      g.sep = hs === "win32" ? es.win32.sep : es.posix.sep;
+      g.minimatch.sep = g.sep;
+      g.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+      g.minimatch.GLOBSTAR = g.GLOBSTAR;
+      var zi = "[^/]", Ui = zi + "*?", $i = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?", qi = "(?:(?!(?:\\/|^)\\.).)*?", Hi = (n, t = {}) => (e) => (0, g.minimatch)(e, n, t);
+      g.filter = Hi;
+      g.minimatch.filter = g.filter;
+      var F = (n, t = {}) => Object.assign({}, n, t), Vi = (n) => {
+        if (!n || typeof n != "object" || !Object.keys(n).length) return g.minimatch;
+        let t = g.minimatch;
+        return Object.assign((s, i, r = {}) => t(s, i, F(n, r)), { Minimatch: class extends t.Minimatch {
+          constructor(i, r = {}) {
+            super(i, F(n, r));
+          }
+          static defaults(i) {
+            return t.defaults(F(n, i)).Minimatch;
+          }
+        }, AST: class extends t.AST {
+          constructor(i, r, h = {}) {
+            super(i, r, F(n, h));
+          }
+          static fromGlob(i, r = {}) {
+            return t.AST.fromGlob(i, F(n, r));
+          }
+        }, unescape: (s, i = {}) => t.unescape(s, F(n, i)), escape: (s, i = {}) => t.escape(s, F(n, i)), filter: (s, i = {}) => t.filter(s, F(n, i)), defaults: (s) => t.defaults(F(n, s)), makeRe: (s, i = {}) => t.makeRe(s, F(n, i)), braceExpand: (s, i = {}) => t.braceExpand(s, F(n, i)), match: (s, i, r = {}) => t.match(s, i, F(n, r)), sep: t.sep, GLOBSTAR: g.GLOBSTAR });
+      };
+      g.defaults = Vi;
+      g.minimatch.defaults = g.defaults;
+      var Ki = (n, t = {}) => ((0, jt.assertValidPattern)(n), t.nobrace || !/\{(?:(?!\{).)*\}/.test(n) ? [n] : (0, Si.expand)(n, { max: t.braceExpandMax }));
+      g.braceExpand = Ki;
+      g.minimatch.braceExpand = g.braceExpand;
+      var Xi = (n, t = {}) => new J(n, t).makeRe();
+      g.makeRe = Xi;
+      g.minimatch.makeRe = g.makeRe;
+      var Yi = (n, t, e = {}) => {
+        let s = new J(t, e);
+        return n = n.filter((i) => s.match(i)), s.options.nonull && !n.length && n.push(t), n;
+      };
+      g.match = Yi;
+      g.minimatch.match = g.match;
+      var ss = /[?*]|[+@!]\(.*?\)|\[|\]/, Ji = (n) => n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), J = class {
+        options;
+        set;
+        pattern;
+        windowsPathsNoEscape;
+        nonegate;
+        negate;
+        comment;
+        empty;
+        preserveMultipleSlashes;
+        partial;
+        globSet;
+        globParts;
+        nocase;
+        isWindows;
+        platform;
+        windowsNoMagicRoot;
+        regexp;
+        constructor(t, e = {}) {
+          (0, jt.assertValidPattern)(t), e = e || {}, this.options = e, this.pattern = t, this.platform = e.platform || hs, this.isWindows = this.platform === "win32";
+          let s = "allowWindowsEscape";
+          this.windowsPathsNoEscape = !!e.windowsPathsNoEscape || e[s] === false, this.windowsPathsNoEscape && (this.pattern = this.pattern.replace(/\\/g, "/")), this.preserveMultipleSlashes = !!e.preserveMultipleSlashes, this.regexp = null, this.negate = false, this.nonegate = !!e.nonegate, this.comment = false, this.empty = false, this.partial = !!e.partial, this.nocase = !!this.options.nocase, this.windowsNoMagicRoot = e.windowsNoMagicRoot !== void 0 ? e.windowsNoMagicRoot : !!(this.isWindows && this.nocase), this.globSet = [], this.globParts = [], this.set = [], this.make();
+        }
+        hasMagic() {
+          if (this.options.magicalBraces && this.set.length > 1) return true;
+          for (let t of this.set) for (let e of t) if (typeof e != "string") return true;
+          return false;
+        }
+        debug(...t) {
+        }
+        make() {
+          let t = this.pattern, e = this.options;
+          if (!e.nocomment && t.charAt(0) === "#") {
+            this.comment = true;
+            return;
+          }
+          if (!t) {
+            this.empty = true;
+            return;
+          }
+          this.parseNegate(), this.globSet = [...new Set(this.braceExpand())], e.debug && (this.debug = (...r) => console.error(...r)), this.debug(this.pattern, this.globSet);
+          let s = this.globSet.map((r) => this.slashSplit(r));
+          this.globParts = this.preprocess(s), this.debug(this.pattern, this.globParts);
+          let i = this.globParts.map((r, h, o) => {
+            if (this.isWindows && this.windowsNoMagicRoot) {
+              let a = r[0] === "" && r[1] === "" && (r[2] === "?" || !ss.test(r[2])) && !ss.test(r[3]), l = /^[a-z]:/i.test(r[0]);
+              if (a) return [...r.slice(0, 4), ...r.slice(4).map((f) => this.parse(f))];
+              if (l) return [r[0], ...r.slice(1).map((f) => this.parse(f))];
+            }
+            return r.map((a) => this.parse(a));
+          });
+          if (this.debug(this.pattern, i), this.set = i.filter((r) => r.indexOf(false) === -1), this.isWindows) for (let r = 0; r < this.set.length; r++) {
+            let h = this.set[r];
+            h[0] === "" && h[1] === "" && this.globParts[r][2] === "?" && typeof h[3] == "string" && /^[a-z]:$/i.test(h[3]) && (h[2] = "?");
+          }
+          this.debug(this.pattern, this.set);
+        }
+        preprocess(t) {
+          if (this.options.noglobstar) for (let s = 0; s < t.length; s++) for (let i = 0; i < t[s].length; i++) t[s][i] === "**" && (t[s][i] = "*");
+          let { optimizationLevel: e = 1 } = this.options;
+          return e >= 2 ? (t = this.firstPhasePreProcess(t), t = this.secondPhasePreProcess(t)) : e >= 1 ? t = this.levelOneOptimize(t) : t = this.adjascentGlobstarOptimize(t), t;
+        }
+        adjascentGlobstarOptimize(t) {
+          return t.map((e) => {
+            let s = -1;
+            for (; (s = e.indexOf("**", s + 1)) !== -1; ) {
+              let i = s;
+              for (; e[i + 1] === "**"; ) i++;
+              i !== s && e.splice(s, i - s);
+            }
+            return e;
+          });
+        }
+        levelOneOptimize(t) {
+          return t.map((e) => (e = e.reduce((s, i) => {
+            let r = s[s.length - 1];
+            return i === "**" && r === "**" ? s : i === ".." && r && r !== ".." && r !== "." && r !== "**" ? (s.pop(), s) : (s.push(i), s);
+          }, []), e.length === 0 ? [""] : e));
+        }
+        levelTwoFileOptimize(t) {
+          Array.isArray(t) || (t = this.slashSplit(t));
+          let e = false;
+          do {
+            if (e = false, !this.preserveMultipleSlashes) {
+              for (let i = 1; i < t.length - 1; i++) {
+                let r = t[i];
+                i === 1 && r === "" && t[0] === "" || (r === "." || r === "") && (e = true, t.splice(i, 1), i--);
+              }
+              t[0] === "." && t.length === 2 && (t[1] === "." || t[1] === "") && (e = true, t.pop());
+            }
+            let s = 0;
+            for (; (s = t.indexOf("..", s + 1)) !== -1; ) {
+              let i = t[s - 1];
+              i && i !== "." && i !== ".." && i !== "**" && (e = true, t.splice(s - 1, 2), s -= 2);
+            }
+          } while (e);
+          return t.length === 0 ? [""] : t;
+        }
+        firstPhasePreProcess(t) {
+          let e = false;
+          do {
+            e = false;
+            for (let s of t) {
+              let i = -1;
+              for (; (i = s.indexOf("**", i + 1)) !== -1; ) {
+                let h = i;
+                for (; s[h + 1] === "**"; ) h++;
+                h > i && s.splice(i + 1, h - i);
+                let o = s[i + 1], a = s[i + 2], l = s[i + 3];
+                if (o !== ".." || !a || a === "." || a === ".." || !l || l === "." || l === "..") continue;
+                e = true, s.splice(i, 1);
+                let f = s.slice(0);
+                f[i] = "**", t.push(f), i--;
+              }
+              if (!this.preserveMultipleSlashes) {
+                for (let h = 1; h < s.length - 1; h++) {
+                  let o = s[h];
+                  h === 1 && o === "" && s[0] === "" || (o === "." || o === "") && (e = true, s.splice(h, 1), h--);
+                }
+                s[0] === "." && s.length === 2 && (s[1] === "." || s[1] === "") && (e = true, s.pop());
+              }
+              let r = 0;
+              for (; (r = s.indexOf("..", r + 1)) !== -1; ) {
+                let h = s[r - 1];
+                if (h && h !== "." && h !== ".." && h !== "**") {
+                  e = true;
+                  let a = r === 1 && s[r + 1] === "**" ? ["."] : [];
+                  s.splice(r - 1, 2, ...a), s.length === 0 && s.push(""), r -= 2;
+                }
+              }
+            }
+          } while (e);
+          return t;
+        }
+        secondPhasePreProcess(t) {
+          for (let e = 0; e < t.length - 1; e++) for (let s = e + 1; s < t.length; s++) {
+            let i = this.partsMatch(t[e], t[s], !this.preserveMultipleSlashes);
+            if (i) {
+              t[e] = [], t[s] = i;
+              break;
+            }
+          }
+          return t.filter((e) => e.length);
+        }
+        partsMatch(t, e, s = false) {
+          let i = 0, r = 0, h = [], o = "";
+          for (; i < t.length && r < e.length; ) if (t[i] === e[r]) h.push(o === "b" ? e[r] : t[i]), i++, r++;
+          else if (s && t[i] === "**" && e[r] === t[i + 1]) h.push(t[i]), i++;
+          else if (s && e[r] === "**" && t[i] === e[r + 1]) h.push(e[r]), r++;
+          else if (t[i] === "*" && e[r] && (this.options.dot || !e[r].startsWith(".")) && e[r] !== "**") {
+            if (o === "b") return false;
+            o = "a", h.push(t[i]), i++, r++;
+          } else if (e[r] === "*" && t[i] && (this.options.dot || !t[i].startsWith(".")) && t[i] !== "**") {
+            if (o === "a") return false;
+            o = "b", h.push(e[r]), i++, r++;
+          } else return false;
+          return t.length === e.length && h;
+        }
+        parseNegate() {
+          if (this.nonegate) return;
+          let t = this.pattern, e = false, s = 0;
+          for (let i = 0; i < t.length && t.charAt(i) === "!"; i++) e = !e, s++;
+          s && (this.pattern = t.slice(s)), this.negate = e;
+        }
+        matchOne(t, e, s = false) {
+          let i = this.options;
+          if (this.isWindows) {
+            let p = typeof t[0] == "string" && /^[a-z]:$/i.test(t[0]), b = !p && t[0] === "" && t[1] === "" && t[2] === "?" && /^[a-z]:$/i.test(t[3]), w = typeof e[0] == "string" && /^[a-z]:$/i.test(e[0]), v = !w && e[0] === "" && e[1] === "" && e[2] === "?" && typeof e[3] == "string" && /^[a-z]:$/i.test(e[3]), E = b ? 3 : p ? 0 : void 0, y = v ? 3 : w ? 0 : void 0;
+            if (typeof E == "number" && typeof y == "number") {
+              let [S, B] = [t[E], e[y]];
+              S.toLowerCase() === B.toLowerCase() && (e[y] = S, y > E ? e = e.slice(y) : E > y && (t = t.slice(E)));
+            }
+          }
+          let { optimizationLevel: r = 1 } = this.options;
+          r >= 2 && (t = this.levelTwoFileOptimize(t)), this.debug("matchOne", this, { file: t, pattern: e }), this.debug("matchOne", t.length, e.length);
+          for (var h = 0, o = 0, a = t.length, l = e.length; h < a && o < l; h++, o++) {
+            this.debug("matchOne loop");
+            var f = e[o], c = t[h];
+            if (this.debug(e, f, c), f === false) return false;
+            if (f === g.GLOBSTAR) {
+              this.debug("GLOBSTAR", [e, f, c]);
+              var d = h, u = o + 1;
+              if (u === l) {
+                for (this.debug("** at the end"); h < a; h++) if (t[h] === "." || t[h] === ".." || !i.dot && t[h].charAt(0) === ".") return false;
+                return true;
+              }
+              for (; d < a; ) {
+                var m = t[d];
+                if (this.debug(`
+globstar while`, t, d, e, u, m), this.matchOne(t.slice(d), e.slice(u), s)) return this.debug("globstar found match!", d, a, m), true;
+                if (m === "." || m === ".." || !i.dot && m.charAt(0) === ".") {
+                  this.debug("dot detected!", t, d, e, u);
+                  break;
+                }
+                this.debug("globstar swallow a segment, and continue"), d++;
+              }
+              return !!(s && (this.debug(`
+>>> no match, partial?`, t, d, e, u), d === a));
+            }
+            let p;
+            if (typeof f == "string" ? (p = c === f, this.debug("string match", f, c, p)) : (p = f.test(c), this.debug("pattern match", f, c, p)), !p) return false;
+          }
+          if (h === a && o === l) return true;
+          if (h === a) return s;
+          if (o === l) return h === a - 1 && t[h] === "";
+          throw new Error("wtf?");
+        }
+        braceExpand() {
+          return (0, g.braceExpand)(this.pattern, this.options);
+        }
+        parse(t) {
+          (0, jt.assertValidPattern)(t);
+          let e = this.options;
+          if (t === "**") return g.GLOBSTAR;
+          if (t === "") return "";
+          let s, i = null;
+          (s = t.match(Fi)) ? i = e.dot ? Ni : ji : (s = t.match(Oi)) ? i = (e.nocase ? e.dot ? Ri : Ci : e.dot ? Ti : xi)(s[1]) : (s = t.match(Li)) ? i = (e.nocase ? e.dot ? Bi : Wi : e.dot ? Ii : Gi)(s) : (s = t.match(Ai)) ? i = e.dot ? Mi : ki : (s = t.match(Pi)) && (i = Di);
+          let r = is.AST.fromGlob(t, this.options).toMMPattern();
+          return i && typeof r == "object" && Reflect.defineProperty(r, "test", { value: i }), r;
+        }
+        makeRe() {
+          if (this.regexp || this.regexp === false) return this.regexp;
+          let t = this.set;
+          if (!t.length) return this.regexp = false, this.regexp;
+          let e = this.options, s = e.noglobstar ? Ui : e.dot ? $i : qi, i = new Set(e.nocase ? ["i"] : []), r = t.map((a) => {
+            let l = a.map((c) => {
+              if (c instanceof RegExp) for (let d of c.flags.split("")) i.add(d);
+              return typeof c == "string" ? Ji(c) : c === g.GLOBSTAR ? g.GLOBSTAR : c._src;
+            });
+            l.forEach((c, d) => {
+              let u = l[d + 1], m = l[d - 1];
+              c !== g.GLOBSTAR || m === g.GLOBSTAR || (m === void 0 ? u !== void 0 && u !== g.GLOBSTAR ? l[d + 1] = "(?:\\/|" + s + "\\/)?" + u : l[d] = s : u === void 0 ? l[d - 1] = m + "(?:\\/|\\/" + s + ")?" : u !== g.GLOBSTAR && (l[d - 1] = m + "(?:\\/|\\/" + s + "\\/)" + u, l[d + 1] = g.GLOBSTAR));
+            });
+            let f = l.filter((c) => c !== g.GLOBSTAR);
+            if (this.partial && f.length >= 1) {
+              let c = [];
+              for (let d = 1; d <= f.length; d++) c.push(f.slice(0, d).join("/"));
+              return "(?:" + c.join("|") + ")";
+            }
+            return f.join("/");
+          }).join("|"), [h, o] = t.length > 1 ? ["(?:", ")"] : ["", ""];
+          r = "^" + h + r + o + "$", this.partial && (r = "^(?:\\/|" + h + r.slice(1, -1) + o + ")$"), this.negate && (r = "^(?!" + r + ").+$");
+          try {
+            this.regexp = new RegExp(r, [...i].join(""));
+          } catch {
+            this.regexp = false;
+          }
+          return this.regexp;
+        }
+        slashSplit(t) {
+          return this.preserveMultipleSlashes ? t.split("/") : this.isWindows && /^\/\/[^\/]+/.test(t) ? ["", ...t.split(/\/+/)] : t.split(/\/+/);
+        }
+        match(t, e = this.partial) {
+          if (this.debug("match", t, this.pattern), this.comment) return false;
+          if (this.empty) return t === "";
+          if (t === "/" && e) return true;
+          let s = this.options;
+          this.isWindows && (t = t.split("\\").join("/"));
+          let i = this.slashSplit(t);
+          this.debug(this.pattern, "split", i);
+          let r = this.set;
+          this.debug(this.pattern, "set", r);
+          let h = i[i.length - 1];
+          if (!h) for (let o = i.length - 2; !h && o >= 0; o--) h = i[o];
+          for (let o = 0; o < r.length; o++) {
+            let a = r[o], l = i;
+            if (s.matchBase && a.length === 1 && (l = [h]), this.matchOne(l, a, e)) return s.flipNegate ? true : !this.negate;
+          }
+          return s.flipNegate ? false : this.negate;
+        }
+        static defaults(t) {
+          return g.minimatch.defaults(t).Minimatch;
+        }
+      };
+      g.Minimatch = J;
+      var Zi = pe();
+      Object.defineProperty(g, "AST", { enumerable: true, get: function() {
+        return Zi.AST;
+      } });
+      var Qi = me();
+      Object.defineProperty(g, "escape", { enumerable: true, get: function() {
+        return Qi.escape;
+      } });
+      var tr = kt();
+      Object.defineProperty(g, "unescape", { enumerable: true, get: function() {
+        return tr.unescape;
+      } });
+      g.minimatch.AST = is.AST;
+      g.minimatch.Minimatch = J;
+      g.minimatch.escape = vi.escape;
+      g.minimatch.unescape = Ei.unescape;
+    });
+    var fs32 = R((Wt) => {
+      "use strict";
+      Object.defineProperty(Wt, "__esModule", { value: true });
+      Wt.LRUCache = void 0;
+      var er = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, as = /* @__PURE__ */ new Set(), ge = typeof process == "object" && process ? process : {}, ls = (n, t, e, s) => {
+        typeof ge.emitWarning == "function" ? ge.emitWarning(n, t, e, s) : console.error(`[${e}] ${t}: ${n}`);
+      }, Lt = globalThis.AbortController, os7 = globalThis.AbortSignal;
+      if (typeof Lt > "u") {
+        os7 = class {
+          onabort;
+          _onabort = [];
+          reason;
+          aborted = false;
+          addEventListener(e, s) {
+            this._onabort.push(s);
+          }
+        }, Lt = class {
+          constructor() {
+            t();
+          }
+          signal = new os7();
+          abort(e) {
+            if (!this.signal.aborted) {
+              this.signal.reason = e, this.signal.aborted = true;
+              for (let s of this.signal._onabort) s(e);
+              this.signal.onabort?.(e);
+            }
+          }
+        };
+        let n = ge.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1", t = () => {
+          n && (n = false, ls("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", t));
+        };
       }
-      #asyncReaddirInFlight;
-      /**
-       * Return an array of known child entries.
-       *
-       * If the Path cannot or does not contain any children, then an empty array
-       * is returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async readdir() {
-        if (!this.canReaddir()) {
-          return [];
+      var sr = (n) => !as.has(n), V = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n), cs = (n) => V(n) ? n <= Math.pow(2, 8) ? Uint8Array : n <= Math.pow(2, 16) ? Uint16Array : n <= Math.pow(2, 32) ? Uint32Array : n <= Number.MAX_SAFE_INTEGER ? Nt : null : null, Nt = class extends Array {
+        constructor(n) {
+          super(n), this.fill(0);
         }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
+      }, ir = class at {
+        heap;
+        length;
+        static #t = false;
+        static create(t) {
+          let e = cs(t);
+          if (!e) return [];
+          at.#t = true;
+          let s = new at(t, e);
+          return at.#t = false, s;
         }
-        const fullpath = this.fullpath();
-        if (this.#asyncReaddirInFlight) {
-          await this.#asyncReaddirInFlight;
-        } else {
-          let resolve13 = () => {
+        constructor(t, e) {
+          if (!at.#t) throw new TypeError("instantiate Stack using Stack.create(n)");
+          this.heap = new e(t), this.length = 0;
+        }
+        push(t) {
+          this.heap[this.length++] = t;
+        }
+        pop() {
+          return this.heap[--this.length];
+        }
+      }, rr = class us {
+        #t;
+        #s;
+        #n;
+        #r;
+        #h;
+        #S;
+        #w;
+        #c;
+        get perf() {
+          return this.#c;
+        }
+        ttl;
+        ttlResolution;
+        ttlAutopurge;
+        updateAgeOnGet;
+        updateAgeOnHas;
+        allowStale;
+        noDisposeOnSet;
+        noUpdateTTL;
+        maxEntrySize;
+        sizeCalculation;
+        noDeleteOnFetchRejection;
+        noDeleteOnStaleGet;
+        allowStaleOnFetchAbort;
+        allowStaleOnFetchRejection;
+        ignoreFetchAbort;
+        #o;
+        #f;
+        #u;
+        #a;
+        #i;
+        #d;
+        #v;
+        #y;
+        #p;
+        #R;
+        #m;
+        #O;
+        #x;
+        #g;
+        #b;
+        #E;
+        #T;
+        #e;
+        #F;
+        static unsafeExposeInternals(t) {
+          return { starts: t.#x, ttls: t.#g, autopurgeTimers: t.#b, sizes: t.#O, keyMap: t.#u, keyList: t.#a, valList: t.#i, next: t.#d, prev: t.#v, get head() {
+            return t.#y;
+          }, get tail() {
+            return t.#p;
+          }, free: t.#R, isBackgroundFetch: (e) => t.#l(e), backgroundFetch: (e, s, i, r) => t.#z(e, s, i, r), moveToTail: (e) => t.#N(e), indexes: (e) => t.#k(e), rindexes: (e) => t.#M(e), isStale: (e) => t.#_(e) };
+        }
+        get max() {
+          return this.#t;
+        }
+        get maxSize() {
+          return this.#s;
+        }
+        get calculatedSize() {
+          return this.#f;
+        }
+        get size() {
+          return this.#o;
+        }
+        get fetchMethod() {
+          return this.#S;
+        }
+        get memoMethod() {
+          return this.#w;
+        }
+        get dispose() {
+          return this.#n;
+        }
+        get onInsert() {
+          return this.#r;
+        }
+        get disposeAfter() {
+          return this.#h;
+        }
+        constructor(t) {
+          let { max: e = 0, ttl: s, ttlResolution: i = 1, ttlAutopurge: r, updateAgeOnGet: h, updateAgeOnHas: o, allowStale: a, dispose: l, onInsert: f, disposeAfter: c, noDisposeOnSet: d, noUpdateTTL: u, maxSize: m = 0, maxEntrySize: p = 0, sizeCalculation: b, fetchMethod: w, memoMethod: v, noDeleteOnFetchRejection: E, noDeleteOnStaleGet: y, allowStaleOnFetchRejection: S, allowStaleOnFetchAbort: B, ignoreFetchAbort: U, perf: et } = t;
+          if (et !== void 0 && typeof et?.now != "function") throw new TypeError("perf option must have a now() method if specified");
+          if (this.#c = et ?? er, e !== 0 && !V(e)) throw new TypeError("max option must be a nonnegative integer");
+          let st = e ? cs(e) : Array;
+          if (!st) throw new Error("invalid max value: " + e);
+          if (this.#t = e, this.#s = m, this.maxEntrySize = p || this.#s, this.sizeCalculation = b, this.sizeCalculation) {
+            if (!this.#s && !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 (v !== void 0 && typeof v != "function") throw new TypeError("memoMethod must be a function if defined");
+          if (this.#w = v, w !== void 0 && typeof w != "function") throw new TypeError("fetchMethod must be a function if specified");
+          if (this.#S = w, this.#T = !!w, this.#u = /* @__PURE__ */ new Map(), this.#a = new Array(e).fill(void 0), this.#i = new Array(e).fill(void 0), this.#d = new st(e), this.#v = new st(e), this.#y = 0, this.#p = 0, this.#R = ir.create(e), this.#o = 0, this.#f = 0, typeof l == "function" && (this.#n = l), typeof f == "function" && (this.#r = f), typeof c == "function" ? (this.#h = c, this.#m = []) : (this.#h = void 0, this.#m = void 0), this.#E = !!this.#n, this.#F = !!this.#r, this.#e = !!this.#h, this.noDisposeOnSet = !!d, this.noUpdateTTL = !!u, this.noDeleteOnFetchRejection = !!E, this.allowStaleOnFetchRejection = !!S, this.allowStaleOnFetchAbort = !!B, this.ignoreFetchAbort = !!U, this.maxEntrySize !== 0) {
+            if (this.#s !== 0 && !V(this.#s)) throw new TypeError("maxSize must be a positive integer if specified");
+            if (!V(this.maxEntrySize)) throw new TypeError("maxEntrySize must be a positive integer if specified");
+            this.#$();
+          }
+          if (this.allowStale = !!a, this.noDeleteOnStaleGet = !!y, this.updateAgeOnGet = !!h, this.updateAgeOnHas = !!o, this.ttlResolution = V(i) || i === 0 ? i : 1, this.ttlAutopurge = !!r, this.ttl = s || 0, this.ttl) {
+            if (!V(this.ttl)) throw new TypeError("ttl must be a positive integer if specified");
+            this.#P();
+          }
+          if (this.#t === 0 && this.ttl === 0 && this.#s === 0) throw new TypeError("At least one of max, maxSize, or ttl is required");
+          if (!this.ttlAutopurge && !this.#t && !this.#s) {
+            let le = "LRU_CACHE_UNBOUNDED";
+            sr(le) && (as.add(le), ls("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", le, us));
+          }
+        }
+        getRemainingTTL(t) {
+          return this.#u.has(t) ? 1 / 0 : 0;
+        }
+        #P() {
+          let t = new Nt(this.#t), e = new Nt(this.#t);
+          this.#g = t, this.#x = e;
+          let s = this.ttlAutopurge ? new Array(this.#t) : void 0;
+          this.#b = s, this.#W = (h, o, a = this.#c.now()) => {
+            if (e[h] = o !== 0 ? a : 0, t[h] = o, s?.[h] && (clearTimeout(s[h]), s[h] = void 0), o !== 0 && s) {
+              let l = setTimeout(() => {
+                this.#_(h) && this.#A(this.#a[h], "expire");
+              }, o + 1);
+              l.unref && l.unref(), s[h] = l;
+            }
+          }, this.#C = (h) => {
+            e[h] = t[h] !== 0 ? this.#c.now() : 0;
+          }, this.#D = (h, o) => {
+            if (t[o]) {
+              let a = t[o], l = e[o];
+              if (!a || !l) return;
+              h.ttl = a, h.start = l, h.now = i || r();
+              let f = h.now - l;
+              h.remainingTTL = a - f;
+            }
           };
-          this.#asyncReaddirInFlight = new Promise((res) => resolve13 = res);
-          try {
-            for (const e of await this.#fs.promises.readdir(fullpath, {
-              withFileTypes: true
-            })) {
-              this.#readdirAddChild(e, children);
+          let i = 0, r = () => {
+            let h = this.#c.now();
+            if (this.ttlResolution > 0) {
+              i = h;
+              let o = setTimeout(() => i = 0, this.ttlResolution);
+              o.unref && o.unref();
             }
-            this.#readdirSuccess(children);
-          } catch (er) {
-            this.#readdirFail(er.code);
-            children.provisional = 0;
+            return h;
+          };
+          this.getRemainingTTL = (h) => {
+            let o = this.#u.get(h);
+            if (o === void 0) return 0;
+            let a = t[o], l = e[o];
+            if (!a || !l) return 1 / 0;
+            let f = (i || r()) - l;
+            return a - f;
+          }, this.#_ = (h) => {
+            let o = e[h], a = t[h];
+            return !!a && !!o && (i || r()) - o > a;
+          };
+        }
+        #C = () => {
+        };
+        #D = () => {
+        };
+        #W = () => {
+        };
+        #_ = () => false;
+        #$() {
+          let t = new Nt(this.#t);
+          this.#f = 0, this.#O = t, this.#L = (e) => {
+            this.#f -= t[e], t[e] = 0;
+          }, this.#B = (e, s, i, r) => {
+            if (this.#l(s)) return 0;
+            if (!V(i)) if (r) {
+              if (typeof r != "function") throw new TypeError("sizeCalculation must be a function");
+              if (i = r(s, e), !V(i)) throw new TypeError("sizeCalculation return invalid (expect positive integer)");
+            } else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
+            return i;
+          }, this.#j = (e, s, i) => {
+            if (t[e] = s, this.#s) {
+              let r = this.#s - t[e];
+              for (; this.#f > r; ) this.#G(true);
+            }
+            this.#f += t[e], i && (i.entrySize = s, i.totalCalculatedSize = this.#f);
+          };
+        }
+        #L = (t) => {
+        };
+        #j = (t, e, s) => {
+        };
+        #B = (t, e, s, i) => {
+          if (s || i) throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
+          return 0;
+        };
+        *#k({ allowStale: t = this.allowStale } = {}) {
+          if (this.#o) for (let e = this.#p; !(!this.#I(e) || ((t || !this.#_(e)) && (yield e), e === this.#y)); ) e = this.#v[e];
+        }
+        *#M({ allowStale: t = this.allowStale } = {}) {
+          if (this.#o) for (let e = this.#y; !(!this.#I(e) || ((t || !this.#_(e)) && (yield e), e === this.#p)); ) e = this.#d[e];
+        }
+        #I(t) {
+          return t !== void 0 && this.#u.get(this.#a[t]) === t;
+        }
+        *entries() {
+          for (let t of this.#k()) this.#i[t] !== void 0 && this.#a[t] !== void 0 && !this.#l(this.#i[t]) && (yield [this.#a[t], this.#i[t]]);
+        }
+        *rentries() {
+          for (let t of this.#M()) this.#i[t] !== void 0 && this.#a[t] !== void 0 && !this.#l(this.#i[t]) && (yield [this.#a[t], this.#i[t]]);
+        }
+        *keys() {
+          for (let t of this.#k()) {
+            let e = this.#a[t];
+            e !== void 0 && !this.#l(this.#i[t]) && (yield e);
           }
-          this.#asyncReaddirInFlight = void 0;
-          resolve13();
         }
-        return children.slice(0, children.provisional);
-      }
-      /**
-       * synchronous {@link PathBase.readdir}
-       */
-      readdirSync() {
-        if (!this.canReaddir()) {
-          return [];
-        }
-        const children = this.children();
-        if (this.calledReaddir()) {
-          return children.slice(0, children.provisional);
-        }
-        const fullpath = this.fullpath();
-        try {
-          for (const e of this.#fs.readdirSync(fullpath, {
-            withFileTypes: true
-          })) {
-            this.#readdirAddChild(e, children);
+        *rkeys() {
+          for (let t of this.#M()) {
+            let e = this.#a[t];
+            e !== void 0 && !this.#l(this.#i[t]) && (yield e);
           }
-          this.#readdirSuccess(children);
-        } catch (er) {
-          this.#readdirFail(er.code);
-          children.provisional = 0;
         }
-        return children.slice(0, children.provisional);
-      }
-      canReaddir() {
-        if (this.#type & ENOCHILD)
-          return false;
-        const ifmt = IFMT & this.#type;
-        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
+        *values() {
+          for (let t of this.#k()) this.#i[t] !== void 0 && !this.#l(this.#i[t]) && (yield this.#i[t]);
+        }
+        *rvalues() {
+          for (let t of this.#M()) this.#i[t] !== void 0 && !this.#l(this.#i[t]) && (yield this.#i[t]);
+        }
+        [Symbol.iterator]() {
+          return this.entries();
+        }
+        [Symbol.toStringTag] = "LRUCache";
+        find(t, e = {}) {
+          for (let s of this.#k()) {
+            let i = this.#i[s], r = this.#l(i) ? i.__staleWhileFetching : i;
+            if (r !== void 0 && t(r, this.#a[s], this)) return this.get(this.#a[s], e);
+          }
+        }
+        forEach(t, e = this) {
+          for (let s of this.#k()) {
+            let i = this.#i[s], r = this.#l(i) ? i.__staleWhileFetching : i;
+            r !== void 0 && t.call(e, r, this.#a[s], this);
+          }
+        }
+        rforEach(t, e = this) {
+          for (let s of this.#M()) {
+            let i = this.#i[s], r = this.#l(i) ? i.__staleWhileFetching : i;
+            r !== void 0 && t.call(e, r, this.#a[s], this);
+          }
+        }
+        purgeStale() {
+          let t = false;
+          for (let e of this.#M({ allowStale: true })) this.#_(e) && (this.#A(this.#a[e], "expire"), t = true);
+          return t;
+        }
+        info(t) {
+          let e = this.#u.get(t);
+          if (e === void 0) return;
+          let s = this.#i[e], i = this.#l(s) ? s.__staleWhileFetching : s;
+          if (i === void 0) return;
+          let r = { value: i };
+          if (this.#g && this.#x) {
+            let h = this.#g[e], o = this.#x[e];
+            if (h && o) {
+              let a = h - (this.#c.now() - o);
+              r.ttl = a, r.start = Date.now();
+            }
+          }
+          return this.#O && (r.size = this.#O[e]), r;
+        }
+        dump() {
+          let t = [];
+          for (let e of this.#k({ allowStale: true })) {
+            let s = this.#a[e], i = this.#i[e], r = this.#l(i) ? i.__staleWhileFetching : i;
+            if (r === void 0 || s === void 0) continue;
+            let h = { value: r };
+            if (this.#g && this.#x) {
+              h.ttl = this.#g[e];
+              let o = this.#c.now() - this.#x[e];
+              h.start = Math.floor(Date.now() - o);
+            }
+            this.#O && (h.size = this.#O[e]), t.unshift([s, h]);
+          }
+          return t;
+        }
+        load(t) {
+          this.clear();
+          for (let [e, s] of t) {
+            if (s.start) {
+              let i = Date.now() - s.start;
+              s.start = this.#c.now() - i;
+            }
+            this.set(e, s.value, s);
+          }
+        }
+        set(t, e, s = {}) {
+          if (e === void 0) return this.delete(t), this;
+          let { ttl: i = this.ttl, start: r, noDisposeOnSet: h = this.noDisposeOnSet, sizeCalculation: o = this.sizeCalculation, status: a } = s, { noUpdateTTL: l = this.noUpdateTTL } = s, f = this.#B(t, e, s.size || 0, o);
+          if (this.maxEntrySize && f > this.maxEntrySize) return a && (a.set = "miss", a.maxEntrySizeExceeded = true), this.#A(t, "set"), this;
+          let c = this.#o === 0 ? void 0 : this.#u.get(t);
+          if (c === void 0) c = this.#o === 0 ? this.#p : this.#R.length !== 0 ? this.#R.pop() : this.#o === this.#t ? this.#G(false) : this.#o, this.#a[c] = t, this.#i[c] = e, this.#u.set(t, c), this.#d[this.#p] = c, this.#v[c] = this.#p, this.#p = c, this.#o++, this.#j(c, f, a), a && (a.set = "add"), l = false, this.#F && this.#r?.(e, t, "add");
+          else {
+            this.#N(c);
+            let d = this.#i[c];
+            if (e !== d) {
+              if (this.#T && this.#l(d)) {
+                d.__abortController.abort(new Error("replaced"));
+                let { __staleWhileFetching: u } = d;
+                u !== void 0 && !h && (this.#E && this.#n?.(u, t, "set"), this.#e && this.#m?.push([u, t, "set"]));
+              } else h || (this.#E && this.#n?.(d, t, "set"), this.#e && this.#m?.push([d, t, "set"]));
+              if (this.#L(c), this.#j(c, f, a), this.#i[c] = e, a) {
+                a.set = "replace";
+                let u = d && this.#l(d) ? d.__staleWhileFetching : d;
+                u !== void 0 && (a.oldValue = u);
+              }
+            } else a && (a.set = "update");
+            this.#F && this.onInsert?.(e, t, e === d ? "update" : "replace");
+          }
+          if (i !== 0 && !this.#g && this.#P(), this.#g && (l || this.#W(c, i, r), a && this.#D(a, c)), !h && this.#e && this.#m) {
+            let d = this.#m, u;
+            for (; u = d?.shift(); ) this.#h?.(...u);
+          }
+          return this;
+        }
+        pop() {
+          try {
+            for (; this.#o; ) {
+              let t = this.#i[this.#y];
+              if (this.#G(true), this.#l(t)) {
+                if (t.__staleWhileFetching) return t.__staleWhileFetching;
+              } else if (t !== void 0) return t;
+            }
+          } finally {
+            if (this.#e && this.#m) {
+              let t = this.#m, e;
+              for (; e = t?.shift(); ) this.#h?.(...e);
+            }
+          }
+        }
+        #G(t) {
+          let e = this.#y, s = this.#a[e], i = this.#i[e];
+          return this.#T && this.#l(i) ? i.__abortController.abort(new Error("evicted")) : (this.#E || this.#e) && (this.#E && this.#n?.(i, s, "evict"), this.#e && this.#m?.push([i, s, "evict"])), this.#L(e), this.#b?.[e] && (clearTimeout(this.#b[e]), this.#b[e] = void 0), t && (this.#a[e] = void 0, this.#i[e] = void 0, this.#R.push(e)), this.#o === 1 ? (this.#y = this.#p = 0, this.#R.length = 0) : this.#y = this.#d[e], this.#u.delete(s), this.#o--, e;
+        }
+        has(t, e = {}) {
+          let { updateAgeOnHas: s = this.updateAgeOnHas, status: i } = e, r = this.#u.get(t);
+          if (r !== void 0) {
+            let h = this.#i[r];
+            if (this.#l(h) && h.__staleWhileFetching === void 0) return false;
+            if (this.#_(r)) i && (i.has = "stale", this.#D(i, r));
+            else return s && this.#C(r), i && (i.has = "hit", this.#D(i, r)), true;
+          } else i && (i.has = "miss");
           return false;
         }
-        return true;
-      }
-      shouldWalk(dirs, walkFilter) {
-        return (this.#type & IFDIR) === IFDIR && !(this.#type & ENOCHILD) && !dirs.has(this) && (!walkFilter || walkFilter(this));
-      }
-      /**
-       * Return the Path object corresponding to path as resolved
-       * by realpath(3).
-       *
-       * If the realpath call fails for any reason, `undefined` is returned.
-       *
-       * Result is cached, and thus may be outdated if the filesystem is mutated.
-       * On success, returns a Path object.
-       */
-      async realpath() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = await this.#fs.promises.realpath(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
+        peek(t, e = {}) {
+          let { allowStale: s = this.allowStale } = e, i = this.#u.get(t);
+          if (i === void 0 || !s && this.#_(i)) return;
+          let r = this.#i[i];
+          return this.#l(r) ? r.__staleWhileFetching : r;
         }
-      }
-      /**
-       * Synchronous {@link realpath}
-       */
-      realpathSync() {
-        if (this.#realpath)
-          return this.#realpath;
-        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
-          return void 0;
-        try {
-          const rp = this.#fs.realpathSync(this.fullpath());
-          return this.#realpath = this.resolve(rp);
-        } catch (_2) {
-          this.#markENOREALPATH();
+        #z(t, e, s, i) {
+          let r = e === void 0 ? void 0 : this.#i[e];
+          if (this.#l(r)) return r;
+          let h = new Lt(), { signal: o } = s;
+          o?.addEventListener("abort", () => h.abort(o.reason), { signal: h.signal });
+          let a = { signal: h.signal, options: s, context: i }, l = (p, b = false) => {
+            let { aborted: w } = h.signal, v = s.ignoreFetchAbort && p !== void 0, E = s.ignoreFetchAbort || !!(s.allowStaleOnFetchAbort && p !== void 0);
+            if (s.status && (w && !b ? (s.status.fetchAborted = true, s.status.fetchError = h.signal.reason, v && (s.status.fetchAbortIgnored = true)) : s.status.fetchResolved = true), w && !v && !b) return c(h.signal.reason, E);
+            let y = u, S = this.#i[e];
+            return (S === u || v && b && S === void 0) && (p === void 0 ? y.__staleWhileFetching !== void 0 ? this.#i[e] = y.__staleWhileFetching : this.#A(t, "fetch") : (s.status && (s.status.fetchUpdated = true), this.set(t, p, a.options))), p;
+          }, f = (p) => (s.status && (s.status.fetchRejected = true, s.status.fetchError = p), c(p, false)), c = (p, b) => {
+            let { aborted: w } = h.signal, v = w && s.allowStaleOnFetchAbort, E = v || s.allowStaleOnFetchRejection, y = E || s.noDeleteOnFetchRejection, S = u;
+            if (this.#i[e] === u && (!y || !b && S.__staleWhileFetching === void 0 ? this.#A(t, "fetch") : v || (this.#i[e] = S.__staleWhileFetching)), E) return s.status && S.__staleWhileFetching !== void 0 && (s.status.returnedStale = true), S.__staleWhileFetching;
+            if (S.__returned === S) throw p;
+          }, d = (p, b) => {
+            let w = this.#S?.(t, r, a);
+            w && w instanceof Promise && w.then((v) => p(v === void 0 ? void 0 : v), b), h.signal.addEventListener("abort", () => {
+              (!s.ignoreFetchAbort || s.allowStaleOnFetchAbort) && (p(void 0), s.allowStaleOnFetchAbort && (p = (v) => l(v, true)));
+            });
+          };
+          s.status && (s.status.fetchDispatched = true);
+          let u = new Promise(d).then(l, f), m = Object.assign(u, { __abortController: h, __staleWhileFetching: r, __returned: void 0 });
+          return e === void 0 ? (this.set(t, m, { ...a.options, status: void 0 }), e = this.#u.get(t)) : this.#i[e] = m, m;
         }
-      }
-      /**
-       * Internal method to mark this Path object as the scurry cwd,
-       * called by {@link PathScurry#chdir}
-       *
-       * @internal
-       */
-      [setAsCwd](oldCwd) {
-        if (oldCwd === this)
-          return;
-        oldCwd.isCWD = false;
-        this.isCWD = true;
-        const changed = /* @__PURE__ */ new Set([]);
-        let rp = [];
-        let p = this;
-        while (p && p.parent) {
-          changed.add(p);
-          p.#relative = rp.join(this.sep);
-          p.#relativePosix = rp.join("/");
-          p = p.parent;
-          rp.push("..");
+        #l(t) {
+          if (!this.#T) return false;
+          let e = t;
+          return !!e && e instanceof Promise && e.hasOwnProperty("__staleWhileFetching") && e.__abortController instanceof Lt;
         }
-        p = oldCwd;
-        while (p && p.parent && !changed.has(p)) {
-          p.#relative = void 0;
-          p.#relativePosix = void 0;
-          p = p.parent;
+        async fetch(t, e = {}) {
+          let { allowStale: s = this.allowStale, updateAgeOnGet: i = this.updateAgeOnGet, noDeleteOnStaleGet: r = this.noDeleteOnStaleGet, ttl: h = this.ttl, noDisposeOnSet: o = this.noDisposeOnSet, size: a = 0, sizeCalculation: l = this.sizeCalculation, noUpdateTTL: f = this.noUpdateTTL, noDeleteOnFetchRejection: c = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection: d = this.allowStaleOnFetchRejection, ignoreFetchAbort: u = this.ignoreFetchAbort, allowStaleOnFetchAbort: m = this.allowStaleOnFetchAbort, context: p, forceRefresh: b = false, status: w, signal: v } = e;
+          if (!this.#T) return w && (w.fetch = "get"), this.get(t, { allowStale: s, updateAgeOnGet: i, noDeleteOnStaleGet: r, status: w });
+          let E = { allowStale: s, updateAgeOnGet: i, noDeleteOnStaleGet: r, ttl: h, noDisposeOnSet: o, size: a, sizeCalculation: l, noUpdateTTL: f, noDeleteOnFetchRejection: c, allowStaleOnFetchRejection: d, allowStaleOnFetchAbort: m, ignoreFetchAbort: u, status: w, signal: v }, y = this.#u.get(t);
+          if (y === void 0) {
+            w && (w.fetch = "miss");
+            let S = this.#z(t, y, E, p);
+            return S.__returned = S;
+          } else {
+            let S = this.#i[y];
+            if (this.#l(S)) {
+              let st = s && S.__staleWhileFetching !== void 0;
+              return w && (w.fetch = "inflight", st && (w.returnedStale = true)), st ? S.__staleWhileFetching : S.__returned = S;
+            }
+            let B = this.#_(y);
+            if (!b && !B) return w && (w.fetch = "hit"), this.#N(y), i && this.#C(y), w && this.#D(w, y), S;
+            let U = this.#z(t, y, E, p), et = U.__staleWhileFetching !== void 0 && s;
+            return w && (w.fetch = B ? "stale" : "refresh", et && B && (w.returnedStale = true)), et ? U.__staleWhileFetching : U.__returned = U;
+          }
         }
-      }
-    };
-    exports2.PathBase = PathBase;
-    var PathWin32 = class _PathWin32 extends PathBase {
-      /**
-       * Separator for generating path strings.
-       */
-      sep = "\\";
-      /**
-       * Separator for parsing path strings.
-       */
-      splitSep = eitherSep;
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type, root, roots, nocase, children, opts);
-      }
-      /**
-       * @internal
-       */
-      newChild(name, type = UNKNOWN, opts = {}) {
-        return new _PathWin32(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
-      }
-      /**
-       * @internal
-       */
-      getRootString(path29) {
-        return node_path_1.win32.parse(path29).root;
-      }
-      /**
-       * @internal
-       */
-      getRoot(rootPath) {
-        rootPath = uncToDrive(rootPath.toUpperCase());
-        if (rootPath === this.root.name) {
+        async forceFetch(t, e = {}) {
+          let s = await this.fetch(t, e);
+          if (s === void 0) throw new Error("fetch() returned undefined");
+          return s;
+        }
+        memo(t, e = {}) {
+          let s = this.#w;
+          if (!s) throw new Error("no memoMethod provided to constructor");
+          let { context: i, forceRefresh: r, ...h } = e, o = this.get(t, h);
+          if (!r && o !== void 0) return o;
+          let a = s(t, o, { options: h, context: i });
+          return this.set(t, a, h), a;
+        }
+        get(t, e = {}) {
+          let { allowStale: s = this.allowStale, updateAgeOnGet: i = this.updateAgeOnGet, noDeleteOnStaleGet: r = this.noDeleteOnStaleGet, status: h } = e, o = this.#u.get(t);
+          if (o !== void 0) {
+            let a = this.#i[o], l = this.#l(a);
+            return h && this.#D(h, o), this.#_(o) ? (h && (h.get = "stale"), l ? (h && s && a.__staleWhileFetching !== void 0 && (h.returnedStale = true), s ? a.__staleWhileFetching : void 0) : (r || this.#A(t, "expire"), h && s && (h.returnedStale = true), s ? a : void 0)) : (h && (h.get = "hit"), l ? a.__staleWhileFetching : (this.#N(o), i && this.#C(o), a));
+          } else h && (h.get = "miss");
+        }
+        #U(t, e) {
+          this.#v[e] = t, this.#d[t] = e;
+        }
+        #N(t) {
+          t !== this.#p && (t === this.#y ? this.#y = this.#d[t] : this.#U(this.#v[t], this.#d[t]), this.#U(this.#p, t), this.#p = t);
+        }
+        delete(t) {
+          return this.#A(t, "delete");
+        }
+        #A(t, e) {
+          let s = false;
+          if (this.#o !== 0) {
+            let i = this.#u.get(t);
+            if (i !== void 0) if (this.#b?.[i] && (clearTimeout(this.#b?.[i]), this.#b[i] = void 0), s = true, this.#o === 1) this.#q(e);
+            else {
+              this.#L(i);
+              let r = this.#i[i];
+              if (this.#l(r) ? r.__abortController.abort(new Error("deleted")) : (this.#E || this.#e) && (this.#E && this.#n?.(r, t, e), this.#e && this.#m?.push([r, t, e])), this.#u.delete(t), this.#a[i] = void 0, this.#i[i] = void 0, i === this.#p) this.#p = this.#v[i];
+              else if (i === this.#y) this.#y = this.#d[i];
+              else {
+                let h = this.#v[i];
+                this.#d[h] = this.#d[i];
+                let o = this.#d[i];
+                this.#v[o] = this.#v[i];
+              }
+              this.#o--, this.#R.push(i);
+            }
+          }
+          if (this.#e && this.#m?.length) {
+            let i = this.#m, r;
+            for (; r = i?.shift(); ) this.#h?.(...r);
+          }
+          return s;
+        }
+        clear() {
+          return this.#q("delete");
+        }
+        #q(t) {
+          for (let e of this.#M({ allowStale: true })) {
+            let s = this.#i[e];
+            if (this.#l(s)) s.__abortController.abort(new Error("deleted"));
+            else {
+              let i = this.#a[e];
+              this.#E && this.#n?.(s, i, t), this.#e && this.#m?.push([s, i, t]);
+            }
+          }
+          if (this.#u.clear(), this.#i.fill(void 0), this.#a.fill(void 0), this.#g && this.#x) {
+            this.#g.fill(0), this.#x.fill(0);
+            for (let e of this.#b ?? []) e !== void 0 && clearTimeout(e);
+            this.#b?.fill(void 0);
+          }
+          if (this.#O && this.#O.fill(0), this.#y = 0, this.#p = 0, this.#R.length = 0, this.#f = 0, this.#o = 0, this.#e && this.#m) {
+            let e = this.#m, s;
+            for (; s = e?.shift(); ) this.#h?.(...s);
+          }
+        }
+      };
+      Wt.LRUCache = rr;
+    });
+    var Oe = R((P) => {
+      "use strict";
+      var nr = P && P.__importDefault || function(n) {
+        return n && n.__esModule ? n : { default: n };
+      };
+      Object.defineProperty(P, "__esModule", { value: true });
+      P.Minipass = P.isWritable = P.isReadable = P.isStream = void 0;
+      var ds = typeof process == "object" && process ? process : { stdout: null, stderr: null }, _e = require("node:events"), ws = nr(require("node:stream")), hr = require("node:string_decoder"), or2 = (n) => !!n && typeof n == "object" && (n instanceof qt || n instanceof ws.default || (0, P.isReadable)(n) || (0, P.isWritable)(n));
+      P.isStream = or2;
+      var ar = (n) => !!n && typeof n == "object" && n instanceof _e.EventEmitter && typeof n.pipe == "function" && n.pipe !== ws.default.Writable.prototype.pipe;
+      P.isReadable = ar;
+      var lr = (n) => !!n && typeof n == "object" && n instanceof _e.EventEmitter && typeof n.write == "function" && typeof n.end == "function";
+      P.isWritable = lr;
+      var $ = /* @__PURE__ */ Symbol("EOF"), q = /* @__PURE__ */ Symbol("maybeEmitEnd"), K = /* @__PURE__ */ Symbol("emittedEnd"), Bt = /* @__PURE__ */ Symbol("emittingEnd"), lt2 = /* @__PURE__ */ Symbol("emittedError"), It = /* @__PURE__ */ Symbol("closed"), ps = /* @__PURE__ */ Symbol("read"), Gt = /* @__PURE__ */ Symbol("flush"), ms = /* @__PURE__ */ Symbol("flushChunk"), L = /* @__PURE__ */ Symbol("encoding"), rt = /* @__PURE__ */ Symbol("decoder"), x = /* @__PURE__ */ Symbol("flowing"), ct = /* @__PURE__ */ Symbol("paused"), nt = /* @__PURE__ */ Symbol("resume"), T = /* @__PURE__ */ Symbol("buffer"), M = /* @__PURE__ */ Symbol("pipes"), C = /* @__PURE__ */ Symbol("bufferLength"), we = /* @__PURE__ */ Symbol("bufferPush"), zt = /* @__PURE__ */ Symbol("bufferShift"), k = /* @__PURE__ */ Symbol("objectMode"), O = /* @__PURE__ */ Symbol("destroyed"), be = /* @__PURE__ */ Symbol("error"), ye = /* @__PURE__ */ Symbol("emitData"), gs = /* @__PURE__ */ Symbol("emitEnd"), Se = /* @__PURE__ */ Symbol("emitEnd2"), I = /* @__PURE__ */ Symbol("async"), ve = /* @__PURE__ */ Symbol("abort"), Ut = /* @__PURE__ */ Symbol("aborted"), ut = /* @__PURE__ */ Symbol("signal"), Z = /* @__PURE__ */ Symbol("dataListeners"), D = /* @__PURE__ */ Symbol("discarded"), ft = (n) => Promise.resolve().then(n), cr2 = (n) => n(), ur = (n) => n === "end" || n === "finish" || n === "prefinish", fr = (n) => n instanceof ArrayBuffer || !!n && typeof n == "object" && n.constructor && n.constructor.name === "ArrayBuffer" && n.byteLength >= 0, dr = (n) => !Buffer.isBuffer(n) && ArrayBuffer.isView(n), $t = class {
+        src;
+        dest;
+        opts;
+        ondrain;
+        constructor(t, e, s) {
+          this.src = t, this.dest = e, this.opts = s, this.ondrain = () => t[nt](), this.dest.on("drain", this.ondrain);
+        }
+        unpipe() {
+          this.dest.removeListener("drain", this.ondrain);
+        }
+        proxyErrors(t) {
+        }
+        end() {
+          this.unpipe(), this.opts.end && this.dest.end();
+        }
+      }, Ee = class extends $t {
+        unpipe() {
+          this.src.removeListener("error", this.proxyErrors), super.unpipe();
+        }
+        constructor(t, e, s) {
+          super(t, e, s), this.proxyErrors = (i) => this.dest.emit("error", i), t.on("error", this.proxyErrors);
+        }
+      }, pr = (n) => !!n.objectMode, mr = (n) => !n.objectMode && !!n.encoding && n.encoding !== "buffer", qt = class extends _e.EventEmitter {
+        [x] = false;
+        [ct] = false;
+        [M] = [];
+        [T] = [];
+        [k];
+        [L];
+        [I];
+        [rt];
+        [$] = false;
+        [K] = false;
+        [Bt] = false;
+        [It] = false;
+        [lt2] = null;
+        [C] = 0;
+        [O] = false;
+        [ut];
+        [Ut] = false;
+        [Z] = 0;
+        [D] = false;
+        writable = true;
+        readable = true;
+        constructor(...t) {
+          let e = t[0] || {};
+          if (super(), e.objectMode && typeof e.encoding == "string") throw new TypeError("Encoding and objectMode may not be used together");
+          pr(e) ? (this[k] = true, this[L] = null) : mr(e) ? (this[L] = e.encoding, this[k] = false) : (this[k] = false, this[L] = null), this[I] = !!e.async, this[rt] = this[L] ? new hr.StringDecoder(this[L]) : null, e && e.debugExposeBuffer === true && Object.defineProperty(this, "buffer", { get: () => this[T] }), e && e.debugExposePipes === true && Object.defineProperty(this, "pipes", { get: () => this[M] });
+          let { signal: s } = e;
+          s && (this[ut] = s, s.aborted ? this[ve]() : s.addEventListener("abort", () => this[ve]()));
+        }
+        get bufferLength() {
+          return this[C];
+        }
+        get encoding() {
+          return this[L];
+        }
+        set encoding(t) {
+          throw new Error("Encoding must be set at instantiation time");
+        }
+        setEncoding(t) {
+          throw new Error("Encoding must be set at instantiation time");
+        }
+        get objectMode() {
+          return this[k];
+        }
+        set objectMode(t) {
+          throw new Error("objectMode must be set at instantiation time");
+        }
+        get async() {
+          return this[I];
+        }
+        set async(t) {
+          this[I] = this[I] || !!t;
+        }
+        [ve]() {
+          this[Ut] = true, this.emit("abort", this[ut]?.reason), this.destroy(this[ut]?.reason);
+        }
+        get aborted() {
+          return this[Ut];
+        }
+        set aborted(t) {
+        }
+        write(t, e, s) {
+          if (this[Ut]) return false;
+          if (this[$]) throw new Error("write after end");
+          if (this[O]) return this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" })), true;
+          typeof e == "function" && (s = e, e = "utf8"), e || (e = "utf8");
+          let i = this[I] ? ft : cr2;
+          if (!this[k] && !Buffer.isBuffer(t)) {
+            if (dr(t)) t = Buffer.from(t.buffer, t.byteOffset, t.byteLength);
+            else if (fr(t)) t = Buffer.from(t);
+            else if (typeof t != "string") throw new Error("Non-contiguous data written to non-objectMode stream");
+          }
+          return this[k] ? (this[x] && this[C] !== 0 && this[Gt](true), this[x] ? this.emit("data", t) : this[we](t), this[C] !== 0 && this.emit("readable"), s && i(s), this[x]) : t.length ? (typeof t == "string" && !(e === this[L] && !this[rt]?.lastNeed) && (t = Buffer.from(t, e)), Buffer.isBuffer(t) && this[L] && (t = this[rt].write(t)), this[x] && this[C] !== 0 && this[Gt](true), this[x] ? this.emit("data", t) : this[we](t), this[C] !== 0 && this.emit("readable"), s && i(s), this[x]) : (this[C] !== 0 && this.emit("readable"), s && i(s), this[x]);
+        }
+        read(t) {
+          if (this[O]) return null;
+          if (this[D] = false, this[C] === 0 || t === 0 || t && t > this[C]) return this[q](), null;
+          this[k] && (t = null), this[T].length > 1 && !this[k] && (this[T] = [this[L] ? this[T].join("") : Buffer.concat(this[T], this[C])]);
+          let e = this[ps](t || null, this[T][0]);
+          return this[q](), e;
+        }
+        [ps](t, e) {
+          if (this[k]) this[zt]();
+          else {
+            let s = e;
+            t === s.length || t === null ? this[zt]() : typeof s == "string" ? (this[T][0] = s.slice(t), e = s.slice(0, t), this[C] -= t) : (this[T][0] = s.subarray(t), e = s.subarray(0, t), this[C] -= t);
+          }
+          return this.emit("data", e), !this[T].length && !this[$] && this.emit("drain"), e;
+        }
+        end(t, e, s) {
+          return typeof t == "function" && (s = t, t = void 0), typeof e == "function" && (s = e, e = "utf8"), t !== void 0 && this.write(t, e), s && this.once("end", s), this[$] = true, this.writable = false, (this[x] || !this[ct]) && this[q](), this;
+        }
+        [nt]() {
+          this[O] || (!this[Z] && !this[M].length && (this[D] = true), this[ct] = false, this[x] = true, this.emit("resume"), this[T].length ? this[Gt]() : this[$] ? this[q]() : this.emit("drain"));
+        }
+        resume() {
+          return this[nt]();
+        }
+        pause() {
+          this[x] = false, this[ct] = true, this[D] = false;
+        }
+        get destroyed() {
+          return this[O];
+        }
+        get flowing() {
+          return this[x];
+        }
+        get paused() {
+          return this[ct];
+        }
+        [we](t) {
+          this[k] ? this[C] += 1 : this[C] += t.length, this[T].push(t);
+        }
+        [zt]() {
+          return this[k] ? this[C] -= 1 : this[C] -= this[T][0].length, this[T].shift();
+        }
+        [Gt](t = false) {
+          do
+            ;
+          while (this[ms](this[zt]()) && this[T].length);
+          !t && !this[T].length && !this[$] && this.emit("drain");
+        }
+        [ms](t) {
+          return this.emit("data", t), this[x];
+        }
+        pipe(t, e) {
+          if (this[O]) return t;
+          this[D] = false;
+          let s = this[K];
+          return e = e || {}, t === ds.stdout || t === ds.stderr ? e.end = false : e.end = e.end !== false, e.proxyErrors = !!e.proxyErrors, s ? e.end && t.end() : (this[M].push(e.proxyErrors ? new Ee(this, t, e) : new $t(this, t, e)), this[I] ? ft(() => this[nt]()) : this[nt]()), t;
+        }
+        unpipe(t) {
+          let e = this[M].find((s) => s.dest === t);
+          e && (this[M].length === 1 ? (this[x] && this[Z] === 0 && (this[x] = false), this[M] = []) : this[M].splice(this[M].indexOf(e), 1), e.unpipe());
+        }
+        addListener(t, e) {
+          return this.on(t, e);
+        }
+        on(t, e) {
+          let s = super.on(t, e);
+          if (t === "data") this[D] = false, this[Z]++, !this[M].length && !this[x] && this[nt]();
+          else if (t === "readable" && this[C] !== 0) super.emit("readable");
+          else if (ur(t) && this[K]) super.emit(t), this.removeAllListeners(t);
+          else if (t === "error" && this[lt2]) {
+            let i = e;
+            this[I] ? ft(() => i.call(this, this[lt2])) : i.call(this, this[lt2]);
+          }
+          return s;
+        }
+        removeListener(t, e) {
+          return this.off(t, e);
+        }
+        off(t, e) {
+          let s = super.off(t, e);
+          return t === "data" && (this[Z] = this.listeners("data").length, this[Z] === 0 && !this[D] && !this[M].length && (this[x] = false)), s;
+        }
+        removeAllListeners(t) {
+          let e = super.removeAllListeners(t);
+          return (t === "data" || t === void 0) && (this[Z] = 0, !this[D] && !this[M].length && (this[x] = false)), e;
+        }
+        get emittedEnd() {
+          return this[K];
+        }
+        [q]() {
+          !this[Bt] && !this[K] && !this[O] && this[T].length === 0 && this[$] && (this[Bt] = true, this.emit("end"), this.emit("prefinish"), this.emit("finish"), this[It] && this.emit("close"), this[Bt] = false);
+        }
+        emit(t, ...e) {
+          let s = e[0];
+          if (t !== "error" && t !== "close" && t !== O && this[O]) return false;
+          if (t === "data") return !this[k] && !s ? false : this[I] ? (ft(() => this[ye](s)), true) : this[ye](s);
+          if (t === "end") return this[gs]();
+          if (t === "close") {
+            if (this[It] = true, !this[K] && !this[O]) return false;
+            let r = super.emit("close");
+            return this.removeAllListeners("close"), r;
+          } else if (t === "error") {
+            this[lt2] = s, super.emit(be, s);
+            let r = !this[ut] || this.listeners("error").length ? super.emit("error", s) : false;
+            return this[q](), r;
+          } else if (t === "resume") {
+            let r = super.emit("resume");
+            return this[q](), r;
+          } else if (t === "finish" || t === "prefinish") {
+            let r = super.emit(t);
+            return this.removeAllListeners(t), r;
+          }
+          let i = super.emit(t, ...e);
+          return this[q](), i;
+        }
+        [ye](t) {
+          for (let s of this[M]) s.dest.write(t) === false && this.pause();
+          let e = this[D] ? false : super.emit("data", t);
+          return this[q](), e;
+        }
+        [gs]() {
+          return this[K] ? false : (this[K] = true, this.readable = false, this[I] ? (ft(() => this[Se]()), true) : this[Se]());
+        }
+        [Se]() {
+          if (this[rt]) {
+            let e = this[rt].end();
+            if (e) {
+              for (let s of this[M]) s.dest.write(e);
+              this[D] || super.emit("data", e);
+            }
+          }
+          for (let e of this[M]) e.end();
+          let t = super.emit("end");
+          return this.removeAllListeners("end"), t;
+        }
+        async collect() {
+          let t = Object.assign([], { dataLength: 0 });
+          this[k] || (t.dataLength = 0);
+          let e = this.promise();
+          return this.on("data", (s) => {
+            t.push(s), this[k] || (t.dataLength += s.length);
+          }), await e, t;
+        }
+        async concat() {
+          if (this[k]) throw new Error("cannot concat in objectMode");
+          let t = await this.collect();
+          return this[L] ? t.join("") : Buffer.concat(t, t.dataLength);
+        }
+        async promise() {
+          return new Promise((t, e) => {
+            this.on(O, () => e(new Error("stream destroyed"))), this.on("error", (s) => e(s)), this.on("end", () => t());
+          });
+        }
+        [Symbol.asyncIterator]() {
+          this[D] = false;
+          let t = false, e = async () => (this.pause(), t = true, { value: void 0, done: true });
+          return { next: () => {
+            if (t) return e();
+            let i = this.read();
+            if (i !== null) return Promise.resolve({ done: false, value: i });
+            if (this[$]) return e();
+            let r, h, o = (c) => {
+              this.off("data", a), this.off("end", l), this.off(O, f), e(), h(c);
+            }, a = (c) => {
+              this.off("error", o), this.off("end", l), this.off(O, f), this.pause(), r({ value: c, done: !!this[$] });
+            }, l = () => {
+              this.off("error", o), this.off("data", a), this.off(O, f), e(), r({ done: true, value: void 0 });
+            }, f = () => o(new Error("stream destroyed"));
+            return new Promise((c, d) => {
+              h = d, r = c, this.once(O, f), this.once("error", o), this.once("end", l), this.once("data", a);
+            });
+          }, throw: e, return: e, [Symbol.asyncIterator]() {
+            return this;
+          }, [Symbol.asyncDispose]: async () => {
+          } };
+        }
+        [Symbol.iterator]() {
+          this[D] = false;
+          let t = false, e = () => (this.pause(), this.off(be, e), this.off(O, e), this.off("end", e), t = true, { done: true, value: void 0 }), s = () => {
+            if (t) return e();
+            let i = this.read();
+            return i === null ? e() : { done: false, value: i };
+          };
+          return this.once("end", e), this.once(be, e), this.once(O, e), { next: s, throw: e, return: e, [Symbol.iterator]() {
+            return this;
+          }, [Symbol.dispose]: () => {
+          } };
+        }
+        destroy(t) {
+          if (this[O]) return t ? this.emit("error", t) : this.emit(O), this;
+          this[O] = true, this[D] = true, this[T].length = 0, this[C] = 0;
+          let e = this;
+          return typeof e.close == "function" && !this[It] && e.close(), t ? this.emit("error", t) : this.emit(O), this;
+        }
+        static get isStream() {
+          return P.isStream;
+        }
+      };
+      P.Minipass = qt;
+    });
+    var Ms = R((_2) => {
+      "use strict";
+      var gr = _2 && _2.__createBinding || (Object.create ? (function(n, t, e, s) {
+        s === void 0 && (s = e);
+        var i = Object.getOwnPropertyDescriptor(t, e);
+        (!i || ("get" in i ? !t.__esModule : i.writable || i.configurable)) && (i = { enumerable: true, get: function() {
+          return t[e];
+        } }), Object.defineProperty(n, s, i);
+      }) : (function(n, t, e, s) {
+        s === void 0 && (s = e), n[s] = t[e];
+      })), wr = _2 && _2.__setModuleDefault || (Object.create ? (function(n, t) {
+        Object.defineProperty(n, "default", { enumerable: true, value: t });
+      }) : function(n, t) {
+        n.default = t;
+      }), br = _2 && _2.__importStar || function(n) {
+        if (n && n.__esModule) return n;
+        var t = {};
+        if (n != null) for (var e in n) e !== "default" && Object.prototype.hasOwnProperty.call(n, e) && gr(t, n, e);
+        return wr(t, n), t;
+      };
+      Object.defineProperty(_2, "__esModule", { value: true });
+      _2.PathScurry = _2.Path = _2.PathScurryDarwin = _2.PathScurryPosix = _2.PathScurryWin32 = _2.PathScurryBase = _2.PathPosix = _2.PathWin32 = _2.PathBase = _2.ChildrenCache = _2.ResolveCache = void 0;
+      var Qt = fs32(), Yt = require("node:path"), yr = require("node:url"), pt = require("fs"), Sr = br(require("node:fs")), vr = pt.realpathSync.native, Ht = require("node:fs/promises"), bs = Oe(), mt = { lstatSync: pt.lstatSync, readdir: pt.readdir, readdirSync: pt.readdirSync, readlinkSync: pt.readlinkSync, realpathSync: vr, promises: { lstat: Ht.lstat, readdir: Ht.readdir, readlink: Ht.readlink, realpath: Ht.realpath } }, _s = (n) => !n || n === mt || n === Sr ? mt : { ...mt, ...n, promises: { ...mt.promises, ...n.promises || {} } }, Os = /^\\\\\?\\([a-z]:)\\?$/i, Er = (n) => n.replace(/\//g, "\\").replace(Os, "$1\\"), _r = /[\\\/]/, N = 0, xs = 1, Ts = 2, G = 4, Cs = 6, Rs = 8, Q = 10, As = 12, j = 15, dt = ~j, xe = 16, ys = 32, gt = 64, W = 128, Vt = 256, Xt = 512, Ss = gt | W | Xt, Or = 1023, Te = (n) => n.isFile() ? Rs : n.isDirectory() ? G : n.isSymbolicLink() ? Q : n.isCharacterDevice() ? Ts : n.isBlockDevice() ? Cs : n.isSocket() ? As : n.isFIFO() ? xs : N, vs = new Qt.LRUCache({ max: 2 ** 12 }), wt = (n) => {
+        let t = vs.get(n);
+        if (t) return t;
+        let e = n.normalize("NFKD");
+        return vs.set(n, e), e;
+      }, Es = new Qt.LRUCache({ max: 2 ** 12 }), Kt = (n) => {
+        let t = Es.get(n);
+        if (t) return t;
+        let e = wt(n.toLowerCase());
+        return Es.set(n, e), e;
+      }, bt = class extends Qt.LRUCache {
+        constructor() {
+          super({ max: 256 });
+        }
+      };
+      _2.ResolveCache = bt;
+      var Jt = class extends Qt.LRUCache {
+        constructor(t = 16 * 1024) {
+          super({ maxSize: t, sizeCalculation: (e) => e.length + 1 });
+        }
+      };
+      _2.ChildrenCache = Jt;
+      var ks = /* @__PURE__ */ Symbol("PathScurry setAsCwd"), A = class {
+        name;
+        root;
+        roots;
+        parent;
+        nocase;
+        isCWD = false;
+        #t;
+        #s;
+        get dev() {
+          return this.#s;
+        }
+        #n;
+        get mode() {
+          return this.#n;
+        }
+        #r;
+        get nlink() {
+          return this.#r;
+        }
+        #h;
+        get uid() {
+          return this.#h;
+        }
+        #S;
+        get gid() {
+          return this.#S;
+        }
+        #w;
+        get rdev() {
+          return this.#w;
+        }
+        #c;
+        get blksize() {
+          return this.#c;
+        }
+        #o;
+        get ino() {
+          return this.#o;
+        }
+        #f;
+        get size() {
+          return this.#f;
+        }
+        #u;
+        get blocks() {
+          return this.#u;
+        }
+        #a;
+        get atimeMs() {
+          return this.#a;
+        }
+        #i;
+        get mtimeMs() {
+          return this.#i;
+        }
+        #d;
+        get ctimeMs() {
+          return this.#d;
+        }
+        #v;
+        get birthtimeMs() {
+          return this.#v;
+        }
+        #y;
+        get atime() {
+          return this.#y;
+        }
+        #p;
+        get mtime() {
+          return this.#p;
+        }
+        #R;
+        get ctime() {
+          return this.#R;
+        }
+        #m;
+        get birthtime() {
+          return this.#m;
+        }
+        #O;
+        #x;
+        #g;
+        #b;
+        #E;
+        #T;
+        #e;
+        #F;
+        #P;
+        #C;
+        get parentPath() {
+          return (this.parent || this).fullpath();
+        }
+        get path() {
+          return this.parentPath;
+        }
+        constructor(t, e = N, s, i, r, h, o) {
+          this.name = t, this.#O = r ? Kt(t) : wt(t), this.#e = e & Or, this.nocase = r, this.roots = i, this.root = s || this, this.#F = h, this.#g = o.fullpath, this.#E = o.relative, this.#T = o.relativePosix, this.parent = o.parent, this.parent ? this.#t = this.parent.#t : this.#t = _s(o.fs);
+        }
+        depth() {
+          return this.#x !== void 0 ? this.#x : this.parent ? this.#x = this.parent.depth() + 1 : this.#x = 0;
+        }
+        childrenCache() {
+          return this.#F;
+        }
+        resolve(t) {
+          if (!t) return this;
+          let e = this.getRootString(t), i = t.substring(e.length).split(this.splitSep);
+          return e ? this.getRoot(e).#D(i) : this.#D(i);
+        }
+        #D(t) {
+          let e = this;
+          for (let s of t) e = e.child(s);
+          return e;
+        }
+        children() {
+          let t = this.#F.get(this);
+          if (t) return t;
+          let e = Object.assign([], { provisional: 0 });
+          return this.#F.set(this, e), this.#e &= ~xe, e;
+        }
+        child(t, e) {
+          if (t === "" || t === ".") return this;
+          if (t === "..") return this.parent || this;
+          let s = this.children(), i = this.nocase ? Kt(t) : wt(t);
+          for (let a of s) if (a.#O === i) return a;
+          let r = this.parent ? this.sep : "", h = this.#g ? this.#g + r + t : void 0, o = this.newChild(t, N, { ...e, parent: this, fullpath: h });
+          return this.canReaddir() || (o.#e |= W), s.push(o), o;
+        }
+        relative() {
+          if (this.isCWD) return "";
+          if (this.#E !== void 0) return this.#E;
+          let t = this.name, e = this.parent;
+          if (!e) return this.#E = this.name;
+          let s = e.relative();
+          return s + (!s || !e.parent ? "" : this.sep) + t;
+        }
+        relativePosix() {
+          if (this.sep === "/") return this.relative();
+          if (this.isCWD) return "";
+          if (this.#T !== void 0) return this.#T;
+          let t = this.name, e = this.parent;
+          if (!e) return this.#T = this.fullpathPosix();
+          let s = e.relativePosix();
+          return s + (!s || !e.parent ? "" : "/") + t;
+        }
+        fullpath() {
+          if (this.#g !== void 0) return this.#g;
+          let t = this.name, e = this.parent;
+          if (!e) return this.#g = this.name;
+          let i = e.fullpath() + (e.parent ? this.sep : "") + t;
+          return this.#g = i;
+        }
+        fullpathPosix() {
+          if (this.#b !== void 0) return this.#b;
+          if (this.sep === "/") return this.#b = this.fullpath();
+          if (!this.parent) {
+            let i = this.fullpath().replace(/\\/g, "/");
+            return /^[a-z]:\//i.test(i) ? this.#b = `//?/${i}` : this.#b = i;
+          }
+          let t = this.parent, e = t.fullpathPosix(), s = e + (!e || !t.parent ? "" : "/") + this.name;
+          return this.#b = s;
+        }
+        isUnknown() {
+          return (this.#e & j) === N;
+        }
+        isType(t) {
+          return this[`is${t}`]();
+        }
+        getType() {
+          return this.isUnknown() ? "Unknown" : this.isDirectory() ? "Directory" : this.isFile() ? "File" : this.isSymbolicLink() ? "SymbolicLink" : this.isFIFO() ? "FIFO" : this.isCharacterDevice() ? "CharacterDevice" : this.isBlockDevice() ? "BlockDevice" : this.isSocket() ? "Socket" : "Unknown";
+        }
+        isFile() {
+          return (this.#e & j) === Rs;
+        }
+        isDirectory() {
+          return (this.#e & j) === G;
+        }
+        isCharacterDevice() {
+          return (this.#e & j) === Ts;
+        }
+        isBlockDevice() {
+          return (this.#e & j) === Cs;
+        }
+        isFIFO() {
+          return (this.#e & j) === xs;
+        }
+        isSocket() {
+          return (this.#e & j) === As;
+        }
+        isSymbolicLink() {
+          return (this.#e & Q) === Q;
+        }
+        lstatCached() {
+          return this.#e & ys ? this : void 0;
+        }
+        readlinkCached() {
+          return this.#P;
+        }
+        realpathCached() {
+          return this.#C;
+        }
+        readdirCached() {
+          let t = this.children();
+          return t.slice(0, t.provisional);
+        }
+        canReadlink() {
+          if (this.#P) return true;
+          if (!this.parent) return false;
+          let t = this.#e & j;
+          return !(t !== N && t !== Q || this.#e & Vt || this.#e & W);
+        }
+        calledReaddir() {
+          return !!(this.#e & xe);
+        }
+        isENOENT() {
+          return !!(this.#e & W);
+        }
+        isNamed(t) {
+          return this.nocase ? this.#O === Kt(t) : this.#O === wt(t);
+        }
+        async readlink() {
+          let t = this.#P;
+          if (t) return t;
+          if (this.canReadlink() && this.parent) try {
+            let e = await this.#t.promises.readlink(this.fullpath()), s = (await this.parent.realpath())?.resolve(e);
+            if (s) return this.#P = s;
+          } catch (e) {
+            this.#M(e.code);
+            return;
+          }
+        }
+        readlinkSync() {
+          let t = this.#P;
+          if (t) return t;
+          if (this.canReadlink() && this.parent) try {
+            let e = this.#t.readlinkSync(this.fullpath()), s = this.parent.realpathSync()?.resolve(e);
+            if (s) return this.#P = s;
+          } catch (e) {
+            this.#M(e.code);
+            return;
+          }
+        }
+        #W(t) {
+          this.#e |= xe;
+          for (let e = t.provisional; e < t.length; e++) {
+            let s = t[e];
+            s && s.#_();
+          }
+        }
+        #_() {
+          this.#e & W || (this.#e = (this.#e | W) & dt, this.#$());
+        }
+        #$() {
+          let t = this.children();
+          t.provisional = 0;
+          for (let e of t) e.#_();
+        }
+        #L() {
+          this.#e |= Xt, this.#j();
+        }
+        #j() {
+          if (this.#e & gt) return;
+          let t = this.#e;
+          (t & j) === G && (t &= dt), this.#e = t | gt, this.#$();
+        }
+        #B(t = "") {
+          t === "ENOTDIR" || t === "EPERM" ? this.#j() : t === "ENOENT" ? this.#_() : this.children().provisional = 0;
+        }
+        #k(t = "") {
+          t === "ENOTDIR" ? this.parent.#j() : t === "ENOENT" && this.#_();
+        }
+        #M(t = "") {
+          let e = this.#e;
+          e |= Vt, t === "ENOENT" && (e |= W), (t === "EINVAL" || t === "UNKNOWN") && (e &= dt), this.#e = e, t === "ENOTDIR" && this.parent && this.parent.#j();
+        }
+        #I(t, e) {
+          return this.#z(t, e) || this.#G(t, e);
+        }
+        #G(t, e) {
+          let s = Te(t), i = this.newChild(t.name, s, { parent: this }), r = i.#e & j;
+          return r !== G && r !== Q && r !== N && (i.#e |= gt), e.unshift(i), e.provisional++, i;
+        }
+        #z(t, e) {
+          for (let s = e.provisional; s < e.length; s++) {
+            let i = e[s];
+            if ((this.nocase ? Kt(t.name) : wt(t.name)) === i.#O) return this.#l(t, i, s, e);
+          }
+        }
+        #l(t, e, s, i) {
+          let r = e.name;
+          return e.#e = e.#e & dt | Te(t), r !== t.name && (e.name = t.name), s !== i.provisional && (s === i.length - 1 ? i.pop() : i.splice(s, 1), i.unshift(e)), i.provisional++, e;
+        }
+        async lstat() {
+          if ((this.#e & W) === 0) try {
+            return this.#U(await this.#t.promises.lstat(this.fullpath())), this;
+          } catch (t) {
+            this.#k(t.code);
+          }
+        }
+        lstatSync() {
+          if ((this.#e & W) === 0) try {
+            return this.#U(this.#t.lstatSync(this.fullpath())), this;
+          } catch (t) {
+            this.#k(t.code);
+          }
+        }
+        #U(t) {
+          let { atime: e, atimeMs: s, birthtime: i, birthtimeMs: r, blksize: h, blocks: o, ctime: a, ctimeMs: l, dev: f, gid: c, ino: d, mode: u, mtime: m, mtimeMs: p, nlink: b, rdev: w, size: v, uid: E } = t;
+          this.#y = e, this.#a = s, this.#m = i, this.#v = r, this.#c = h, this.#u = o, this.#R = a, this.#d = l, this.#s = f, this.#S = c, this.#o = d, this.#n = u, this.#p = m, this.#i = p, this.#r = b, this.#w = w, this.#f = v, this.#h = E;
+          let y = Te(t);
+          this.#e = this.#e & dt | y | ys, y !== N && y !== G && y !== Q && (this.#e |= gt);
+        }
+        #N = [];
+        #A = false;
+        #q(t) {
+          this.#A = false;
+          let e = this.#N.slice();
+          this.#N.length = 0, e.forEach((s) => s(null, t));
+        }
+        readdirCB(t, e = false) {
+          if (!this.canReaddir()) {
+            e ? t(null, []) : queueMicrotask(() => t(null, []));
+            return;
+          }
+          let s = this.children();
+          if (this.calledReaddir()) {
+            let r = s.slice(0, s.provisional);
+            e ? t(null, r) : queueMicrotask(() => t(null, r));
+            return;
+          }
+          if (this.#N.push(t), this.#A) return;
+          this.#A = true;
+          let i = this.fullpath();
+          this.#t.readdir(i, { withFileTypes: true }, (r, h) => {
+            if (r) this.#B(r.code), s.provisional = 0;
+            else {
+              for (let o of h) this.#I(o, s);
+              this.#W(s);
+            }
+            this.#q(s.slice(0, s.provisional));
+          });
+        }
+        #H;
+        async readdir() {
+          if (!this.canReaddir()) return [];
+          let t = this.children();
+          if (this.calledReaddir()) return t.slice(0, t.provisional);
+          let e = this.fullpath();
+          if (this.#H) await this.#H;
+          else {
+            let s = () => {
+            };
+            this.#H = new Promise((i) => s = i);
+            try {
+              for (let i of await this.#t.promises.readdir(e, { withFileTypes: true })) this.#I(i, t);
+              this.#W(t);
+            } catch (i) {
+              this.#B(i.code), t.provisional = 0;
+            }
+            this.#H = void 0, s();
+          }
+          return t.slice(0, t.provisional);
+        }
+        readdirSync() {
+          if (!this.canReaddir()) return [];
+          let t = this.children();
+          if (this.calledReaddir()) return t.slice(0, t.provisional);
+          let e = this.fullpath();
+          try {
+            for (let s of this.#t.readdirSync(e, { withFileTypes: true })) this.#I(s, t);
+            this.#W(t);
+          } catch (s) {
+            this.#B(s.code), t.provisional = 0;
+          }
+          return t.slice(0, t.provisional);
+        }
+        canReaddir() {
+          if (this.#e & Ss) return false;
+          let t = j & this.#e;
+          return t === N || t === G || t === Q;
+        }
+        shouldWalk(t, e) {
+          return (this.#e & G) === G && !(this.#e & Ss) && !t.has(this) && (!e || e(this));
+        }
+        async realpath() {
+          if (this.#C) return this.#C;
+          if (!((Xt | Vt | W) & this.#e)) try {
+            let t = await this.#t.promises.realpath(this.fullpath());
+            return this.#C = this.resolve(t);
+          } catch {
+            this.#L();
+          }
+        }
+        realpathSync() {
+          if (this.#C) return this.#C;
+          if (!((Xt | Vt | W) & this.#e)) try {
+            let t = this.#t.realpathSync(this.fullpath());
+            return this.#C = this.resolve(t);
+          } catch {
+            this.#L();
+          }
+        }
+        [ks](t) {
+          if (t === this) return;
+          t.isCWD = false, this.isCWD = true;
+          let e = /* @__PURE__ */ new Set([]), s = [], i = this;
+          for (; i && i.parent; ) e.add(i), i.#E = s.join(this.sep), i.#T = s.join("/"), i = i.parent, s.push("..");
+          for (i = t; i && i.parent && !e.has(i); ) i.#E = void 0, i.#T = void 0, i = i.parent;
+        }
+      };
+      _2.PathBase = A;
+      var yt = class n extends A {
+        sep = "\\";
+        splitSep = _r;
+        constructor(t, e = N, s, i, r, h, o) {
+          super(t, e, s, i, r, h, o);
+        }
+        newChild(t, e = N, s = {}) {
+          return new n(t, e, this.root, this.roots, this.nocase, this.childrenCache(), s);
+        }
+        getRootString(t) {
+          return Yt.win32.parse(t).root;
+        }
+        getRoot(t) {
+          if (t = Er(t.toUpperCase()), t === this.root.name) return this.root;
+          for (let [e, s] of Object.entries(this.roots)) if (this.sameRoot(t, e)) return this.roots[t] = s;
+          return this.roots[t] = new Et(t, this).root;
+        }
+        sameRoot(t, e = this.root.name) {
+          return t = t.toUpperCase().replace(/\//g, "\\").replace(Os, "$1\\"), t === e;
+        }
+      };
+      _2.PathWin32 = yt;
+      var St = class n extends A {
+        splitSep = "/";
+        sep = "/";
+        constructor(t, e = N, s, i, r, h, o) {
+          super(t, e, s, i, r, h, o);
+        }
+        getRootString(t) {
+          return t.startsWith("/") ? "/" : "";
+        }
+        getRoot(t) {
           return this.root;
         }
-        for (const [compare3, root] of Object.entries(this.roots)) {
-          if (this.sameRoot(rootPath, compare3)) {
-            return this.roots[rootPath] = root;
+        newChild(t, e = N, s = {}) {
+          return new n(t, e, this.root, this.roots, this.nocase, this.childrenCache(), s);
+        }
+      };
+      _2.PathPosix = St;
+      var vt = class {
+        root;
+        rootPath;
+        roots;
+        cwd;
+        #t;
+        #s;
+        #n;
+        nocase;
+        #r;
+        constructor(t = process.cwd(), e, s, { nocase: i, childrenCacheSize: r = 16 * 1024, fs: h = mt } = {}) {
+          this.#r = _s(h), (t instanceof URL || t.startsWith("file://")) && (t = (0, yr.fileURLToPath)(t));
+          let o = e.resolve(t);
+          this.roots = /* @__PURE__ */ Object.create(null), this.rootPath = this.parseRootPath(o), this.#t = new bt(), this.#s = new bt(), this.#n = new Jt(r);
+          let a = o.substring(this.rootPath.length).split(s);
+          if (a.length === 1 && !a[0] && a.pop(), i === void 0) throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+          this.nocase = i, this.root = this.newRoot(this.#r), this.roots[this.rootPath] = this.root;
+          let l = this.root, f = a.length - 1, c = e.sep, d = this.rootPath, u = false;
+          for (let m of a) {
+            let p = f--;
+            l = l.child(m, { relative: new Array(p).fill("..").join(c), relativePosix: new Array(p).fill("..").join("/"), fullpath: d += (u ? "" : c) + m }), u = true;
           }
+          this.cwd = l;
         }
-        return this.roots[rootPath] = new PathScurryWin32(rootPath, this).root;
-      }
-      /**
-       * @internal
-       */
-      sameRoot(rootPath, compare3 = this.root.name) {
-        rootPath = rootPath.toUpperCase().replace(/\//g, "\\").replace(uncDriveRegexp, "$1\\");
-        return rootPath === compare3;
-      }
-    };
-    exports2.PathWin32 = PathWin32;
-    var PathPosix = class _PathPosix extends PathBase {
-      /**
-       * separator for parsing path strings
-       */
-      splitSep = "/";
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      /**
-       * Do not create new Path objects directly.  They should always be accessed
-       * via the PathScurry class or other methods on the Path class.
-       *
-       * @internal
-       */
-      constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
-        super(name, type, root, roots, nocase, children, opts);
-      }
-      /**
-       * @internal
-       */
-      getRootString(path29) {
-        return path29.startsWith("/") ? "/" : "";
-      }
-      /**
-       * @internal
-       */
-      getRoot(_rootPath) {
-        return this.root;
-      }
-      /**
-       * @internal
-       */
-      newChild(name, type = UNKNOWN, opts = {}) {
-        return new _PathPosix(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
-      }
-    };
-    exports2.PathPosix = PathPosix;
-    var PathScurryBase = class {
-      /**
-       * The root Path entry for the current working directory of this Scurry
-       */
-      root;
-      /**
-       * The string path for the root of this Scurry's current working directory
-       */
-      rootPath;
-      /**
-       * A collection of all roots encountered, referenced by rootPath
-       */
-      roots;
-      /**
-       * The Path entry corresponding to this PathScurry's current working directory.
-       */
-      cwd;
-      #resolveCache;
-      #resolvePosixCache;
-      #children;
-      /**
-       * Perform path comparisons case-insensitively.
-       *
-       * Defaults true on Darwin and Windows systems, false elsewhere.
-       */
-      nocase;
-      #fs;
-      /**
-       * This class should not be instantiated directly.
-       *
-       * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
-       *
-       * @internal
-       */
-      constructor(cwd = process.cwd(), pathImpl, sep6, { nocase, childrenCacheSize = 16 * 1024, fs: fs31 = defaultFS } = {}) {
-        this.#fs = fsFromOption(fs31);
-        if (cwd instanceof URL || cwd.startsWith("file://")) {
-          cwd = (0, node_url_1.fileURLToPath)(cwd);
+        depth(t = this.cwd) {
+          return typeof t == "string" && (t = this.cwd.resolve(t)), t.depth();
         }
-        const cwdPath = pathImpl.resolve(cwd);
-        this.roots = /* @__PURE__ */ Object.create(null);
-        this.rootPath = this.parseRootPath(cwdPath);
-        this.#resolveCache = new ResolveCache();
-        this.#resolvePosixCache = new ResolveCache();
-        this.#children = new ChildrenCache(childrenCacheSize);
-        const split = cwdPath.substring(this.rootPath.length).split(sep6);
-        if (split.length === 1 && !split[0]) {
-          split.pop();
+        childrenCache() {
+          return this.#n;
         }
-        if (nocase === void 0) {
-          throw new TypeError("must provide nocase setting to PathScurryBase ctor");
+        resolve(...t) {
+          let e = "";
+          for (let r = t.length - 1; r >= 0; r--) {
+            let h = t[r];
+            if (!(!h || h === ".") && (e = e ? `${h}/${e}` : h, this.isAbsolute(h))) break;
+          }
+          let s = this.#t.get(e);
+          if (s !== void 0) return s;
+          let i = this.cwd.resolve(e).fullpath();
+          return this.#t.set(e, i), i;
         }
-        this.nocase = nocase;
-        this.root = this.newRoot(this.#fs);
-        this.roots[this.rootPath] = this.root;
-        let prev = this.root;
-        let len = split.length - 1;
-        const joinSep = pathImpl.sep;
-        let abs = this.rootPath;
-        let sawFirst = false;
-        for (const part of split) {
-          const l = len--;
-          prev = prev.child(part, {
-            relative: new Array(l).fill("..").join(joinSep),
-            relativePosix: new Array(l).fill("..").join("/"),
-            fullpath: abs += (sawFirst ? "" : joinSep) + part
+        resolvePosix(...t) {
+          let e = "";
+          for (let r = t.length - 1; r >= 0; r--) {
+            let h = t[r];
+            if (!(!h || h === ".") && (e = e ? `${h}/${e}` : h, this.isAbsolute(h))) break;
+          }
+          let s = this.#s.get(e);
+          if (s !== void 0) return s;
+          let i = this.cwd.resolve(e).fullpathPosix();
+          return this.#s.set(e, i), i;
+        }
+        relative(t = this.cwd) {
+          return typeof t == "string" && (t = this.cwd.resolve(t)), t.relative();
+        }
+        relativePosix(t = this.cwd) {
+          return typeof t == "string" && (t = this.cwd.resolve(t)), t.relativePosix();
+        }
+        basename(t = this.cwd) {
+          return typeof t == "string" && (t = this.cwd.resolve(t)), t.name;
+        }
+        dirname(t = this.cwd) {
+          return typeof t == "string" && (t = this.cwd.resolve(t)), (t.parent || t).fullpath();
+        }
+        async readdir(t = this.cwd, e = { withFileTypes: true }) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd);
+          let { withFileTypes: s } = e;
+          if (t.canReaddir()) {
+            let i = await t.readdir();
+            return s ? i : i.map((r) => r.name);
+          } else return [];
+        }
+        readdirSync(t = this.cwd, e = { withFileTypes: true }) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd);
+          let { withFileTypes: s = true } = e;
+          return t.canReaddir() ? s ? t.readdirSync() : t.readdirSync().map((i) => i.name) : [];
+        }
+        async lstat(t = this.cwd) {
+          return typeof t == "string" && (t = this.cwd.resolve(t)), t.lstat();
+        }
+        lstatSync(t = this.cwd) {
+          return typeof t == "string" && (t = this.cwd.resolve(t)), t.lstatSync();
+        }
+        async readlink(t = this.cwd, { withFileTypes: e } = { withFileTypes: false }) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t.withFileTypes, t = this.cwd);
+          let s = await t.readlink();
+          return e ? s : s?.fullpath();
+        }
+        readlinkSync(t = this.cwd, { withFileTypes: e } = { withFileTypes: false }) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t.withFileTypes, t = this.cwd);
+          let s = t.readlinkSync();
+          return e ? s : s?.fullpath();
+        }
+        async realpath(t = this.cwd, { withFileTypes: e } = { withFileTypes: false }) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t.withFileTypes, t = this.cwd);
+          let s = await t.realpath();
+          return e ? s : s?.fullpath();
+        }
+        realpathSync(t = this.cwd, { withFileTypes: e } = { withFileTypes: false }) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t.withFileTypes, t = this.cwd);
+          let s = t.realpathSync();
+          return e ? s : s?.fullpath();
+        }
+        async walk(t = this.cwd, e = {}) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd);
+          let { withFileTypes: s = true, follow: i = false, filter: r, walkFilter: h } = e, o = [];
+          (!r || r(t)) && o.push(s ? t : t.fullpath());
+          let a = /* @__PURE__ */ new Set(), l = (c, d) => {
+            a.add(c), c.readdirCB((u, m) => {
+              if (u) return d(u);
+              let p = m.length;
+              if (!p) return d();
+              let b = () => {
+                --p === 0 && d();
+              };
+              for (let w of m) (!r || r(w)) && o.push(s ? w : w.fullpath()), i && w.isSymbolicLink() ? w.realpath().then((v) => v?.isUnknown() ? v.lstat() : v).then((v) => v?.shouldWalk(a, h) ? l(v, b) : b()) : w.shouldWalk(a, h) ? l(w, b) : b();
+            }, true);
+          }, f = t;
+          return new Promise((c, d) => {
+            l(f, (u) => {
+              if (u) return d(u);
+              c(o);
+            });
           });
-          sawFirst = true;
         }
-        this.cwd = prev;
-      }
-      /**
-       * Get the depth of a provided path, string, or the cwd
-       */
-      depth(path29 = this.cwd) {
-        if (typeof path29 === "string") {
-          path29 = this.cwd.resolve(path29);
-        }
-        return path29.depth();
-      }
-      /**
-       * Return the cache of child entries.  Exposed so subclasses can create
-       * child Path objects in a platform-specific way.
-       *
-       * @internal
-       */
-      childrenCache() {
-        return this.#children;
-      }
-      /**
-       * Resolve one or more path strings to a resolved string
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolve(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolveCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpath();
-        this.#resolveCache.set(r, result);
-        return result;
-      }
-      /**
-       * Resolve one or more path strings to a resolved string, returning
-       * the posix path.  Identical to .resolve() on posix systems, but on
-       * windows will return a forward-slash separated UNC path.
-       *
-       * Same interface as require('path').resolve.
-       *
-       * Much faster than path.resolve() when called multiple times for the same
-       * path, because the resolved Path objects are cached.  Much slower
-       * otherwise.
-       */
-      resolvePosix(...paths) {
-        let r = "";
-        for (let i = paths.length - 1; i >= 0; i--) {
-          const p = paths[i];
-          if (!p || p === ".")
-            continue;
-          r = r ? `${p}/${r}` : p;
-          if (this.isAbsolute(p)) {
-            break;
-          }
-        }
-        const cached = this.#resolvePosixCache.get(r);
-        if (cached !== void 0) {
-          return cached;
-        }
-        const result = this.cwd.resolve(r).fullpathPosix();
-        this.#resolvePosixCache.set(r, result);
-        return result;
-      }
-      /**
-       * find the relative path from the cwd to the supplied path string or entry
-       */
-      relative(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relative();
-      }
-      /**
-       * find the relative path from the cwd to the supplied path string or
-       * entry, using / as the path delimiter, even on Windows.
-       */
-      relativePosix(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.relativePosix();
-      }
-      /**
-       * Return the basename for the provided string or Path object
-       */
-      basename(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.name;
-      }
-      /**
-       * Return the dirname for the provided string or Path object
-       */
-      dirname(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return (entry.parent || entry).fullpath();
-      }
-      async readdir(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else {
-          const p = await entry.readdir();
-          return withFileTypes ? p : p.map((e) => e.name);
-        }
-      }
-      readdirSync(entry = this.cwd, opts = {
-        withFileTypes: true
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true } = opts;
-        if (!entry.canReaddir()) {
-          return [];
-        } else if (withFileTypes) {
-          return entry.readdirSync();
-        } else {
-          return entry.readdirSync().map((e) => e.name);
-        }
-      }
-      /**
-       * Call lstat() on the string or Path object, and update all known
-       * information that can be determined.
-       *
-       * Note that unlike `fs.lstat()`, the returned value does not contain some
-       * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
-       * information is required, you will need to call `fs.lstat` yourself.
-       *
-       * If the Path refers to a nonexistent file, or if the lstat call fails for
-       * any reason, `undefined` is returned.  Otherwise the updated Path object is
-       * returned.
-       *
-       * Results are cached, and thus may be out of date if the filesystem is
-       * mutated.
-       */
-      async lstat(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.lstat();
-      }
-      /**
-       * synchronous {@link PathScurryBase.lstat}
-       */
-      lstatSync(entry = this.cwd) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        }
-        return entry.lstatSync();
-      }
-      async readlink(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.readlink();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      readlinkSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.readlinkSync();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      async realpath(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = await entry.realpath();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      realpathSync(entry = this.cwd, { withFileTypes } = {
-        withFileTypes: false
-      }) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          withFileTypes = entry.withFileTypes;
-          entry = this.cwd;
-        }
-        const e = entry.realpathSync();
-        return withFileTypes ? e : e?.fullpath();
-      }
-      async walk(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set();
-        const walk = (dir, cb) => {
-          dirs.add(dir);
-          dir.readdirCB((er, entries) => {
-            if (er) {
-              return cb(er);
-            }
-            let len = entries.length;
-            if (!len)
-              return cb();
-            const next = () => {
-              if (--len === 0) {
-                cb();
-              }
-            };
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                results.push(withFileTypes ? e : e.fullpath());
-              }
-              if (follow && e.isSymbolicLink()) {
-                e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r).then((r) => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
-              } else {
-                if (e.shouldWalk(dirs, walkFilter)) {
-                  walk(e, next);
-                } else {
-                  next();
-                }
+        walkSync(t = this.cwd, e = {}) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd);
+          let { withFileTypes: s = true, follow: i = false, filter: r, walkFilter: h } = e, o = [];
+          (!r || r(t)) && o.push(s ? t : t.fullpath());
+          let a = /* @__PURE__ */ new Set([t]);
+          for (let l of a) {
+            let f = l.readdirSync();
+            for (let c of f) {
+              (!r || r(c)) && o.push(s ? c : c.fullpath());
+              let d = c;
+              if (c.isSymbolicLink()) {
+                if (!(i && (d = c.realpathSync()))) continue;
+                d.isUnknown() && d.lstatSync();
               }
+              d.shouldWalk(a, h) && a.add(d);
             }
-          }, true);
-        };
-        const start = entry;
-        return new Promise((res, rej) => {
-          walk(start, (er) => {
-            if (er)
-              return rej(er);
-            res(results);
-          });
-        });
-      }
-      walkSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
+          }
+          return o;
         }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = [];
-        if (!filter || filter(entry)) {
-          results.push(withFileTypes ? entry : entry.fullpath());
+        [Symbol.asyncIterator]() {
+          return this.iterate();
         }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              results.push(withFileTypes ? e : e.fullpath());
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
+        iterate(t = this.cwd, e = {}) {
+          return typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd), this.stream(t, e)[Symbol.asyncIterator]();
+        }
+        [Symbol.iterator]() {
+          return this.iterateSync();
+        }
+        *iterateSync(t = this.cwd, e = {}) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd);
+          let { withFileTypes: s = true, follow: i = false, filter: r, walkFilter: h } = e;
+          (!r || r(t)) && (yield s ? t : t.fullpath());
+          let o = /* @__PURE__ */ new Set([t]);
+          for (let a of o) {
+            let l = a.readdirSync();
+            for (let f of l) {
+              (!r || r(f)) && (yield s ? f : f.fullpath());
+              let c = f;
+              if (f.isSymbolicLink()) {
+                if (!(i && (c = f.realpathSync()))) continue;
+                c.isUnknown() && c.lstatSync();
+              }
+              c.shouldWalk(o, h) && o.add(c);
             }
           }
         }
-        return results;
-      }
-      /**
-       * Support for `for await`
-       *
-       * Alias for {@link PathScurryBase.iterate}
-       *
-       * Note: As of Node 19, this is very slow, compared to other methods of
-       * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
-       * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
-       */
-      [Symbol.asyncIterator]() {
-        return this.iterate();
-      }
-      iterate(entry = this.cwd, options = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          options = entry;
-          entry = this.cwd;
-        }
-        return this.stream(entry, options)[Symbol.asyncIterator]();
-      }
-      /**
-       * Iterating over a PathScurry performs a synchronous walk.
-       *
-       * Alias for {@link PathScurryBase.iterateSync}
-       */
-      [Symbol.iterator]() {
-        return this.iterateSync();
-      }
-      *iterateSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        if (!filter || filter(entry)) {
-          yield withFileTypes ? entry : entry.fullpath();
-        }
-        const dirs = /* @__PURE__ */ new Set([entry]);
-        for (const dir of dirs) {
-          const entries = dir.readdirSync();
-          for (const e of entries) {
-            if (!filter || filter(e)) {
-              yield withFileTypes ? e : e.fullpath();
-            }
-            let r = e;
-            if (e.isSymbolicLink()) {
-              if (!(follow && (r = e.realpathSync())))
-                continue;
-              if (r.isUnknown())
-                r.lstatSync();
-            }
-            if (r.shouldWalk(dirs, walkFilter)) {
-              dirs.add(r);
-            }
-          }
-        }
-      }
-      stream(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
-        }
-        const dirs = /* @__PURE__ */ new Set();
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
-            }
-            processing++;
-            dirs.add(dir);
-            const onReaddir = (er, entries, didRealpaths = false) => {
-              if (er)
-                return results.emit("error", er);
-              if (follow && !didRealpaths) {
-                const promises6 = [];
-                for (const e of entries) {
-                  if (e.isSymbolicLink()) {
-                    promises6.push(e.realpath().then((r) => r?.isUnknown() ? r.lstat() : r));
+        stream(t = this.cwd, e = {}) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd);
+          let { withFileTypes: s = true, follow: i = false, filter: r, walkFilter: h } = e, o = new bs.Minipass({ objectMode: true });
+          (!r || r(t)) && o.write(s ? t : t.fullpath());
+          let a = /* @__PURE__ */ new Set(), l = [t], f = 0, c = () => {
+            let d = false;
+            for (; !d; ) {
+              let u = l.shift();
+              if (!u) {
+                f === 0 && o.end();
+                return;
+              }
+              f++, a.add(u);
+              let m = (b, w, v = false) => {
+                if (b) return o.emit("error", b);
+                if (i && !v) {
+                  let E = [];
+                  for (let y of w) y.isSymbolicLink() && E.push(y.realpath().then((S) => S?.isUnknown() ? S.lstat() : S));
+                  if (E.length) {
+                    Promise.all(E).then(() => m(null, w, true));
+                    return;
                   }
                 }
-                if (promises6.length) {
-                  Promise.all(promises6).then(() => onReaddir(null, entries, true));
-                  return;
+                for (let E of w) E && (!r || r(E)) && (o.write(s ? E : E.fullpath()) || (d = true));
+                f--;
+                for (let E of w) {
+                  let y = E.realpathCached() || E;
+                  y.shouldWalk(a, h) && l.push(y);
                 }
-              }
-              for (const e of entries) {
-                if (e && (!filter || filter(e))) {
-                  if (!results.write(withFileTypes ? e : e.fullpath())) {
-                    paused = true;
-                  }
-                }
-              }
-              processing--;
-              for (const e of entries) {
-                const r = e.realpathCached() || e;
-                if (r.shouldWalk(dirs, walkFilter)) {
-                  queue.push(r);
-                }
-              }
-              if (paused && !results.flowing) {
-                results.once("drain", process2);
-              } else if (!sync) {
-                process2();
-              }
-            };
-            let sync = true;
-            dir.readdirCB(onReaddir, true);
-            sync = false;
-          }
-        };
-        process2();
-        return results;
-      }
-      streamSync(entry = this.cwd, opts = {}) {
-        if (typeof entry === "string") {
-          entry = this.cwd.resolve(entry);
-        } else if (!(entry instanceof PathBase)) {
-          opts = entry;
-          entry = this.cwd;
-        }
-        const { withFileTypes = true, follow = false, filter, walkFilter } = opts;
-        const results = new minipass_1.Minipass({ objectMode: true });
-        const dirs = /* @__PURE__ */ new Set();
-        if (!filter || filter(entry)) {
-          results.write(withFileTypes ? entry : entry.fullpath());
-        }
-        const queue = [entry];
-        let processing = 0;
-        const process2 = () => {
-          let paused = false;
-          while (!paused) {
-            const dir = queue.shift();
-            if (!dir) {
-              if (processing === 0)
-                results.end();
-              return;
+                d && !o.flowing ? o.once("drain", c) : p || c();
+              }, p = true;
+              u.readdirCB(m, true), p = false;
             }
-            processing++;
-            dirs.add(dir);
-            const entries = dir.readdirSync();
-            for (const e of entries) {
-              if (!filter || filter(e)) {
-                if (!results.write(withFileTypes ? e : e.fullpath())) {
-                  paused = true;
+          };
+          return c(), o;
+        }
+        streamSync(t = this.cwd, e = {}) {
+          typeof t == "string" ? t = this.cwd.resolve(t) : t instanceof A || (e = t, t = this.cwd);
+          let { withFileTypes: s = true, follow: i = false, filter: r, walkFilter: h } = e, o = new bs.Minipass({ objectMode: true }), a = /* @__PURE__ */ new Set();
+          (!r || r(t)) && o.write(s ? t : t.fullpath());
+          let l = [t], f = 0, c = () => {
+            let d = false;
+            for (; !d; ) {
+              let u = l.shift();
+              if (!u) {
+                f === 0 && o.end();
+                return;
+              }
+              f++, a.add(u);
+              let m = u.readdirSync();
+              for (let p of m) (!r || r(p)) && (o.write(s ? p : p.fullpath()) || (d = true));
+              f--;
+              for (let p of m) {
+                let b = p;
+                if (p.isSymbolicLink()) {
+                  if (!(i && (b = p.realpathSync()))) continue;
+                  b.isUnknown() && b.lstatSync();
                 }
+                b.shouldWalk(a, h) && l.push(b);
               }
             }
-            processing--;
-            for (const e of entries) {
-              let r = e;
-              if (e.isSymbolicLink()) {
-                if (!(follow && (r = e.realpathSync())))
-                  continue;
-                if (r.isUnknown())
-                  r.lstatSync();
-              }
-              if (r.shouldWalk(dirs, walkFilter)) {
-                queue.push(r);
-              }
+            d && !o.flowing && o.once("drain", c);
+          };
+          return c(), o;
+        }
+        chdir(t = this.cwd) {
+          let e = this.cwd;
+          this.cwd = typeof t == "string" ? this.cwd.resolve(t) : t, this.cwd[ks](e);
+        }
+      };
+      _2.PathScurryBase = vt;
+      var Et = class extends vt {
+        sep = "\\";
+        constructor(t = process.cwd(), e = {}) {
+          let { nocase: s = true } = e;
+          super(t, Yt.win32, "\\", { ...e, nocase: s }), this.nocase = s;
+          for (let i = this.cwd; i; i = i.parent) i.nocase = this.nocase;
+        }
+        parseRootPath(t) {
+          return Yt.win32.parse(t).root.toUpperCase();
+        }
+        newRoot(t) {
+          return new yt(this.rootPath, G, void 0, this.roots, this.nocase, this.childrenCache(), { fs: t });
+        }
+        isAbsolute(t) {
+          return t.startsWith("/") || t.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(t);
+        }
+      };
+      _2.PathScurryWin32 = Et;
+      var _t = class extends vt {
+        sep = "/";
+        constructor(t = process.cwd(), e = {}) {
+          let { nocase: s = false } = e;
+          super(t, Yt.posix, "/", { ...e, nocase: s }), this.nocase = s;
+        }
+        parseRootPath(t) {
+          return "/";
+        }
+        newRoot(t) {
+          return new St(this.rootPath, G, void 0, this.roots, this.nocase, this.childrenCache(), { fs: t });
+        }
+        isAbsolute(t) {
+          return t.startsWith("/");
+        }
+      };
+      _2.PathScurryPosix = _t;
+      var Zt = class extends _t {
+        constructor(t = process.cwd(), e = {}) {
+          let { nocase: s = true } = e;
+          super(t, { ...e, nocase: s });
+        }
+      };
+      _2.PathScurryDarwin = Zt;
+      _2.Path = process.platform === "win32" ? yt : St;
+      _2.PathScurry = process.platform === "win32" ? Et : process.platform === "darwin" ? Zt : _t;
+    });
+    var Re = R((te) => {
+      "use strict";
+      Object.defineProperty(te, "__esModule", { value: true });
+      te.Pattern = void 0;
+      var xr = H(), Tr = (n) => n.length >= 1, Cr = (n) => n.length >= 1, Rr = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom"), Ce = class n {
+        #t;
+        #s;
+        #n;
+        length;
+        #r;
+        #h;
+        #S;
+        #w;
+        #c;
+        #o;
+        #f = true;
+        constructor(t, e, s, i) {
+          if (!Tr(t)) throw new TypeError("empty pattern list");
+          if (!Cr(e)) throw new TypeError("empty glob list");
+          if (e.length !== t.length) throw new TypeError("mismatched pattern list and glob list lengths");
+          if (this.length = t.length, s < 0 || s >= this.length) throw new TypeError("index out of range");
+          if (this.#t = t, this.#s = e, this.#n = s, this.#r = i, this.#n === 0) {
+            if (this.isUNC()) {
+              let [r, h, o, a, ...l] = this.#t, [f, c, d, u, ...m] = this.#s;
+              l[0] === "" && (l.shift(), m.shift());
+              let p = [r, h, o, a, ""].join("/"), b = [f, c, d, u, ""].join("/");
+              this.#t = [p, ...l], this.#s = [b, ...m], this.length = this.#t.length;
+            } else if (this.isDrive() || this.isAbsolute()) {
+              let [r, ...h] = this.#t, [o, ...a] = this.#s;
+              h[0] === "" && (h.shift(), a.shift());
+              let l = r + "/", f = o + "/";
+              this.#t = [l, ...h], this.#s = [f, ...a], this.length = this.#t.length;
             }
           }
-          if (paused && !results.flowing)
-            results.once("drain", process2);
-        };
-        process2();
-        return results;
-      }
-      chdir(path29 = this.cwd) {
-        const oldCwd = this.cwd;
-        this.cwd = typeof path29 === "string" ? this.cwd.resolve(path29) : path29;
-        this.cwd[setAsCwd](oldCwd);
-      }
-    };
-    exports2.PathScurryBase = PathScurryBase;
-    var PathScurryWin32 = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "\\";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, node_path_1.win32, "\\", { ...opts, nocase });
-        this.nocase = nocase;
-        for (let p = this.cwd; p; p = p.parent) {
-          p.nocase = this.nocase;
         }
-      }
-      /**
-       * @internal
-       */
-      parseRootPath(dir) {
-        return node_path_1.win32.parse(dir).root.toUpperCase();
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs31) {
-        return new PathWin32(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs31 });
-      }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/") || p.startsWith("\\") || /^[a-z]:(\/|\\)/i.test(p);
-      }
-    };
-    exports2.PathScurryWin32 = PathScurryWin32;
-    var PathScurryPosix = class extends PathScurryBase {
-      /**
-       * separator for generating path strings
-       */
-      sep = "/";
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = false } = opts;
-        super(cwd, node_path_1.posix, "/", { ...opts, nocase });
-        this.nocase = nocase;
-      }
-      /**
-       * @internal
-       */
-      parseRootPath(_dir) {
-        return "/";
-      }
-      /**
-       * @internal
-       */
-      newRoot(fs31) {
-        return new PathPosix(this.rootPath, IFDIR, void 0, this.roots, this.nocase, this.childrenCache(), { fs: fs31 });
-      }
-      /**
-       * Return true if the provided path string is an absolute path
-       */
-      isAbsolute(p) {
-        return p.startsWith("/");
-      }
-    };
-    exports2.PathScurryPosix = PathScurryPosix;
-    var PathScurryDarwin = class extends PathScurryPosix {
-      constructor(cwd = process.cwd(), opts = {}) {
-        const { nocase = true } = opts;
-        super(cwd, { ...opts, nocase });
-      }
-    };
-    exports2.PathScurryDarwin = PathScurryDarwin;
-    exports2.Path = process.platform === "win32" ? PathWin32 : PathPosix;
-    exports2.PathScurry = process.platform === "win32" ? PathScurryWin32 : process.platform === "darwin" ? PathScurryDarwin : PathScurryPosix;
-  }
-});
-
-// node_modules/glob/dist/commonjs/pattern.js
-var require_pattern = __commonJS({
-  "node_modules/glob/dist/commonjs/pattern.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Pattern = void 0;
-    var minimatch_1 = require_commonjs20();
-    var isPatternList = (pl) => pl.length >= 1;
-    var isGlobList = (gl) => gl.length >= 1;
-    var Pattern = class _Pattern {
-      #patternList;
-      #globList;
-      #index;
-      length;
-      #platform;
-      #rest;
-      #globString;
-      #isDrive;
-      #isUNC;
-      #isAbsolute;
-      #followGlobstar = true;
-      constructor(patternList, globList, index, platform2) {
-        if (!isPatternList(patternList)) {
-          throw new TypeError("empty pattern list");
+        [Rr]() {
+          return "Pattern <" + this.#s.slice(this.#n).join("/") + ">";
         }
-        if (!isGlobList(globList)) {
-          throw new TypeError("empty glob list");
+        pattern() {
+          return this.#t[this.#n];
         }
-        if (globList.length !== patternList.length) {
-          throw new TypeError("mismatched pattern list and glob list lengths");
+        isString() {
+          return typeof this.#t[this.#n] == "string";
         }
-        this.length = patternList.length;
-        if (index < 0 || index >= this.length) {
-          throw new TypeError("index out of range");
+        isGlobstar() {
+          return this.#t[this.#n] === xr.GLOBSTAR;
         }
-        this.#patternList = patternList;
-        this.#globList = globList;
-        this.#index = index;
-        this.#platform = platform2;
-        if (this.#index === 0) {
-          if (this.isUNC()) {
-            const [p0, p1, p2, p3, ...prest] = this.#patternList;
-            const [g0, g1, g2, g3, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = [p0, p1, p2, p3, ""].join("/");
-            const g = [g0, g1, g2, g3, ""].join("/");
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
-          } else if (this.isDrive() || this.isAbsolute()) {
-            const [p1, ...prest] = this.#patternList;
-            const [g1, ...grest] = this.#globList;
-            if (prest[0] === "") {
-              prest.shift();
-              grest.shift();
-            }
-            const p = p1 + "/";
-            const g = g1 + "/";
-            this.#patternList = [p, ...prest];
-            this.#globList = [g, ...grest];
-            this.length = this.#patternList.length;
+        isRegExp() {
+          return this.#t[this.#n] instanceof RegExp;
+        }
+        globString() {
+          return this.#S = this.#S || (this.#n === 0 ? this.isAbsolute() ? this.#s[0] + this.#s.slice(1).join("/") : this.#s.join("/") : this.#s.slice(this.#n).join("/"));
+        }
+        hasMore() {
+          return this.length > this.#n + 1;
+        }
+        rest() {
+          return this.#h !== void 0 ? this.#h : this.hasMore() ? (this.#h = new n(this.#t, this.#s, this.#n + 1, this.#r), this.#h.#o = this.#o, this.#h.#c = this.#c, this.#h.#w = this.#w, this.#h) : this.#h = null;
+        }
+        isUNC() {
+          let t = this.#t;
+          return this.#c !== void 0 ? this.#c : this.#c = this.#r === "win32" && this.#n === 0 && t[0] === "" && t[1] === "" && typeof t[2] == "string" && !!t[2] && typeof t[3] == "string" && !!t[3];
+        }
+        isDrive() {
+          let t = this.#t;
+          return this.#w !== void 0 ? this.#w : this.#w = this.#r === "win32" && this.#n === 0 && this.length > 1 && typeof t[0] == "string" && /^[a-z]:$/i.test(t[0]);
+        }
+        isAbsolute() {
+          let t = this.#t;
+          return this.#o !== void 0 ? this.#o : this.#o = t[0] === "" && t.length > 1 || this.isDrive() || this.isUNC();
+        }
+        root() {
+          let t = this.#t[0];
+          return typeof t == "string" && this.isAbsolute() && this.#n === 0 ? t : "";
+        }
+        checkFollowGlobstar() {
+          return !(this.#n === 0 || !this.isGlobstar() || !this.#f);
+        }
+        markFollowGlobstar() {
+          return this.#n === 0 || !this.isGlobstar() || !this.#f ? false : (this.#f = false, true);
+        }
+      };
+      te.Pattern = Ce;
+    });
+    var ke = R((ee) => {
+      "use strict";
+      Object.defineProperty(ee, "__esModule", { value: true });
+      ee.Ignore = void 0;
+      var Ps = H(), Ar = Re(), kr = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", Ae = class {
+        relative;
+        relativeChildren;
+        absolute;
+        absoluteChildren;
+        platform;
+        mmopts;
+        constructor(t, { nobrace: e, nocase: s, noext: i, noglobstar: r, platform: h = kr }) {
+          this.relative = [], this.absolute = [], this.relativeChildren = [], this.absoluteChildren = [], this.platform = h, this.mmopts = { dot: true, nobrace: e, nocase: s, noext: i, noglobstar: r, optimizationLevel: 2, platform: h, nocomment: true, nonegate: true };
+          for (let o of t) this.add(o);
+        }
+        add(t) {
+          let e = new Ps.Minimatch(t, this.mmopts);
+          for (let s = 0; s < e.set.length; s++) {
+            let i = e.set[s], r = e.globParts[s];
+            if (!i || !r) throw new Error("invalid pattern object");
+            for (; i[0] === "." && r[0] === "."; ) i.shift(), r.shift();
+            let h = new Ar.Pattern(i, r, 0, this.platform), o = new Ps.Minimatch(h.globString(), this.mmopts), a = r[r.length - 1] === "**", l = h.isAbsolute();
+            l ? this.absolute.push(o) : this.relative.push(o), a && (l ? this.absoluteChildren.push(o) : this.relativeChildren.push(o));
           }
         }
-      }
-      /**
-       * The first entry in the parsed list of patterns
-       */
-      pattern() {
-        return this.#patternList[this.#index];
-      }
-      /**
-       * true of if pattern() returns a string
-       */
-      isString() {
-        return typeof this.#patternList[this.#index] === "string";
-      }
-      /**
-       * true of if pattern() returns GLOBSTAR
-       */
-      isGlobstar() {
-        return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
-      }
-      /**
-       * true if pattern() returns a regexp
-       */
-      isRegExp() {
-        return this.#patternList[this.#index] instanceof RegExp;
-      }
-      /**
-       * The /-joined set of glob parts that make up this pattern
-       */
-      globString() {
-        return this.#globString = this.#globString || (this.#index === 0 ? this.isAbsolute() ? this.#globList[0] + this.#globList.slice(1).join("/") : this.#globList.join("/") : this.#globList.slice(this.#index).join("/"));
-      }
-      /**
-       * true if there are more pattern parts after this one
-       */
-      hasMore() {
-        return this.length > this.#index + 1;
-      }
-      /**
-       * The rest of the pattern after this part, or null if this is the end
-       */
-      rest() {
-        if (this.#rest !== void 0)
-          return this.#rest;
-        if (!this.hasMore())
-          return this.#rest = null;
-        this.#rest = new _Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
-        this.#rest.#isAbsolute = this.#isAbsolute;
-        this.#rest.#isUNC = this.#isUNC;
-        this.#rest.#isDrive = this.#isDrive;
-        return this.#rest;
-      }
-      /**
-       * true if the pattern represents a //unc/path/ on windows
-       */
-      isUNC() {
-        const pl = this.#patternList;
-        return this.#isUNC !== void 0 ? this.#isUNC : this.#isUNC = this.#platform === "win32" && this.#index === 0 && pl[0] === "" && pl[1] === "" && typeof pl[2] === "string" && !!pl[2] && typeof pl[3] === "string" && !!pl[3];
-      }
-      // pattern like C:/...
-      // split = ['C:', ...]
-      // XXX: would be nice to handle patterns like `c:*` to test the cwd
-      // in c: for *, but I don't know of a way to even figure out what that
-      // cwd is without actually chdir'ing into it?
-      /**
-       * True if the pattern starts with a drive letter on Windows
-       */
-      isDrive() {
-        const pl = this.#patternList;
-        return this.#isDrive !== void 0 ? this.#isDrive : this.#isDrive = this.#platform === "win32" && this.#index === 0 && this.length > 1 && typeof pl[0] === "string" && /^[a-z]:$/i.test(pl[0]);
-      }
-      // pattern = '/' or '/...' or '/x/...'
-      // split = ['', ''] or ['', ...] or ['', 'x', ...]
-      // Drive and UNC both considered absolute on windows
-      /**
-       * True if the pattern is rooted on an absolute path
-       */
-      isAbsolute() {
-        const pl = this.#patternList;
-        return this.#isAbsolute !== void 0 ? this.#isAbsolute : this.#isAbsolute = pl[0] === "" && pl.length > 1 || this.isDrive() || this.isUNC();
-      }
-      /**
-       * consume the root of the pattern, and return it
-       */
-      root() {
-        const p = this.#patternList[0];
-        return typeof p === "string" && this.isAbsolute() && this.#index === 0 ? p : "";
-      }
-      /**
-       * Check to see if the current globstar pattern is allowed to follow
-       * a symbolic link.
-       */
-      checkFollowGlobstar() {
-        return !(this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar);
-      }
-      /**
-       * Mark that the current globstar pattern is following a symbolic link
-       */
-      markFollowGlobstar() {
-        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
+        ignored(t) {
+          let e = t.fullpath(), s = `${e}/`, i = t.relative() || ".", r = `${i}/`;
+          for (let h of this.relative) if (h.match(i) || h.match(r)) return true;
+          for (let h of this.absolute) if (h.match(e) || h.match(s)) return true;
           return false;
-        this.#followGlobstar = false;
-        return true;
-      }
-    };
-    exports2.Pattern = Pattern;
-  }
-});
-
-// node_modules/glob/dist/commonjs/ignore.js
-var require_ignore = __commonJS({
-  "node_modules/glob/dist/commonjs/ignore.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Ignore = void 0;
-    var minimatch_1 = require_commonjs20();
-    var pattern_js_1 = require_pattern();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Ignore = class {
-      relative;
-      relativeChildren;
-      absolute;
-      absoluteChildren;
-      platform;
-      mmopts;
-      constructor(ignored, { nobrace, nocase, noext, noglobstar, platform: platform2 = defaultPlatform }) {
-        this.relative = [];
-        this.absolute = [];
-        this.relativeChildren = [];
-        this.absoluteChildren = [];
-        this.platform = platform2;
-        this.mmopts = {
-          dot: true,
-          nobrace,
-          nocase,
-          noext,
-          noglobstar,
-          optimizationLevel: 2,
-          platform: platform2,
-          nocomment: true,
-          nonegate: true
-        };
-        for (const ign of ignored)
-          this.add(ign);
-      }
-      add(ign) {
-        const mm = new minimatch_1.Minimatch(ign, this.mmopts);
-        for (let i = 0; i < mm.set.length; i++) {
-          const parsed = mm.set[i];
-          const globParts = mm.globParts[i];
-          if (!parsed || !globParts) {
-            throw new Error("invalid pattern object");
-          }
-          while (parsed[0] === "." && globParts[0] === ".") {
-            parsed.shift();
-            globParts.shift();
-          }
-          const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
-          const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
-          const children = globParts[globParts.length - 1] === "**";
-          const absolute = p.isAbsolute();
-          if (absolute)
-            this.absolute.push(m);
-          else
-            this.relative.push(m);
-          if (children) {
-            if (absolute)
-              this.absoluteChildren.push(m);
-            else
-              this.relativeChildren.push(m);
-          }
         }
-      }
-      ignored(p) {
-        const fullpath = p.fullpath();
-        const fullpaths = `${fullpath}/`;
-        const relative3 = p.relative() || ".";
-        const relatives = `${relative3}/`;
-        for (const m of this.relative) {
-          if (m.match(relative3) || m.match(relatives))
-            return true;
+        childrenIgnored(t) {
+          let e = t.fullpath() + "/", s = (t.relative() || ".") + "/";
+          for (let i of this.relativeChildren) if (i.match(s)) return true;
+          for (let i of this.absoluteChildren) if (i.match(e)) return true;
+          return false;
         }
-        for (const m of this.absolute) {
-          if (m.match(fullpath) || m.match(fullpaths))
-            return true;
+      };
+      ee.Ignore = Ae;
+    });
+    var Fs = R((z) => {
+      "use strict";
+      Object.defineProperty(z, "__esModule", { value: true });
+      z.Processor = z.SubWalks = z.MatchRecord = z.HasWalkedCache = void 0;
+      var Ds = H(), se = class n {
+        store;
+        constructor(t = /* @__PURE__ */ new Map()) {
+          this.store = t;
         }
-        return false;
-      }
-      childrenIgnored(p) {
-        const fullpath = p.fullpath() + "/";
-        const relative3 = (p.relative() || ".") + "/";
-        for (const m of this.relativeChildren) {
-          if (m.match(relative3))
-            return true;
+        copy() {
+          return new n(new Map(this.store));
         }
-        for (const m of this.absoluteChildren) {
-          if (m.match(fullpath))
-            return true;
+        hasWalked(t, e) {
+          return this.store.get(t.fullpath())?.has(e.globString());
         }
-        return false;
-      }
-    };
-    exports2.Ignore = Ignore;
-  }
-});
-
-// node_modules/glob/dist/commonjs/processor.js
-var require_processor = __commonJS({
-  "node_modules/glob/dist/commonjs/processor.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Processor = exports2.SubWalks = exports2.MatchRecord = exports2.HasWalkedCache = void 0;
-    var minimatch_1 = require_commonjs20();
-    var HasWalkedCache = class _HasWalkedCache {
-      store;
-      constructor(store = /* @__PURE__ */ new Map()) {
-        this.store = store;
-      }
-      copy() {
-        return new _HasWalkedCache(new Map(this.store));
-      }
-      hasWalked(target, pattern) {
-        return this.store.get(target.fullpath())?.has(pattern.globString());
-      }
-      storeWalked(target, pattern) {
-        const fullpath = target.fullpath();
-        const cached = this.store.get(fullpath);
-        if (cached)
-          cached.add(pattern.globString());
-        else
-          this.store.set(fullpath, /* @__PURE__ */ new Set([pattern.globString()]));
-      }
-    };
-    exports2.HasWalkedCache = HasWalkedCache;
-    var MatchRecord = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, absolute, ifDir) {
-        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
-        const current = this.store.get(target);
-        this.store.set(target, current === void 0 ? n : n & current);
-      }
-      // match, absolute, ifdir
-      entries() {
-        return [...this.store.entries()].map(([path29, n]) => [
-          path29,
-          !!(n & 2),
-          !!(n & 1)
-        ]);
-      }
-    };
-    exports2.MatchRecord = MatchRecord;
-    var SubWalks = class {
-      store = /* @__PURE__ */ new Map();
-      add(target, pattern) {
-        if (!target.canReaddir()) {
-          return;
+        storeWalked(t, e) {
+          let s = t.fullpath(), i = this.store.get(s);
+          i ? i.add(e.globString()) : this.store.set(s, /* @__PURE__ */ new Set([e.globString()]));
         }
-        const subs = this.store.get(target);
-        if (subs) {
-          if (!subs.find((p) => p.globString() === pattern.globString())) {
-            subs.push(pattern);
-          }
-        } else
-          this.store.set(target, [pattern]);
-      }
-      get(target) {
-        const subs = this.store.get(target);
-        if (!subs) {
-          throw new Error("attempting to walk unknown path");
+      };
+      z.HasWalkedCache = se;
+      var ie = class {
+        store = /* @__PURE__ */ new Map();
+        add(t, e, s) {
+          let i = (e ? 2 : 0) | (s ? 1 : 0), r = this.store.get(t);
+          this.store.set(t, r === void 0 ? i : i & r);
         }
-        return subs;
-      }
-      entries() {
-        return this.keys().map((k) => [k, this.store.get(k)]);
-      }
-      keys() {
-        return [...this.store.keys()].filter((t) => t.canReaddir());
-      }
-    };
-    exports2.SubWalks = SubWalks;
-    var Processor = class _Processor {
-      hasWalkedCache;
-      matches = new MatchRecord();
-      subwalks = new SubWalks();
-      patterns;
-      follow;
-      dot;
-      opts;
-      constructor(opts, hasWalkedCache) {
-        this.opts = opts;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.hasWalkedCache = hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
-      }
-      processPatterns(target, patterns) {
-        this.patterns = patterns;
-        const processingSet = patterns.map((p) => [target, p]);
-        for (let [t, pattern] of processingSet) {
-          this.hasWalkedCache.storeWalked(t, pattern);
-          const root = pattern.root();
-          const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
-          if (root) {
-            t = t.resolve(root === "/" && this.opts.root !== void 0 ? this.opts.root : root);
-            const rest2 = pattern.rest();
-            if (!rest2) {
-              this.matches.add(t, true, false);
-              continue;
-            } else {
-              pattern = rest2;
-            }
-          }
-          if (t.isENOENT())
-            continue;
-          let p;
-          let rest;
-          let changed = false;
-          while (typeof (p = pattern.pattern()) === "string" && (rest = pattern.rest())) {
-            const c = t.resolve(p);
-            t = c;
-            pattern = rest;
-            changed = true;
-          }
-          p = pattern.pattern();
-          rest = pattern.rest();
-          if (changed) {
-            if (this.hasWalkedCache.hasWalked(t, pattern))
-              continue;
-            this.hasWalkedCache.storeWalked(t, pattern);
-          }
-          if (typeof p === "string") {
-            const ifDir = p === ".." || p === "" || p === ".";
-            this.matches.add(t.resolve(p), absolute, ifDir);
-            continue;
-          } else if (p === minimatch_1.GLOBSTAR) {
-            if (!t.isSymbolicLink() || this.follow || pattern.checkFollowGlobstar()) {
-              this.subwalks.add(t, pattern);
-            }
-            const rp = rest?.pattern();
-            const rrest = rest?.rest();
-            if (!rest || (rp === "" || rp === ".") && !rrest) {
-              this.matches.add(t, absolute, rp === "" || rp === ".");
-            } else {
-              if (rp === "..") {
-                const tp = t.parent || t;
-                if (!rrest)
-                  this.matches.add(tp, absolute, true);
-                else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
-                  this.subwalks.add(tp, rrest);
-                }
+        entries() {
+          return [...this.store.entries()].map(([t, e]) => [t, !!(e & 2), !!(e & 1)]);
+        }
+      };
+      z.MatchRecord = ie;
+      var re = class {
+        store = /* @__PURE__ */ new Map();
+        add(t, e) {
+          if (!t.canReaddir()) return;
+          let s = this.store.get(t);
+          s ? s.find((i) => i.globString() === e.globString()) || s.push(e) : this.store.set(t, [e]);
+        }
+        get(t) {
+          let e = this.store.get(t);
+          if (!e) throw new Error("attempting to walk unknown path");
+          return e;
+        }
+        entries() {
+          return this.keys().map((t) => [t, this.store.get(t)]);
+        }
+        keys() {
+          return [...this.store.keys()].filter((t) => t.canReaddir());
+        }
+      };
+      z.SubWalks = re;
+      var Me = class n {
+        hasWalkedCache;
+        matches = new ie();
+        subwalks = new re();
+        patterns;
+        follow;
+        dot;
+        opts;
+        constructor(t, e) {
+          this.opts = t, this.follow = !!t.follow, this.dot = !!t.dot, this.hasWalkedCache = e ? e.copy() : new se();
+        }
+        processPatterns(t, e) {
+          this.patterns = e;
+          let s = e.map((i) => [t, i]);
+          for (let [i, r] of s) {
+            this.hasWalkedCache.storeWalked(i, r);
+            let h = r.root(), o = r.isAbsolute() && this.opts.absolute !== false;
+            if (h) {
+              i = i.resolve(h === "/" && this.opts.root !== void 0 ? this.opts.root : h);
+              let c = r.rest();
+              if (c) r = c;
+              else {
+                this.matches.add(i, true, false);
+                continue;
               }
             }
-          } else if (p instanceof RegExp) {
-            this.subwalks.add(t, pattern);
-          }
-        }
-        return this;
-      }
-      subwalkTargets() {
-        return this.subwalks.keys();
-      }
-      child() {
-        return new _Processor(this.opts, this.hasWalkedCache);
-      }
-      // return a new Processor containing the subwalks for each
-      // child entry, and a set of matches, and
-      // a hasWalkedCache that's a copy of this one
-      // then we're going to call
-      filterEntries(parent, entries) {
-        const patterns = this.subwalks.get(parent);
-        const results = this.child();
-        for (const e of entries) {
-          for (const pattern of patterns) {
-            const absolute = pattern.isAbsolute();
-            const p = pattern.pattern();
-            const rest = pattern.rest();
-            if (p === minimatch_1.GLOBSTAR) {
-              results.testGlobstar(e, pattern, rest, absolute);
-            } else if (p instanceof RegExp) {
-              results.testRegExp(e, p, rest, absolute);
-            } else {
-              results.testString(e, p, rest, absolute);
+            if (i.isENOENT()) continue;
+            let a, l, f = false;
+            for (; typeof (a = r.pattern()) == "string" && (l = r.rest()); ) i = i.resolve(a), r = l, f = true;
+            if (a = r.pattern(), l = r.rest(), f) {
+              if (this.hasWalkedCache.hasWalked(i, r)) continue;
+              this.hasWalkedCache.storeWalked(i, r);
             }
-          }
-        }
-        return results;
-      }
-      testGlobstar(e, pattern, rest, absolute) {
-        if (this.dot || !e.name.startsWith(".")) {
-          if (!pattern.hasMore()) {
-            this.matches.add(e, absolute, false);
-          }
-          if (e.canReaddir()) {
-            if (this.follow || !e.isSymbolicLink()) {
-              this.subwalks.add(e, pattern);
-            } else if (e.isSymbolicLink()) {
-              if (rest && pattern.checkFollowGlobstar()) {
-                this.subwalks.add(e, rest);
-              } else if (pattern.markFollowGlobstar()) {
-                this.subwalks.add(e, pattern);
+            if (typeof a == "string") {
+              let c = a === ".." || a === "" || a === ".";
+              this.matches.add(i.resolve(a), o, c);
+              continue;
+            } else if (a === Ds.GLOBSTAR) {
+              (!i.isSymbolicLink() || this.follow || r.checkFollowGlobstar()) && this.subwalks.add(i, r);
+              let c = l?.pattern(), d = l?.rest();
+              if (!l || (c === "" || c === ".") && !d) this.matches.add(i, o, c === "" || c === ".");
+              else if (c === "..") {
+                let u = i.parent || i;
+                d ? this.hasWalkedCache.hasWalked(u, d) || this.subwalks.add(u, d) : this.matches.add(u, o, true);
               }
-            }
+            } else a instanceof RegExp && this.subwalks.add(i, r);
+          }
+          return this;
+        }
+        subwalkTargets() {
+          return this.subwalks.keys();
+        }
+        child() {
+          return new n(this.opts, this.hasWalkedCache);
+        }
+        filterEntries(t, e) {
+          let s = this.subwalks.get(t), i = this.child();
+          for (let r of e) for (let h of s) {
+            let o = h.isAbsolute(), a = h.pattern(), l = h.rest();
+            a === Ds.GLOBSTAR ? i.testGlobstar(r, h, l, o) : a instanceof RegExp ? i.testRegExp(r, a, l, o) : i.testString(r, a, l, o);
+          }
+          return i;
+        }
+        testGlobstar(t, e, s, i) {
+          if ((this.dot || !t.name.startsWith(".")) && (e.hasMore() || this.matches.add(t, i, false), t.canReaddir() && (this.follow || !t.isSymbolicLink() ? this.subwalks.add(t, e) : t.isSymbolicLink() && (s && e.checkFollowGlobstar() ? this.subwalks.add(t, s) : e.markFollowGlobstar() && this.subwalks.add(t, e)))), s) {
+            let r = s.pattern();
+            if (typeof r == "string" && r !== ".." && r !== "" && r !== ".") this.testString(t, r, s.rest(), i);
+            else if (r === "..") {
+              let h = t.parent || t;
+              this.subwalks.add(h, s);
+            } else r instanceof RegExp && this.testRegExp(t, r, s.rest(), i);
           }
         }
-        if (rest) {
-          const rp = rest.pattern();
-          if (typeof rp === "string" && // dots and empty were handled already
-          rp !== ".." && rp !== "" && rp !== ".") {
-            this.testString(e, rp, rest.rest(), absolute);
-          } else if (rp === "..") {
-            const ep = e.parent || e;
-            this.subwalks.add(ep, rest);
-          } else if (rp instanceof RegExp) {
-            this.testRegExp(e, rp, rest.rest(), absolute);
+        testRegExp(t, e, s, i) {
+          e.test(t.name) && (s ? this.subwalks.add(t, s) : this.matches.add(t, i, false));
+        }
+        testString(t, e, s, i) {
+          t.isNamed(e) && (s ? this.subwalks.add(t, s) : this.matches.add(t, i, false));
+        }
+      };
+      z.Processor = Me;
+    });
+    var Ls = R((X) => {
+      "use strict";
+      Object.defineProperty(X, "__esModule", { value: true });
+      X.GlobStream = X.GlobWalker = X.GlobUtil = void 0;
+      var Mr = Oe(), js = ke(), Ns = Fs(), Pr = (n, t) => typeof n == "string" ? new js.Ignore([n], t) : Array.isArray(n) ? new js.Ignore(n, t) : n, Ot = class {
+        path;
+        patterns;
+        opts;
+        seen = /* @__PURE__ */ new Set();
+        paused = false;
+        aborted = false;
+        #t = [];
+        #s;
+        #n;
+        signal;
+        maxDepth;
+        includeChildMatches;
+        constructor(t, e, s) {
+          if (this.patterns = t, this.path = e, this.opts = s, this.#n = !s.posix && s.platform === "win32" ? "\\" : "/", this.includeChildMatches = s.includeChildMatches !== false, (s.ignore || !this.includeChildMatches) && (this.#s = Pr(s.ignore ?? [], s), !this.includeChildMatches && typeof this.#s.add != "function")) {
+            let i = "cannot ignore child matches, ignore lacks add() method.";
+            throw new Error(i);
+          }
+          this.maxDepth = s.maxDepth || 1 / 0, s.signal && (this.signal = s.signal, this.signal.addEventListener("abort", () => {
+            this.#t.length = 0;
+          }));
+        }
+        #r(t) {
+          return this.seen.has(t) || !!this.#s?.ignored?.(t);
+        }
+        #h(t) {
+          return !!this.#s?.childrenIgnored?.(t);
+        }
+        pause() {
+          this.paused = true;
+        }
+        resume() {
+          if (this.signal?.aborted) return;
+          this.paused = false;
+          let t;
+          for (; !this.paused && (t = this.#t.shift()); ) t();
+        }
+        onResume(t) {
+          this.signal?.aborted || (this.paused ? this.#t.push(t) : t());
+        }
+        async matchCheck(t, e) {
+          if (e && this.opts.nodir) return;
+          let s;
+          if (this.opts.realpath) {
+            if (s = t.realpathCached() || await t.realpath(), !s) return;
+            t = s;
+          }
+          let r = t.isUnknown() || this.opts.stat ? await t.lstat() : t;
+          if (this.opts.follow && this.opts.nodir && r?.isSymbolicLink()) {
+            let h = await r.realpath();
+            h && (h.isUnknown() || this.opts.stat) && await h.lstat();
+          }
+          return this.matchCheckTest(r, e);
+        }
+        matchCheckTest(t, e) {
+          return t && (this.maxDepth === 1 / 0 || t.depth() <= this.maxDepth) && (!e || t.canReaddir()) && (!this.opts.nodir || !t.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !t.isSymbolicLink() || !t.realpathCached()?.isDirectory()) && !this.#r(t) ? t : void 0;
+        }
+        matchCheckSync(t, e) {
+          if (e && this.opts.nodir) return;
+          let s;
+          if (this.opts.realpath) {
+            if (s = t.realpathCached() || t.realpathSync(), !s) return;
+            t = s;
+          }
+          let r = t.isUnknown() || this.opts.stat ? t.lstatSync() : t;
+          if (this.opts.follow && this.opts.nodir && r?.isSymbolicLink()) {
+            let h = r.realpathSync();
+            h && (h?.isUnknown() || this.opts.stat) && h.lstatSync();
+          }
+          return this.matchCheckTest(r, e);
+        }
+        matchFinish(t, e) {
+          if (this.#r(t)) return;
+          if (!this.includeChildMatches && this.#s?.add) {
+            let r = `${t.relativePosix()}/**`;
+            this.#s.add(r);
+          }
+          let s = this.opts.absolute === void 0 ? e : this.opts.absolute;
+          this.seen.add(t);
+          let i = this.opts.mark && t.isDirectory() ? this.#n : "";
+          if (this.opts.withFileTypes) this.matchEmit(t);
+          else if (s) {
+            let r = this.opts.posix ? t.fullpathPosix() : t.fullpath();
+            this.matchEmit(r + i);
+          } else {
+            let r = this.opts.posix ? t.relativePosix() : t.relative(), h = this.opts.dotRelative && !r.startsWith(".." + this.#n) ? "." + this.#n : "";
+            this.matchEmit(r ? h + r + i : "." + i);
           }
         }
-      }
-      testRegExp(e, p, rest, absolute) {
-        if (!p.test(e.name))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+        async match(t, e, s) {
+          let i = await this.matchCheck(t, s);
+          i && this.matchFinish(i, e);
         }
-      }
-      testString(e, p, rest, absolute) {
-        if (!e.isNamed(p))
-          return;
-        if (!rest) {
-          this.matches.add(e, absolute, false);
-        } else {
-          this.subwalks.add(e, rest);
+        matchSync(t, e, s) {
+          let i = this.matchCheckSync(t, s);
+          i && this.matchFinish(i, e);
         }
-      }
-    };
-    exports2.Processor = Processor;
-  }
-});
-
-// node_modules/glob/dist/commonjs/walker.js
-var require_walker = __commonJS({
-  "node_modules/glob/dist/commonjs/walker.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.GlobStream = exports2.GlobWalker = exports2.GlobUtil = void 0;
-    var minipass_1 = require_commonjs22();
-    var ignore_js_1 = require_ignore();
-    var processor_js_1 = require_processor();
-    var makeIgnore = (ignore, opts) => typeof ignore === "string" ? new ignore_js_1.Ignore([ignore], opts) : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) : ignore;
-    var GlobUtil = class {
-      path;
-      patterns;
-      opts;
-      seen = /* @__PURE__ */ new Set();
-      paused = false;
-      aborted = false;
-      #onResume = [];
-      #ignore;
-      #sep;
-      signal;
-      maxDepth;
-      includeChildMatches;
-      constructor(patterns, path29, opts) {
-        this.patterns = patterns;
-        this.path = path29;
-        this.opts = opts;
-        this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        if (opts.ignore || !this.includeChildMatches) {
-          this.#ignore = makeIgnore(opts.ignore ?? [], opts);
-          if (!this.includeChildMatches && typeof this.#ignore.add !== "function") {
-            const m = "cannot ignore child matches, ignore lacks add() method.";
-            throw new Error(m);
+        walkCB(t, e, s) {
+          this.signal?.aborted && s(), this.walkCB2(t, e, new Ns.Processor(this.opts), s);
+        }
+        walkCB2(t, e, s, i) {
+          if (this.#h(t)) return i();
+          if (this.signal?.aborted && i(), this.paused) {
+            this.onResume(() => this.walkCB2(t, e, s, i));
+            return;
           }
+          s.processPatterns(t, e);
+          let r = 1, h = () => {
+            --r === 0 && i();
+          };
+          for (let [o, a, l] of s.matches.entries()) this.#r(o) || (r++, this.match(o, a, l).then(() => h()));
+          for (let o of s.subwalkTargets()) {
+            if (this.maxDepth !== 1 / 0 && o.depth() >= this.maxDepth) continue;
+            r++;
+            let a = o.readdirCached();
+            o.calledReaddir() ? this.walkCB3(o, a, s, h) : o.readdirCB((l, f) => this.walkCB3(o, f, s, h), true);
+          }
+          h();
         }
-        this.maxDepth = opts.maxDepth || Infinity;
-        if (opts.signal) {
-          this.signal = opts.signal;
-          this.signal.addEventListener("abort", () => {
-            this.#onResume.length = 0;
+        walkCB3(t, e, s, i) {
+          s = s.filterEntries(t, e);
+          let r = 1, h = () => {
+            --r === 0 && i();
+          };
+          for (let [o, a, l] of s.matches.entries()) this.#r(o) || (r++, this.match(o, a, l).then(() => h()));
+          for (let [o, a] of s.subwalks.entries()) r++, this.walkCB2(o, a, s.child(), h);
+          h();
+        }
+        walkCBSync(t, e, s) {
+          this.signal?.aborted && s(), this.walkCB2Sync(t, e, new Ns.Processor(this.opts), s);
+        }
+        walkCB2Sync(t, e, s, i) {
+          if (this.#h(t)) return i();
+          if (this.signal?.aborted && i(), this.paused) {
+            this.onResume(() => this.walkCB2Sync(t, e, s, i));
+            return;
+          }
+          s.processPatterns(t, e);
+          let r = 1, h = () => {
+            --r === 0 && i();
+          };
+          for (let [o, a, l] of s.matches.entries()) this.#r(o) || this.matchSync(o, a, l);
+          for (let o of s.subwalkTargets()) {
+            if (this.maxDepth !== 1 / 0 && o.depth() >= this.maxDepth) continue;
+            r++;
+            let a = o.readdirSync();
+            this.walkCB3Sync(o, a, s, h);
+          }
+          h();
+        }
+        walkCB3Sync(t, e, s, i) {
+          s = s.filterEntries(t, e);
+          let r = 1, h = () => {
+            --r === 0 && i();
+          };
+          for (let [o, a, l] of s.matches.entries()) this.#r(o) || this.matchSync(o, a, l);
+          for (let [o, a] of s.subwalks.entries()) r++, this.walkCB2Sync(o, a, s.child(), h);
+          h();
+        }
+      };
+      X.GlobUtil = Ot;
+      var Pe = class extends Ot {
+        matches = /* @__PURE__ */ new Set();
+        constructor(t, e, s) {
+          super(t, e, s);
+        }
+        matchEmit(t) {
+          this.matches.add(t);
+        }
+        async walk() {
+          if (this.signal?.aborted) throw this.signal.reason;
+          return this.path.isUnknown() && await this.path.lstat(), await new Promise((t, e) => {
+            this.walkCB(this.path, this.patterns, () => {
+              this.signal?.aborted ? e(this.signal.reason) : t(this.matches);
+            });
+          }), this.matches;
+        }
+        walkSync() {
+          if (this.signal?.aborted) throw this.signal.reason;
+          return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => {
+            if (this.signal?.aborted) throw this.signal.reason;
+          }), this.matches;
+        }
+      };
+      X.GlobWalker = Pe;
+      var De = class extends Ot {
+        results;
+        constructor(t, e, s) {
+          super(t, e, s), this.results = new Mr.Minipass({ signal: this.signal, objectMode: true }), this.results.on("drain", () => this.resume()), this.results.on("resume", () => this.resume());
+        }
+        matchEmit(t) {
+          this.results.write(t), this.results.flowing || this.pause();
+        }
+        stream() {
+          let t = this.path;
+          return t.isUnknown() ? t.lstat().then(() => {
+            this.walkCB(t, this.patterns, () => this.results.end());
+          }) : this.walkCB(t, this.patterns, () => this.results.end()), this.results;
+        }
+        streamSync() {
+          return this.path.isUnknown() && this.path.lstatSync(), this.walkCBSync(this.path, this.patterns, () => this.results.end()), this.results;
+        }
+      };
+      X.GlobStream = De;
+    });
+    var je = R((oe) => {
+      "use strict";
+      Object.defineProperty(oe, "__esModule", { value: true });
+      oe.Glob = void 0;
+      var Dr = H(), Fr = require("node:url"), ne = Ms(), jr = Re(), he = Ls(), Nr = typeof process == "object" && process && typeof process.platform == "string" ? process.platform : "linux", Fe = class {
+        absolute;
+        cwd;
+        root;
+        dot;
+        dotRelative;
+        follow;
+        ignore;
+        magicalBraces;
+        mark;
+        matchBase;
+        maxDepth;
+        nobrace;
+        nocase;
+        nodir;
+        noext;
+        noglobstar;
+        pattern;
+        platform;
+        realpath;
+        scurry;
+        stat;
+        signal;
+        windowsPathsNoEscape;
+        withFileTypes;
+        includeChildMatches;
+        opts;
+        patterns;
+        constructor(t, e) {
+          if (!e) throw new TypeError("glob options required");
+          if (this.withFileTypes = !!e.withFileTypes, this.signal = e.signal, this.follow = !!e.follow, this.dot = !!e.dot, this.dotRelative = !!e.dotRelative, this.nodir = !!e.nodir, this.mark = !!e.mark, e.cwd ? (e.cwd instanceof URL || e.cwd.startsWith("file://")) && (e.cwd = (0, Fr.fileURLToPath)(e.cwd)) : this.cwd = "", this.cwd = e.cwd || "", this.root = e.root, this.magicalBraces = !!e.magicalBraces, this.nobrace = !!e.nobrace, this.noext = !!e.noext, this.realpath = !!e.realpath, this.absolute = e.absolute, this.includeChildMatches = e.includeChildMatches !== false, this.noglobstar = !!e.noglobstar, this.matchBase = !!e.matchBase, this.maxDepth = typeof e.maxDepth == "number" ? e.maxDepth : 1 / 0, this.stat = !!e.stat, this.ignore = e.ignore, this.withFileTypes && this.absolute !== void 0) throw new Error("cannot set absolute and withFileTypes:true");
+          if (typeof t == "string" && (t = [t]), this.windowsPathsNoEscape = !!e.windowsPathsNoEscape || e.allowWindowsEscape === false, this.windowsPathsNoEscape && (t = t.map((a) => a.replace(/\\/g, "/"))), this.matchBase) {
+            if (e.noglobstar) throw new TypeError("base matching requires globstar");
+            t = t.map((a) => a.includes("/") ? a : `./**/${a}`);
+          }
+          if (this.pattern = t, this.platform = e.platform || Nr, this.opts = { ...e, platform: this.platform }, e.scurry) {
+            if (this.scurry = e.scurry, e.nocase !== void 0 && e.nocase !== e.scurry.nocase) throw new Error("nocase option contradicts provided scurry option");
+          } else {
+            let a = e.platform === "win32" ? ne.PathScurryWin32 : e.platform === "darwin" ? ne.PathScurryDarwin : e.platform ? ne.PathScurryPosix : ne.PathScurry;
+            this.scurry = new a(this.cwd, { nocase: e.nocase, fs: e.fs });
+          }
+          this.nocase = this.scurry.nocase;
+          let s = this.platform === "darwin" || this.platform === "win32", i = { braceExpandMax: 1e4, ...e, dot: this.dot, matchBase: this.matchBase, nobrace: this.nobrace, nocase: this.nocase, nocaseMagicOnly: s, nocomment: true, noext: this.noext, nonegate: true, optimizationLevel: 2, platform: this.platform, windowsPathsNoEscape: this.windowsPathsNoEscape, debug: !!this.opts.debug }, r = this.pattern.map((a) => new Dr.Minimatch(a, i)), [h, o] = r.reduce((a, l) => (a[0].push(...l.set), a[1].push(...l.globParts), a), [[], []]);
+          this.patterns = h.map((a, l) => {
+            let f = o[l];
+            if (!f) throw new Error("invalid pattern object");
+            return new jr.Pattern(a, f, 0, this.platform);
           });
         }
-      }
-      #ignored(path29) {
-        return this.seen.has(path29) || !!this.#ignore?.ignored?.(path29);
-      }
-      #childrenIgnored(path29) {
-        return !!this.#ignore?.childrenIgnored?.(path29);
-      }
-      // backpressure mechanism
-      pause() {
-        this.paused = true;
-      }
-      resume() {
-        if (this.signal?.aborted)
-          return;
-        this.paused = false;
-        let fn = void 0;
-        while (!this.paused && (fn = this.#onResume.shift())) {
-          fn();
+        async walk() {
+          return [...await new he.GlobWalker(this.patterns, this.scurry.cwd, { ...this.opts, maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0, platform: this.platform, nocase: this.nocase, includeChildMatches: this.includeChildMatches }).walk()];
         }
-      }
-      onResume(fn) {
-        if (this.signal?.aborted)
-          return;
-        if (!this.paused) {
-          fn();
-        } else {
-          this.#onResume.push(fn);
+        walkSync() {
+          return [...new he.GlobWalker(this.patterns, this.scurry.cwd, { ...this.opts, maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0, platform: this.platform, nocase: this.nocase, includeChildMatches: this.includeChildMatches }).walkSync()];
         }
-      }
-      // do the requisite realpath/stat checking, and return the path
-      // to add or undefined to filter it out.
-      async matchCheck(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || await e.realpath();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        stream() {
+          return new he.GlobStream(this.patterns, this.scurry.cwd, { ...this.opts, maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0, platform: this.platform, nocase: this.nocase, includeChildMatches: this.includeChildMatches }).stream();
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? await e.lstat() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = await s.realpath();
-          if (target && (target.isUnknown() || this.opts.stat)) {
-            await target.lstat();
-          }
+        streamSync() {
+          return new he.GlobStream(this.patterns, this.scurry.cwd, { ...this.opts, maxDepth: this.maxDepth !== 1 / 0 ? this.maxDepth + this.scurry.cwd.depth() : 1 / 0, platform: this.platform, nocase: this.nocase, includeChildMatches: this.includeChildMatches }).streamSync();
         }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchCheckTest(e, ifDir) {
-        return e && (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && (!ifDir || e.canReaddir()) && (!this.opts.nodir || !e.isDirectory()) && (!this.opts.nodir || !this.opts.follow || !e.isSymbolicLink() || !e.realpathCached()?.isDirectory()) && !this.#ignored(e) ? e : void 0;
-      }
-      matchCheckSync(e, ifDir) {
-        if (ifDir && this.opts.nodir)
-          return void 0;
-        let rpc;
-        if (this.opts.realpath) {
-          rpc = e.realpathCached() || e.realpathSync();
-          if (!rpc)
-            return void 0;
-          e = rpc;
+        iterateSync() {
+          return this.streamSync()[Symbol.iterator]();
         }
-        const needStat = e.isUnknown() || this.opts.stat;
-        const s = needStat ? e.lstatSync() : e;
-        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
-          const target = s.realpathSync();
-          if (target && (target?.isUnknown() || this.opts.stat)) {
-            target.lstatSync();
-          }
+        [Symbol.iterator]() {
+          return this.iterateSync();
         }
-        return this.matchCheckTest(s, ifDir);
-      }
-      matchFinish(e, absolute) {
-        if (this.#ignored(e))
-          return;
-        if (!this.includeChildMatches && this.#ignore?.add) {
-          const ign = `${e.relativePosix()}/**`;
-          this.#ignore.add(ign);
+        iterate() {
+          return this.stream()[Symbol.asyncIterator]();
         }
-        const abs = this.opts.absolute === void 0 ? absolute : this.opts.absolute;
-        this.seen.add(e);
-        const mark = this.opts.mark && e.isDirectory() ? this.#sep : "";
-        if (this.opts.withFileTypes) {
-          this.matchEmit(e);
-        } else if (abs) {
-          const abs2 = this.opts.posix ? e.fullpathPosix() : e.fullpath();
-          this.matchEmit(abs2 + mark);
-        } else {
-          const rel = this.opts.posix ? e.relativePosix() : e.relative();
-          const pre = this.opts.dotRelative && !rel.startsWith(".." + this.#sep) ? "." + this.#sep : "";
-          this.matchEmit(!rel ? "." + mark : pre + rel + mark);
+        [Symbol.asyncIterator]() {
+          return this.iterate();
         }
-      }
-      async match(e, absolute, ifDir) {
-        const p = await this.matchCheck(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
-      }
-      matchSync(e, absolute, ifDir) {
-        const p = this.matchCheckSync(e, ifDir);
-        if (p)
-          this.matchFinish(p, absolute);
-      }
-      walkCB(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
-      }
-      walkCB2(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const childrenCached = t.readdirCached();
-          if (t.calledReaddir())
-            this.walkCB3(t, childrenCached, processor, next);
-          else {
-            t.readdirCB((_2, entries) => this.walkCB3(t, entries, processor, next), true);
-          }
-        }
-        next();
-      }
-      walkCB3(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          tasks++;
-          this.match(m, absolute, ifDir).then(() => next());
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2(target2, patterns, processor.child(), next);
-        }
-        next();
-      }
-      walkCBSync(target, patterns, cb) {
-        if (this.signal?.aborted)
-          cb();
-        this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
-      }
-      walkCB2Sync(target, patterns, processor, cb) {
-        if (this.#childrenIgnored(target))
-          return cb();
-        if (this.signal?.aborted)
-          cb();
-        if (this.paused) {
-          this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
-          return;
-        }
-        processor.processPatterns(target, patterns);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const t of processor.subwalkTargets()) {
-          if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
-            continue;
-          }
-          tasks++;
-          const children = t.readdirSync();
-          this.walkCB3Sync(t, children, processor, next);
-        }
-        next();
-      }
-      walkCB3Sync(target, entries, processor, cb) {
-        processor = processor.filterEntries(target, entries);
-        let tasks = 1;
-        const next = () => {
-          if (--tasks === 0)
-            cb();
-        };
-        for (const [m, absolute, ifDir] of processor.matches.entries()) {
-          if (this.#ignored(m))
-            continue;
-          this.matchSync(m, absolute, ifDir);
-        }
-        for (const [target2, patterns] of processor.subwalks.entries()) {
-          tasks++;
-          this.walkCB2Sync(target2, patterns, processor.child(), next);
-        }
-        next();
-      }
-    };
-    exports2.GlobUtil = GlobUtil;
-    var GlobWalker = class extends GlobUtil {
-      matches = /* @__PURE__ */ new Set();
-      constructor(patterns, path29, opts) {
-        super(patterns, path29, opts);
-      }
-      matchEmit(e) {
-        this.matches.add(e);
-      }
-      async walk() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          await this.path.lstat();
-        }
-        await new Promise((res, rej) => {
-          this.walkCB(this.path, this.patterns, () => {
-            if (this.signal?.aborted) {
-              rej(this.signal.reason);
-            } else {
-              res(this.matches);
-            }
-          });
-        });
-        return this.matches;
-      }
-      walkSync() {
-        if (this.signal?.aborted)
-          throw this.signal.reason;
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => {
-          if (this.signal?.aborted)
-            throw this.signal.reason;
-        });
-        return this.matches;
-      }
-    };
-    exports2.GlobWalker = GlobWalker;
-    var GlobStream = class extends GlobUtil {
-      results;
-      constructor(patterns, path29, opts) {
-        super(patterns, path29, opts);
-        this.results = new minipass_1.Minipass({
-          signal: this.signal,
-          objectMode: true
-        });
-        this.results.on("drain", () => this.resume());
-        this.results.on("resume", () => this.resume());
-      }
-      matchEmit(e) {
-        this.results.write(e);
-        if (!this.results.flowing)
-          this.pause();
-      }
-      stream() {
-        const target = this.path;
-        if (target.isUnknown()) {
-          target.lstat().then(() => {
-            this.walkCB(target, this.patterns, () => this.results.end());
-          });
-        } else {
-          this.walkCB(target, this.patterns, () => this.results.end());
-        }
-        return this.results;
-      }
-      streamSync() {
-        if (this.path.isUnknown()) {
-          this.path.lstatSync();
-        }
-        this.walkCBSync(this.path, this.patterns, () => this.results.end());
-        return this.results;
-      }
-    };
-    exports2.GlobStream = GlobStream;
-  }
-});
-
-// node_modules/glob/dist/commonjs/glob.js
-var require_glob2 = __commonJS({
-  "node_modules/glob/dist/commonjs/glob.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.Glob = void 0;
-    var minimatch_1 = require_commonjs20();
-    var node_url_1 = require("node:url");
-    var path_scurry_1 = require_commonjs23();
-    var pattern_js_1 = require_pattern();
-    var walker_js_1 = require_walker();
-    var defaultPlatform = typeof process === "object" && process && typeof process.platform === "string" ? process.platform : "linux";
-    var Glob = class {
-      absolute;
-      cwd;
-      root;
-      dot;
-      dotRelative;
-      follow;
-      ignore;
-      magicalBraces;
-      mark;
-      matchBase;
-      maxDepth;
-      nobrace;
-      nocase;
-      nodir;
-      noext;
-      noglobstar;
-      pattern;
-      platform;
-      realpath;
-      scurry;
-      stat;
-      signal;
-      windowsPathsNoEscape;
-      withFileTypes;
-      includeChildMatches;
-      /**
-       * The options provided to the constructor.
-       */
-      opts;
-      /**
-       * An array of parsed immutable {@link Pattern} objects.
-       */
-      patterns;
-      /**
-       * All options are stored as properties on the `Glob` object.
-       *
-       * See {@link GlobOptions} for full options descriptions.
-       *
-       * Note that a previous `Glob` object can be passed as the
-       * `GlobOptions` to another `Glob` instantiation to re-use settings
-       * and caches with a new pattern.
-       *
-       * Traversal functions can be called multiple times to run the walk
-       * again.
-       */
-      constructor(pattern, opts) {
-        if (!opts)
-          throw new TypeError("glob options required");
-        this.withFileTypes = !!opts.withFileTypes;
-        this.signal = opts.signal;
-        this.follow = !!opts.follow;
-        this.dot = !!opts.dot;
-        this.dotRelative = !!opts.dotRelative;
-        this.nodir = !!opts.nodir;
-        this.mark = !!opts.mark;
-        if (!opts.cwd) {
-          this.cwd = "";
-        } else if (opts.cwd instanceof URL || opts.cwd.startsWith("file://")) {
-          opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
-        }
-        this.cwd = opts.cwd || "";
-        this.root = opts.root;
-        this.magicalBraces = !!opts.magicalBraces;
-        this.nobrace = !!opts.nobrace;
-        this.noext = !!opts.noext;
-        this.realpath = !!opts.realpath;
-        this.absolute = opts.absolute;
-        this.includeChildMatches = opts.includeChildMatches !== false;
-        this.noglobstar = !!opts.noglobstar;
-        this.matchBase = !!opts.matchBase;
-        this.maxDepth = typeof opts.maxDepth === "number" ? opts.maxDepth : Infinity;
-        this.stat = !!opts.stat;
-        this.ignore = opts.ignore;
-        if (this.withFileTypes && this.absolute !== void 0) {
-          throw new Error("cannot set absolute and withFileTypes:true");
-        }
-        if (typeof pattern === "string") {
-          pattern = [pattern];
-        }
-        this.windowsPathsNoEscape = !!opts.windowsPathsNoEscape || opts.allowWindowsEscape === false;
-        if (this.windowsPathsNoEscape) {
-          pattern = pattern.map((p) => p.replace(/\\/g, "/"));
-        }
-        if (this.matchBase) {
-          if (opts.noglobstar) {
-            throw new TypeError("base matching requires globstar");
-          }
-          pattern = pattern.map((p) => p.includes("/") ? p : `./**/${p}`);
-        }
-        this.pattern = pattern;
-        this.platform = opts.platform || defaultPlatform;
-        this.opts = { ...opts, platform: this.platform };
-        if (opts.scurry) {
-          this.scurry = opts.scurry;
-          if (opts.nocase !== void 0 && opts.nocase !== opts.scurry.nocase) {
-            throw new Error("nocase option contradicts provided scurry option");
-          }
-        } else {
-          const Scurry = opts.platform === "win32" ? path_scurry_1.PathScurryWin32 : opts.platform === "darwin" ? path_scurry_1.PathScurryDarwin : opts.platform ? path_scurry_1.PathScurryPosix : path_scurry_1.PathScurry;
-          this.scurry = new Scurry(this.cwd, {
-            nocase: opts.nocase,
-            fs: opts.fs
-          });
-        }
-        this.nocase = this.scurry.nocase;
-        const nocaseMagicOnly = this.platform === "darwin" || this.platform === "win32";
-        const mmo = {
-          // default nocase based on platform
-          ...opts,
-          dot: this.dot,
-          matchBase: this.matchBase,
-          nobrace: this.nobrace,
-          nocase: this.nocase,
-          nocaseMagicOnly,
-          nocomment: true,
-          noext: this.noext,
-          nonegate: true,
-          optimizationLevel: 2,
-          platform: this.platform,
-          windowsPathsNoEscape: this.windowsPathsNoEscape,
-          debug: !!this.opts.debug
-        };
-        const mms = this.pattern.map((p) => new minimatch_1.Minimatch(p, mmo));
-        const [matchSet, globParts] = mms.reduce((set, m) => {
-          set[0].push(...m.set);
-          set[1].push(...m.globParts);
-          return set;
-        }, [[], []]);
-        this.patterns = matchSet.map((set, i) => {
-          const g = globParts[i];
-          if (!g)
-            throw new Error("invalid pattern object");
-          return new pattern_js_1.Pattern(set, g, 0, this.platform);
-        });
-      }
-      async walk() {
-        return [
-          ...await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walk()
-        ];
-      }
-      walkSync() {
-        return [
-          ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
-            ...this.opts,
-            maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-            platform: this.platform,
-            nocase: this.nocase,
-            includeChildMatches: this.includeChildMatches
-          }).walkSync()
-        ];
-      }
-      stream() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).stream();
-      }
-      streamSync() {
-        return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
-          ...this.opts,
-          maxDepth: this.maxDepth !== Infinity ? this.maxDepth + this.scurry.cwd.depth() : Infinity,
-          platform: this.platform,
-          nocase: this.nocase,
-          includeChildMatches: this.includeChildMatches
-        }).streamSync();
-      }
-      /**
-       * Default sync iteration function. Returns a Generator that
-       * iterates over the results.
-       */
-      iterateSync() {
-        return this.streamSync()[Symbol.iterator]();
-      }
-      [Symbol.iterator]() {
-        return this.iterateSync();
-      }
-      /**
-       * Default async iteration function. Returns an AsyncGenerator that
-       * iterates over the results.
-       */
-      iterate() {
-        return this.stream()[Symbol.asyncIterator]();
-      }
-      [Symbol.asyncIterator]() {
-        return this.iterate();
-      }
-    };
-    exports2.Glob = Glob;
-  }
-});
-
-// node_modules/glob/dist/commonjs/has-magic.js
-var require_has_magic = __commonJS({
-  "node_modules/glob/dist/commonjs/has-magic.js"(exports2) {
-    "use strict";
-    Object.defineProperty(exports2, "__esModule", { value: true });
-    exports2.hasMagic = void 0;
-    var minimatch_1 = require_commonjs20();
-    var hasMagic = (pattern, options = {}) => {
-      if (!Array.isArray(pattern)) {
-        pattern = [pattern];
-      }
-      for (const p of pattern) {
-        if (new minimatch_1.Minimatch(p, options).hasMagic())
-          return true;
-      }
-      return false;
-    };
-    exports2.hasMagic = hasMagic;
-  }
-});
-
-// node_modules/glob/dist/commonjs/index.js
-var require_commonjs24 = __commonJS({
-  "node_modules/glob/dist/commonjs/index.js"(exports2) {
-    "use strict";
+      };
+      oe.Glob = Fe;
+    });
+    var Ne = R((ae) => {
+      "use strict";
+      Object.defineProperty(ae, "__esModule", { value: true });
+      ae.hasMagic = void 0;
+      var Lr = H(), Wr = (n, t = {}) => {
+        Array.isArray(n) || (n = [n]);
+        for (let e of n) if (new Lr.Minimatch(e, t).hasMagic()) return true;
+        return false;
+      };
+      ae.hasMagic = Wr;
+    });
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.glob = exports2.sync = exports2.iterate = exports2.iterateSync = exports2.stream = exports2.streamSync = exports2.Ignore = exports2.hasMagic = exports2.Glob = exports2.unescape = exports2.escape = void 0;
-    exports2.globStreamSync = globStreamSync;
-    exports2.globStream = globStream;
-    exports2.globSync = globSync;
-    exports2.globIterateSync = globIterateSync;
-    exports2.globIterate = globIterate;
-    var minimatch_1 = require_commonjs20();
-    var glob_js_1 = require_glob2();
-    var has_magic_js_1 = require_has_magic();
-    var minimatch_2 = require_commonjs20();
+    exports2.globStreamSync = xt;
+    exports2.globStream = Le;
+    exports2.globSync = We;
+    exports2.globIterateSync = Tt;
+    exports2.globIterate = Be;
+    var Ws = H();
+    var tt = je();
+    var Br = Ne();
+    var Is = H();
     Object.defineProperty(exports2, "escape", { enumerable: true, get: function() {
-      return minimatch_2.escape;
+      return Is.escape;
     } });
     Object.defineProperty(exports2, "unescape", { enumerable: true, get: function() {
-      return minimatch_2.unescape;
+      return Is.unescape;
     } });
-    var glob_js_2 = require_glob2();
+    var Ir = je();
     Object.defineProperty(exports2, "Glob", { enumerable: true, get: function() {
-      return glob_js_2.Glob;
+      return Ir.Glob;
     } });
-    var has_magic_js_2 = require_has_magic();
+    var Gr = Ne();
     Object.defineProperty(exports2, "hasMagic", { enumerable: true, get: function() {
-      return has_magic_js_2.hasMagic;
+      return Gr.hasMagic;
     } });
-    var ignore_js_1 = require_ignore();
+    var zr = ke();
     Object.defineProperty(exports2, "Ignore", { enumerable: true, get: function() {
-      return ignore_js_1.Ignore;
+      return zr.Ignore;
     } });
-    function globStreamSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).streamSync();
+    function xt(n, t = {}) {
+      return new tt.Glob(n, t).streamSync();
     }
-    function globStream(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).stream();
+    function Le(n, t = {}) {
+      return new tt.Glob(n, t).stream();
     }
-    function globSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walkSync();
+    function We(n, t = {}) {
+      return new tt.Glob(n, t).walkSync();
     }
-    async function glob_(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).walk();
+    async function Bs(n, t = {}) {
+      return new tt.Glob(n, t).walk();
     }
-    function globIterateSync(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterateSync();
+    function Tt(n, t = {}) {
+      return new tt.Glob(n, t).iterateSync();
     }
-    function globIterate(pattern, options = {}) {
-      return new glob_js_1.Glob(pattern, options).iterate();
+    function Be(n, t = {}) {
+      return new tt.Glob(n, t).iterate();
     }
-    exports2.streamSync = globStreamSync;
-    exports2.stream = Object.assign(globStream, { sync: globStreamSync });
-    exports2.iterateSync = globIterateSync;
-    exports2.iterate = Object.assign(globIterate, {
-      sync: globIterateSync
-    });
-    exports2.sync = Object.assign(globSync, {
-      stream: globStreamSync,
-      iterate: globIterateSync
-    });
-    exports2.glob = Object.assign(glob_, {
-      glob: glob_,
-      globSync,
-      sync: exports2.sync,
-      globStream,
-      stream: exports2.stream,
-      globStreamSync,
-      streamSync: exports2.streamSync,
-      globIterate,
-      iterate: exports2.iterate,
-      globIterateSync,
-      iterateSync: exports2.iterateSync,
-      Glob: glob_js_1.Glob,
-      hasMagic: has_magic_js_1.hasMagic,
-      escape: minimatch_1.escape,
-      unescape: minimatch_1.unescape
-    });
+    exports2.streamSync = xt;
+    exports2.stream = Object.assign(Le, { sync: xt });
+    exports2.iterateSync = Tt;
+    exports2.iterate = Object.assign(Be, { sync: Tt });
+    exports2.sync = Object.assign(We, { stream: xt, iterate: Tt });
+    exports2.glob = Object.assign(Bs, { glob: Bs, globSync: We, sync: exports2.sync, globStream: Le, stream: exports2.stream, globStreamSync: xt, streamSync: exports2.streamSync, globIterate: Be, iterate: exports2.iterate, globIterateSync: Tt, iterateSync: exports2.iterateSync, Glob: tt.Glob, hasMagic: Br.hasMagic, escape: Ws.escape, unescape: Ws.unescape });
     exports2.glob.glob = exports2.glob;
   }
 });
@@ -109255,13 +105657,13 @@ var require_commonjs24 = __commonJS({
 // node_modules/archiver-utils/file.js
 var require_file3 = __commonJS({
   "node_modules/archiver-utils/file.js"(exports2, module2) {
-    var fs31 = require_graceful_fs();
-    var path29 = require("path");
+    var fs32 = require_graceful_fs();
+    var path30 = require("path");
     var flatten = require_flatten();
     var difference = require_difference();
     var union = require_union();
-    var isPlainObject3 = require_isPlainObject();
-    var glob2 = require_commonjs24();
+    var isPlainObject4 = require_isPlainObject();
+    var glob2 = require_index_min();
     var file = module2.exports = {};
     var pathSeparatorRe = /[\/\\]/g;
     var processPatterns = function(patterns, fn) {
@@ -109281,11 +105683,11 @@ var require_file3 = __commonJS({
       return result;
     };
     file.exists = function() {
-      var filepath = path29.join.apply(path29, arguments);
-      return fs31.existsSync(filepath);
+      var filepath = path30.join.apply(path30, arguments);
+      return fs32.existsSync(filepath);
     };
     file.expand = function(...args) {
-      var options = isPlainObject3(args[0]) ? args.shift() : {};
+      var options = isPlainObject4(args[0]) ? args.shift() : {};
       var patterns = Array.isArray(args[0]) ? args[0] : args;
       if (patterns.length === 0) {
         return [];
@@ -109295,12 +105697,12 @@ var require_file3 = __commonJS({
       });
       if (options.filter) {
         matches = matches.filter(function(filepath) {
-          filepath = path29.join(options.cwd || "", filepath);
+          filepath = path30.join(options.cwd || "", filepath);
           try {
             if (typeof options.filter === "function") {
               return options.filter(filepath);
             } else {
-              return fs31.statSync(filepath)[options.filter]();
+              return fs32.statSync(filepath)[options.filter]();
             }
           } catch (e) {
             return false;
@@ -109312,7 +105714,7 @@ var require_file3 = __commonJS({
     file.expandMapping = function(patterns, destBase, options) {
       options = Object.assign({
         rename: function(destBase2, destPath) {
-          return path29.join(destBase2 || "", destPath);
+          return path30.join(destBase2 || "", destPath);
         }
       }, options);
       var files = [];
@@ -109320,14 +105722,14 @@ var require_file3 = __commonJS({
       file.expand(options, patterns).forEach(function(src) {
         var destPath = src;
         if (options.flatten) {
-          destPath = path29.basename(destPath);
+          destPath = path30.basename(destPath);
         }
         if (options.ext) {
           destPath = destPath.replace(/(\.[^\/]*)?$/, options.ext);
         }
         var dest = options.rename(destBase, destPath, options);
         if (options.cwd) {
-          src = path29.join(options.cwd, src);
+          src = path30.join(options.cwd, src);
         }
         dest = dest.replace(pathSeparatorRe, "/");
         src = src.replace(pathSeparatorRe, "/");
@@ -109408,14 +105810,14 @@ var require_file3 = __commonJS({
 // node_modules/archiver-utils/index.js
 var require_archiver_utils = __commonJS({
   "node_modules/archiver-utils/index.js"(exports2, module2) {
-    var fs31 = require_graceful_fs();
-    var path29 = require("path");
-    var isStream = require_is_stream();
+    var fs32 = require_graceful_fs();
+    var path30 = require("path");
+    var isStream2 = require_is_stream();
     var lazystream = require_lazystream();
-    var normalizePath = require_normalize_path();
-    var defaults = require_defaults();
+    var normalizePath4 = require_normalize_path();
+    var defaults2 = require_defaults();
     var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
+    var PassThrough3 = require_ours().PassThrough;
     var utils = module2.exports = {};
     utils.file = require_file3();
     utils.collectStream = function(source, callback) {
@@ -109447,17 +105849,17 @@ var require_archiver_utils = __commonJS({
       }
       return dateish;
     };
-    utils.defaults = function(object2, source, guard) {
+    utils.defaults = function(object, source, guard) {
       var args = arguments;
       args[0] = args[0] || {};
-      return defaults(...args);
+      return defaults2(...args);
     };
     utils.isStream = function(source) {
-      return isStream(source);
+      return isStream2(source);
     };
     utils.lazyReadStream = function(filepath) {
       return new lazystream.Readable(function() {
-        return fs31.createReadStream(filepath);
+        return fs32.createReadStream(filepath);
       });
     };
     utils.normalizeInputSource = function(source) {
@@ -109466,18 +105868,18 @@ var require_archiver_utils = __commonJS({
       } else if (typeof source === "string") {
         return Buffer.from(source);
       } else if (utils.isStream(source)) {
-        return source.pipe(new PassThrough());
+        return source.pipe(new PassThrough3());
       }
       return source;
     };
     utils.sanitizePath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+      return normalizePath4(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
     };
     utils.trailingSlashIt = function(str) {
       return str.slice(-1) !== "/" ? str + "/" : str;
     };
     utils.unixifyPath = function(filepath) {
-      return normalizePath(filepath, false).replace(/^\w+:/, "");
+      return normalizePath4(filepath, false).replace(/^\w+:/, "");
     };
     utils.walkdir = function(dirpath, base, callback) {
       var results = [];
@@ -109485,7 +105887,7 @@ var require_archiver_utils = __commonJS({
         callback = base;
         base = dirpath;
       }
-      fs31.readdir(dirpath, function(err, list) {
+      fs32.readdir(dirpath, function(err, list) {
         var i = 0;
         var file;
         var filepath;
@@ -109497,11 +105899,11 @@ var require_archiver_utils = __commonJS({
           if (!file) {
             return callback(null, results);
           }
-          filepath = path29.join(dirpath, file);
-          fs31.stat(filepath, function(err2, stats) {
+          filepath = path30.join(dirpath, file);
+          fs32.stat(filepath, function(err2, stats) {
             results.push({
               path: filepath,
-              relative: path29.relative(base, filepath).replace(/\\/g, "/"),
+              relative: path30.relative(base, filepath).replace(/\\/g, "/"),
               stats
             });
             if (stats && stats.isDirectory()) {
@@ -109524,11 +105926,11 @@ var require_archiver_utils = __commonJS({
   }
 });
 
-// node_modules/archiver/lib/error.js
+// node_modules/@actions/artifact/node_modules/archiver/lib/error.js
 var require_error3 = __commonJS({
-  "node_modules/archiver/lib/error.js"(exports2, module2) {
-    var util = require("util");
-    var ERROR_CODES = {
+  "node_modules/@actions/artifact/node_modules/archiver/lib/error.js"(exports2, module2) {
+    var util3 = require("util");
+    var ERROR_CODES2 = {
       "ABORTED": "archive was aborted",
       "DIRECTORYDIRPATHREQUIRED": "diretory dirpath argument must be a non-empty string value",
       "DIRECTORYFUNCTIONINVALIDDATA": "invalid data returned by directory custom data function",
@@ -109546,42 +105948,42 @@ var require_error3 = __commonJS({
       "SYMLINKTARGETREQUIRED": "symlink target argument must be a non-empty string value",
       "ENTRYNOTSUPPORTED": "entry not supported"
     };
-    function ArchiverError(code, data) {
+    function ArchiverError2(code, data) {
       Error.captureStackTrace(this, this.constructor);
-      this.message = ERROR_CODES[code] || code;
+      this.message = ERROR_CODES2[code] || code;
       this.code = code;
       this.data = data;
     }
-    util.inherits(ArchiverError, Error);
-    exports2 = module2.exports = ArchiverError;
+    util3.inherits(ArchiverError2, Error);
+    exports2 = module2.exports = ArchiverError2;
   }
 });
 
-// node_modules/archiver/lib/core.js
-var require_core3 = __commonJS({
-  "node_modules/archiver/lib/core.js"(exports2, module2) {
-    var fs31 = require("fs");
+// node_modules/@actions/artifact/node_modules/archiver/lib/core.js
+var require_core2 = __commonJS({
+  "node_modules/@actions/artifact/node_modules/archiver/lib/core.js"(exports2, module2) {
+    var fs32 = require("fs");
     var glob2 = require_readdir_glob();
     var async = require_async();
-    var path29 = require("path");
-    var util = require_archiver_utils();
+    var path30 = require("path");
+    var util3 = require_archiver_utils();
     var inherits = require("util").inherits;
-    var ArchiverError = require_error3();
-    var Transform = require_ours().Transform;
-    var win32 = process.platform === "win32";
-    var Archiver = function(format, options) {
-      if (!(this instanceof Archiver)) {
-        return new Archiver(format, options);
+    var ArchiverError2 = require_error3();
+    var Transform5 = require_ours().Transform;
+    var win322 = process.platform === "win32";
+    var Archiver2 = function(format, options) {
+      if (!(this instanceof Archiver2)) {
+        return new Archiver2(format, options);
       }
       if (typeof format !== "string") {
         options = format;
         format = "zip";
       }
-      options = this.options = util.defaults(options, {
+      options = this.options = util3.defaults(options, {
         highWaterMark: 1024 * 1024,
         statConcurrency: 4
       });
-      Transform.call(this, options);
+      Transform5.call(this, options);
       this._format = false;
       this._module = false;
       this._pending = 0;
@@ -109603,8 +106005,8 @@ var require_core3 = __commonJS({
       };
       this._streams = [];
     };
-    inherits(Archiver, Transform);
-    Archiver.prototype._abort = function() {
+    inherits(Archiver2, Transform5);
+    Archiver2.prototype._abort = function() {
       this._state.aborted = true;
       this._queue.kill();
       this._statQueue.kill();
@@ -109612,7 +106014,7 @@ var require_core3 = __commonJS({
         this._shutdown();
       }
     };
-    Archiver.prototype._append = function(filepath, data) {
+    Archiver2.prototype._append = function(filepath, data) {
       data = data || {};
       var task = {
         source: null,
@@ -109624,7 +106026,7 @@ var require_core3 = __commonJS({
       data.sourcePath = filepath;
       task.data = data;
       this._entriesCount++;
-      if (data.stats && data.stats instanceof fs31.Stats) {
+      if (data.stats && data.stats instanceof fs32.Stats) {
         task = this._updateQueueTaskWithStats(task, data.stats);
         if (task) {
           if (data.stats.size) {
@@ -109636,7 +106038,7 @@ var require_core3 = __commonJS({
         this._statQueue.push(task);
       }
     };
-    Archiver.prototype._finalize = function() {
+    Archiver2.prototype._finalize = function() {
       if (this._state.finalizing || this._state.finalized || this._state.aborted) {
         return;
       }
@@ -109645,7 +106047,7 @@ var require_core3 = __commonJS({
       this._state.finalizing = false;
       this._state.finalized = true;
     };
-    Archiver.prototype._maybeFinalize = function() {
+    Archiver2.prototype._maybeFinalize = function() {
       if (this._state.finalizing || this._state.finalized || this._state.aborted) {
         return false;
       }
@@ -109655,7 +106057,7 @@ var require_core3 = __commonJS({
       }
       return false;
     };
-    Archiver.prototype._moduleAppend = function(source, data, callback) {
+    Archiver2.prototype._moduleAppend = function(source, data, callback) {
       if (this._state.aborted) {
         callback();
         return;
@@ -109689,32 +106091,32 @@ var require_core3 = __commonJS({
         setImmediate(callback);
       }.bind(this));
     };
-    Archiver.prototype._moduleFinalize = function() {
+    Archiver2.prototype._moduleFinalize = function() {
       if (typeof this._module.finalize === "function") {
         this._module.finalize();
       } else if (typeof this._module.end === "function") {
         this._module.end();
       } else {
-        this.emit("error", new ArchiverError("NOENDMETHOD"));
+        this.emit("error", new ArchiverError2("NOENDMETHOD"));
       }
     };
-    Archiver.prototype._modulePipe = function() {
+    Archiver2.prototype._modulePipe = function() {
       this._module.on("error", this._onModuleError.bind(this));
       this._module.pipe(this);
       this._state.modulePiped = true;
     };
-    Archiver.prototype._moduleSupports = function(key) {
+    Archiver2.prototype._moduleSupports = function(key) {
       if (!this._module.supports || !this._module.supports[key]) {
         return false;
       }
       return this._module.supports[key];
     };
-    Archiver.prototype._moduleUnpipe = function() {
+    Archiver2.prototype._moduleUnpipe = function() {
       this._module.unpipe(this);
       this._state.modulePiped = false;
     };
-    Archiver.prototype._normalizeEntryData = function(data, stats) {
-      data = util.defaults(data, {
+    Archiver2.prototype._normalizeEntryData = function(data, stats) {
+      data = util3.defaults(data, {
         type: "file",
         name: null,
         date: null,
@@ -109732,7 +106134,7 @@ var require_core3 = __commonJS({
           data.name = data.prefix + "/" + data.name;
           data.prefix = null;
         }
-        data.name = util.sanitizePath(data.name);
+        data.name = util3.sanitizePath(data.name);
         if (data.type !== "symlink" && data.name.slice(-1) === "/") {
           isDir = true;
           data.type = "directory";
@@ -109741,18 +106143,18 @@ var require_core3 = __commonJS({
         }
       }
       if (typeof data.mode === "number") {
-        if (win32) {
+        if (win322) {
           data.mode &= 511;
         } else {
           data.mode &= 4095;
         }
       } else if (data.stats && data.mode === null) {
-        if (win32) {
+        if (win322) {
           data.mode = data.stats.mode & 511;
         } else {
           data.mode = data.stats.mode & 4095;
         }
-        if (win32 && isDir) {
+        if (win322 && isDir) {
           data.mode = 493;
         }
       } else if (data.mode === null) {
@@ -109761,14 +106163,14 @@ var require_core3 = __commonJS({
       if (data.stats && data.date === null) {
         data.date = data.stats.mtime;
       } else {
-        data.date = util.dateify(data.date);
+        data.date = util3.dateify(data.date);
       }
       return data;
     };
-    Archiver.prototype._onModuleError = function(err) {
+    Archiver2.prototype._onModuleError = function(err) {
       this.emit("error", err);
     };
-    Archiver.prototype._onQueueDrain = function() {
+    Archiver2.prototype._onQueueDrain = function() {
       if (this._state.finalizing || this._state.finalized || this._state.aborted) {
         return;
       }
@@ -109776,7 +106178,7 @@ var require_core3 = __commonJS({
         this._finalize();
       }
     };
-    Archiver.prototype._onQueueTask = function(task, callback) {
+    Archiver2.prototype._onQueueTask = function(task, callback) {
       var fullCallback = () => {
         if (task.data.callback) {
           task.data.callback();
@@ -109790,12 +106192,12 @@ var require_core3 = __commonJS({
       this._task = task;
       this._moduleAppend(task.source, task.data, fullCallback);
     };
-    Archiver.prototype._onStatQueueTask = function(task, callback) {
+    Archiver2.prototype._onStatQueueTask = function(task, callback) {
       if (this._state.finalizing || this._state.finalized || this._state.aborted) {
         callback();
         return;
       }
-      fs31.lstat(task.filepath, function(err, stats) {
+      fs32.lstat(task.filepath, function(err, stats) {
         if (this._state.aborted) {
           setImmediate(callback);
           return;
@@ -109816,75 +106218,75 @@ var require_core3 = __commonJS({
         setImmediate(callback);
       }.bind(this));
     };
-    Archiver.prototype._shutdown = function() {
+    Archiver2.prototype._shutdown = function() {
       this._moduleUnpipe();
       this.end();
     };
-    Archiver.prototype._transform = function(chunk, encoding, callback) {
+    Archiver2.prototype._transform = function(chunk, encoding, callback) {
       if (chunk) {
         this._pointer += chunk.length;
       }
       callback(null, chunk);
     };
-    Archiver.prototype._updateQueueTaskWithStats = function(task, stats) {
+    Archiver2.prototype._updateQueueTaskWithStats = function(task, stats) {
       if (stats.isFile()) {
         task.data.type = "file";
         task.data.sourceType = "stream";
-        task.source = util.lazyReadStream(task.filepath);
+        task.source = util3.lazyReadStream(task.filepath);
       } else if (stats.isDirectory() && this._moduleSupports("directory")) {
-        task.data.name = util.trailingSlashIt(task.data.name);
+        task.data.name = util3.trailingSlashIt(task.data.name);
         task.data.type = "directory";
-        task.data.sourcePath = util.trailingSlashIt(task.filepath);
+        task.data.sourcePath = util3.trailingSlashIt(task.filepath);
         task.data.sourceType = "buffer";
         task.source = Buffer.concat([]);
       } else if (stats.isSymbolicLink() && this._moduleSupports("symlink")) {
-        var linkPath = fs31.readlinkSync(task.filepath);
-        var dirName = path29.dirname(task.filepath);
+        var linkPath = fs32.readlinkSync(task.filepath);
+        var dirName = path30.dirname(task.filepath);
         task.data.type = "symlink";
-        task.data.linkname = path29.relative(dirName, path29.resolve(dirName, linkPath));
+        task.data.linkname = path30.relative(dirName, path30.resolve(dirName, linkPath));
         task.data.sourceType = "buffer";
         task.source = Buffer.concat([]);
       } else {
         if (stats.isDirectory()) {
-          this.emit("warning", new ArchiverError("DIRECTORYNOTSUPPORTED", task.data));
+          this.emit("warning", new ArchiverError2("DIRECTORYNOTSUPPORTED", task.data));
         } else if (stats.isSymbolicLink()) {
-          this.emit("warning", new ArchiverError("SYMLINKNOTSUPPORTED", task.data));
+          this.emit("warning", new ArchiverError2("SYMLINKNOTSUPPORTED", task.data));
         } else {
-          this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
+          this.emit("warning", new ArchiverError2("ENTRYNOTSUPPORTED", task.data));
         }
         return null;
       }
       task.data = this._normalizeEntryData(task.data, stats);
       return task;
     };
-    Archiver.prototype.abort = function() {
+    Archiver2.prototype.abort = function() {
       if (this._state.aborted || this._state.finalized) {
         return this;
       }
       this._abort();
       return this;
     };
-    Archiver.prototype.append = function(source, data) {
+    Archiver2.prototype.append = function(source, data) {
       if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        this.emit("error", new ArchiverError2("QUEUECLOSED"));
         return this;
       }
       data = this._normalizeEntryData(data);
       if (typeof data.name !== "string" || data.name.length === 0) {
-        this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+        this.emit("error", new ArchiverError2("ENTRYNAMEREQUIRED"));
         return this;
       }
       if (data.type === "directory" && !this._moduleSupports("directory")) {
-        this.emit("error", new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name }));
+        this.emit("error", new ArchiverError2("DIRECTORYNOTSUPPORTED", { name: data.name }));
         return this;
       }
-      source = util.normalizeInputSource(source);
+      source = util3.normalizeInputSource(source);
       if (Buffer.isBuffer(source)) {
         data.sourceType = "buffer";
-      } else if (util.isStream(source)) {
+      } else if (util3.isStream(source)) {
         data.sourceType = "stream";
       } else {
-        this.emit("error", new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
+        this.emit("error", new ArchiverError2("INPUTSTEAMBUFFERREQUIRED", { name: data.name }));
         return this;
       }
       this._entriesCount++;
@@ -109894,13 +106296,13 @@ var require_core3 = __commonJS({
       });
       return this;
     };
-    Archiver.prototype.directory = function(dirpath, destpath, data) {
+    Archiver2.prototype.directory = function(dirpath, destpath, data) {
       if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        this.emit("error", new ArchiverError2("QUEUECLOSED"));
         return this;
       }
       if (typeof dirpath !== "string" || dirpath.length === 0) {
-        this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+        this.emit("error", new ArchiverError2("DIRECTORYDIRPATHREQUIRED"));
         return this;
       }
       this._pending++;
@@ -109927,13 +106329,13 @@ var require_core3 = __commonJS({
       function onGlobError(err) {
         this.emit("error", err);
       }
-      function onGlobMatch(match) {
+      function onGlobMatch(match2) {
         globber.pause();
         var ignoreMatch = false;
         var entryData = Object.assign({}, data);
-        entryData.name = match.relative;
+        entryData.name = match2.relative;
         entryData.prefix = destpath;
-        entryData.stats = match.stat;
+        entryData.stats = match2.stat;
         entryData.callback = globber.resume.bind(globber);
         try {
           if (dataFunction) {
@@ -109941,7 +106343,7 @@ var require_core3 = __commonJS({
             if (entryData === false) {
               ignoreMatch = true;
             } else if (typeof entryData !== "object") {
-              throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
+              throw new ArchiverError2("DIRECTORYFUNCTIONINVALIDDATA", { dirpath });
             }
           }
         } catch (e) {
@@ -109952,7 +106354,7 @@ var require_core3 = __commonJS({
           globber.resume();
           return;
         }
-        this._append(match.absolute, entryData);
+        this._append(match2.absolute, entryData);
       }
       var globber = glob2(dirpath, globOptions);
       globber.on("error", onGlobError.bind(this));
@@ -109960,21 +106362,21 @@ var require_core3 = __commonJS({
       globber.on("end", onGlobEnd.bind(this));
       return this;
     };
-    Archiver.prototype.file = function(filepath, data) {
+    Archiver2.prototype.file = function(filepath, data) {
       if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        this.emit("error", new ArchiverError2("QUEUECLOSED"));
         return this;
       }
       if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+        this.emit("error", new ArchiverError2("FILEFILEPATHREQUIRED"));
         return this;
       }
       this._append(filepath, data);
       return this;
     };
-    Archiver.prototype.glob = function(pattern, options, data) {
+    Archiver2.prototype.glob = function(pattern, options, data) {
       this._pending++;
-      options = util.defaults(options, {
+      options = util3.defaults(options, {
         stat: true,
         pattern
       });
@@ -109985,13 +106387,13 @@ var require_core3 = __commonJS({
       function onGlobError(err) {
         this.emit("error", err);
       }
-      function onGlobMatch(match) {
+      function onGlobMatch(match2) {
         globber.pause();
         var entryData = Object.assign({}, data);
         entryData.callback = globber.resume.bind(globber);
-        entryData.stats = match.stat;
-        entryData.name = match.relative;
-        this._append(match.absolute, entryData);
+        entryData.stats = match2.stat;
+        entryData.name = match2.relative;
+        this._append(match2.absolute, entryData);
       }
       var globber = glob2(options.cwd || ".", options);
       globber.on("error", onGlobError.bind(this));
@@ -109999,14 +106401,14 @@ var require_core3 = __commonJS({
       globber.on("end", onGlobEnd.bind(this));
       return this;
     };
-    Archiver.prototype.finalize = function() {
+    Archiver2.prototype.finalize = function() {
       if (this._state.aborted) {
-        var abortedError = new ArchiverError("ABORTED");
+        var abortedError = new ArchiverError2("ABORTED");
         this.emit("error", abortedError);
         return Promise.reject(abortedError);
       }
       if (this._state.finalize) {
-        var finalizingError = new ArchiverError("FINALIZING");
+        var finalizingError = new ArchiverError2("FINALIZING");
         this.emit("error", finalizingError);
         return Promise.reject(finalizingError);
       }
@@ -110015,11 +106417,11 @@ var require_core3 = __commonJS({
         this._finalize();
       }
       var self2 = this;
-      return new Promise(function(resolve13, reject) {
+      return new Promise(function(resolve14, reject) {
         var errored;
         self2._module.on("end", function() {
           if (!errored) {
-            resolve13();
+            resolve14();
           }
         });
         self2._module.on("error", function(err) {
@@ -110028,42 +106430,42 @@ var require_core3 = __commonJS({
         });
       });
     };
-    Archiver.prototype.setFormat = function(format) {
+    Archiver2.prototype.setFormat = function(format) {
       if (this._format) {
-        this.emit("error", new ArchiverError("FORMATSET"));
+        this.emit("error", new ArchiverError2("FORMATSET"));
         return this;
       }
       this._format = format;
       return this;
     };
-    Archiver.prototype.setModule = function(module3) {
+    Archiver2.prototype.setModule = function(module3) {
       if (this._state.aborted) {
-        this.emit("error", new ArchiverError("ABORTED"));
+        this.emit("error", new ArchiverError2("ABORTED"));
         return this;
       }
       if (this._state.module) {
-        this.emit("error", new ArchiverError("MODULESET"));
+        this.emit("error", new ArchiverError2("MODULESET"));
         return this;
       }
       this._module = module3;
       this._modulePipe();
       return this;
     };
-    Archiver.prototype.symlink = function(filepath, target, mode) {
+    Archiver2.prototype.symlink = function(filepath, target, mode) {
       if (this._state.finalize || this._state.aborted) {
-        this.emit("error", new ArchiverError("QUEUECLOSED"));
+        this.emit("error", new ArchiverError2("QUEUECLOSED"));
         return this;
       }
       if (typeof filepath !== "string" || filepath.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+        this.emit("error", new ArchiverError2("SYMLINKFILEPATHREQUIRED"));
         return this;
       }
       if (typeof target !== "string" || target.length === 0) {
-        this.emit("error", new ArchiverError("SYMLINKTARGETREQUIRED", { filepath }));
+        this.emit("error", new ArchiverError2("SYMLINKTARGETREQUIRED", { filepath }));
         return this;
       }
       if (!this._moduleSupports("symlink")) {
-        this.emit("error", new ArchiverError("SYMLINKNOTSUPPORTED", { filepath }));
+        this.emit("error", new ArchiverError2("SYMLINKNOTSUPPORTED", { filepath }));
         return this;
       }
       var data = {};
@@ -110081,38 +106483,38 @@ var require_core3 = __commonJS({
       });
       return this;
     };
-    Archiver.prototype.pointer = function() {
+    Archiver2.prototype.pointer = function() {
       return this._pointer;
     };
-    Archiver.prototype.use = function(plugin) {
+    Archiver2.prototype.use = function(plugin) {
       this._streams.push(plugin);
       return this;
     };
-    module2.exports = Archiver;
+    module2.exports = Archiver2;
   }
 });
 
-// node_modules/compress-commons/lib/archivers/archive-entry.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/archive-entry.js
 var require_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
-    var ArchiveEntry = module2.exports = function() {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/archive-entry.js"(exports2, module2) {
+    var ArchiveEntry2 = module2.exports = function() {
     };
-    ArchiveEntry.prototype.getName = function() {
+    ArchiveEntry2.prototype.getName = function() {
     };
-    ArchiveEntry.prototype.getSize = function() {
+    ArchiveEntry2.prototype.getSize = function() {
     };
-    ArchiveEntry.prototype.getLastModifiedDate = function() {
+    ArchiveEntry2.prototype.getLastModifiedDate = function() {
     };
-    ArchiveEntry.prototype.isDirectory = function() {
+    ArchiveEntry2.prototype.isDirectory = function() {
     };
   }
 });
 
-// node_modules/compress-commons/lib/archivers/zip/util.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/util.js
 var require_util14 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
-    var util = module2.exports = {};
-    util.dateToDos = function(d, forceLocalTime) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/util.js"(exports2, module2) {
+    var util3 = module2.exports = {};
+    util3.dateToDos = function(d, forceLocalTime) {
       forceLocalTime = forceLocalTime || false;
       var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
       if (year < 1980) {
@@ -110130,53 +106532,53 @@ var require_util14 = __commonJS({
       };
       return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
     };
-    util.dosToDate = function(dos) {
+    util3.dosToDate = function(dos) {
       return new Date((dos >> 25 & 127) + 1980, (dos >> 21 & 15) - 1, dos >> 16 & 31, dos >> 11 & 31, dos >> 5 & 63, (dos & 31) << 1);
     };
-    util.fromDosTime = function(buf) {
-      return util.dosToDate(buf.readUInt32LE(0));
+    util3.fromDosTime = function(buf) {
+      return util3.dosToDate(buf.readUInt32LE(0));
     };
-    util.getEightBytes = function(v) {
+    util3.getEightBytes = function(v) {
       var buf = Buffer.alloc(8);
       buf.writeUInt32LE(v % 4294967296, 0);
       buf.writeUInt32LE(v / 4294967296 | 0, 4);
       return buf;
     };
-    util.getShortBytes = function(v) {
+    util3.getShortBytes = function(v) {
       var buf = Buffer.alloc(2);
       buf.writeUInt16LE((v & 65535) >>> 0, 0);
       return buf;
     };
-    util.getShortBytesValue = function(buf, offset) {
+    util3.getShortBytesValue = function(buf, offset) {
       return buf.readUInt16LE(offset);
     };
-    util.getLongBytes = function(v) {
+    util3.getLongBytes = function(v) {
       var buf = Buffer.alloc(4);
       buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
       return buf;
     };
-    util.getLongBytesValue = function(buf, offset) {
+    util3.getLongBytesValue = function(buf, offset) {
       return buf.readUInt32LE(offset);
     };
-    util.toDosTime = function(d) {
-      return util.getLongBytes(util.dateToDos(d));
+    util3.toDosTime = function(d) {
+      return util3.getLongBytes(util3.dateToDos(d));
     };
   }
 });
 
-// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
 var require_general_purpose_bit = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js"(exports2, module2) {
     var zipUtil = require_util14();
-    var DATA_DESCRIPTOR_FLAG = 1 << 3;
-    var ENCRYPTION_FLAG = 1 << 0;
-    var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
-    var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
-    var STRONG_ENCRYPTION_FLAG = 1 << 6;
-    var UFT8_NAMES_FLAG = 1 << 11;
-    var GeneralPurposeBit = module2.exports = function() {
-      if (!(this instanceof GeneralPurposeBit)) {
-        return new GeneralPurposeBit();
+    var DATA_DESCRIPTOR_FLAG2 = 1 << 3;
+    var ENCRYPTION_FLAG2 = 1 << 0;
+    var NUMBER_OF_SHANNON_FANO_TREES_FLAG2 = 1 << 2;
+    var SLIDING_DICTIONARY_SIZE_FLAG2 = 1 << 1;
+    var STRONG_ENCRYPTION_FLAG2 = 1 << 6;
+    var UFT8_NAMES_FLAG2 = 1 << 11;
+    var GeneralPurposeBit2 = module2.exports = function() {
+      if (!(this instanceof GeneralPurposeBit2)) {
+        return new GeneralPurposeBit2();
       }
       this.descriptor = false;
       this.encryption = false;
@@ -110186,64 +106588,64 @@ var require_general_purpose_bit = __commonJS({
       this.slidingDictionarySize = 0;
       return this;
     };
-    GeneralPurposeBit.prototype.encode = function() {
+    GeneralPurposeBit2.prototype.encode = function() {
       return zipUtil.getShortBytes(
-        (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+        (this.descriptor ? DATA_DESCRIPTOR_FLAG2 : 0) | (this.utf8 ? UFT8_NAMES_FLAG2 : 0) | (this.encryption ? ENCRYPTION_FLAG2 : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG2 : 0)
       );
     };
-    GeneralPurposeBit.prototype.parse = function(buf, offset) {
+    GeneralPurposeBit2.prototype.parse = function(buf, offset) {
       var flag = zipUtil.getShortBytesValue(buf, offset);
-      var gbp = new GeneralPurposeBit();
-      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
-      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
-      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
-      gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
-      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096);
-      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2);
+      var gbp = new GeneralPurposeBit2();
+      gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG2) !== 0);
+      gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG2) !== 0);
+      gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG2) !== 0);
+      gbp.useEncryption((flag & ENCRYPTION_FLAG2) !== 0);
+      gbp.setSlidingDictionarySize((flag & SLIDING_DICTIONARY_SIZE_FLAG2) !== 0 ? 8192 : 4096);
+      gbp.setNumberOfShannonFanoTrees((flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG2) !== 0 ? 3 : 2);
       return gbp;
     };
-    GeneralPurposeBit.prototype.setNumberOfShannonFanoTrees = function(n) {
+    GeneralPurposeBit2.prototype.setNumberOfShannonFanoTrees = function(n) {
       this.numberOfShannonFanoTrees = n;
     };
-    GeneralPurposeBit.prototype.getNumberOfShannonFanoTrees = function() {
+    GeneralPurposeBit2.prototype.getNumberOfShannonFanoTrees = function() {
       return this.numberOfShannonFanoTrees;
     };
-    GeneralPurposeBit.prototype.setSlidingDictionarySize = function(n) {
+    GeneralPurposeBit2.prototype.setSlidingDictionarySize = function(n) {
       this.slidingDictionarySize = n;
     };
-    GeneralPurposeBit.prototype.getSlidingDictionarySize = function() {
+    GeneralPurposeBit2.prototype.getSlidingDictionarySize = function() {
       return this.slidingDictionarySize;
     };
-    GeneralPurposeBit.prototype.useDataDescriptor = function(b) {
+    GeneralPurposeBit2.prototype.useDataDescriptor = function(b) {
       this.descriptor = b;
     };
-    GeneralPurposeBit.prototype.usesDataDescriptor = function() {
+    GeneralPurposeBit2.prototype.usesDataDescriptor = function() {
       return this.descriptor;
     };
-    GeneralPurposeBit.prototype.useEncryption = function(b) {
+    GeneralPurposeBit2.prototype.useEncryption = function(b) {
       this.encryption = b;
     };
-    GeneralPurposeBit.prototype.usesEncryption = function() {
+    GeneralPurposeBit2.prototype.usesEncryption = function() {
       return this.encryption;
     };
-    GeneralPurposeBit.prototype.useStrongEncryption = function(b) {
+    GeneralPurposeBit2.prototype.useStrongEncryption = function(b) {
       this.strongEncryption = b;
     };
-    GeneralPurposeBit.prototype.usesStrongEncryption = function() {
+    GeneralPurposeBit2.prototype.usesStrongEncryption = function() {
       return this.strongEncryption;
     };
-    GeneralPurposeBit.prototype.useUTF8ForNames = function(b) {
+    GeneralPurposeBit2.prototype.useUTF8ForNames = function(b) {
       this.utf8 = b;
     };
-    GeneralPurposeBit.prototype.usesUTF8ForNames = function() {
+    GeneralPurposeBit2.prototype.usesUTF8ForNames = function() {
       return this.utf8;
     };
   }
 });
 
-// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/unix-stat.js
 var require_unix_stat = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/unix-stat.js"(exports2, module2) {
     module2.exports = {
       /**
        * Bits used for permissions (and sticky bit)
@@ -110293,9 +106695,9 @@ var require_unix_stat = __commonJS({
   }
 });
 
-// node_modules/compress-commons/lib/archivers/zip/constants.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/constants.js
 var require_constants13 = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/constants.js"(exports2, module2) {
     module2.exports = {
       WORD: 4,
       DWORD: 8,
@@ -110370,27 +106772,27 @@ var require_constants13 = __commonJS({
   }
 });
 
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
 var require_zip_archive_entry = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js"(exports2, module2) {
     var inherits = require("util").inherits;
-    var normalizePath = require_normalize_path();
-    var ArchiveEntry = require_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
+    var normalizePath4 = require_normalize_path();
+    var ArchiveEntry2 = require_archive_entry();
+    var GeneralPurposeBit2 = require_general_purpose_bit();
     var UnixStat = require_unix_stat();
     var constants = require_constants13();
     var zipUtil = require_util14();
-    var ZipArchiveEntry = module2.exports = function(name) {
-      if (!(this instanceof ZipArchiveEntry)) {
-        return new ZipArchiveEntry(name);
+    var ZipArchiveEntry2 = module2.exports = function(name) {
+      if (!(this instanceof ZipArchiveEntry2)) {
+        return new ZipArchiveEntry2(name);
       }
-      ArchiveEntry.call(this);
+      ArchiveEntry2.call(this);
       this.platform = constants.PLATFORM_FAT;
       this.method = -1;
       this.name = null;
       this.size = 0;
       this.csize = 0;
-      this.gpb = new GeneralPurposeBit();
+      this.gpb = new GeneralPurposeBit2();
       this.crc = 0;
       this.time = -1;
       this.minver = constants.MIN_VERSION_INITIAL;
@@ -110403,102 +106805,102 @@ var require_zip_archive_entry = __commonJS({
         this.setName(name);
       }
     };
-    inherits(ZipArchiveEntry, ArchiveEntry);
-    ZipArchiveEntry.prototype.getCentralDirectoryExtra = function() {
+    inherits(ZipArchiveEntry2, ArchiveEntry2);
+    ZipArchiveEntry2.prototype.getCentralDirectoryExtra = function() {
       return this.getExtra();
     };
-    ZipArchiveEntry.prototype.getComment = function() {
+    ZipArchiveEntry2.prototype.getComment = function() {
       return this.comment !== null ? this.comment : "";
     };
-    ZipArchiveEntry.prototype.getCompressedSize = function() {
+    ZipArchiveEntry2.prototype.getCompressedSize = function() {
       return this.csize;
     };
-    ZipArchiveEntry.prototype.getCrc = function() {
+    ZipArchiveEntry2.prototype.getCrc = function() {
       return this.crc;
     };
-    ZipArchiveEntry.prototype.getExternalAttributes = function() {
+    ZipArchiveEntry2.prototype.getExternalAttributes = function() {
       return this.exattr;
     };
-    ZipArchiveEntry.prototype.getExtra = function() {
+    ZipArchiveEntry2.prototype.getExtra = function() {
       return this.extra !== null ? this.extra : constants.EMPTY;
     };
-    ZipArchiveEntry.prototype.getGeneralPurposeBit = function() {
+    ZipArchiveEntry2.prototype.getGeneralPurposeBit = function() {
       return this.gpb;
     };
-    ZipArchiveEntry.prototype.getInternalAttributes = function() {
+    ZipArchiveEntry2.prototype.getInternalAttributes = function() {
       return this.inattr;
     };
-    ZipArchiveEntry.prototype.getLastModifiedDate = function() {
+    ZipArchiveEntry2.prototype.getLastModifiedDate = function() {
       return this.getTime();
     };
-    ZipArchiveEntry.prototype.getLocalFileDataExtra = function() {
+    ZipArchiveEntry2.prototype.getLocalFileDataExtra = function() {
       return this.getExtra();
     };
-    ZipArchiveEntry.prototype.getMethod = function() {
+    ZipArchiveEntry2.prototype.getMethod = function() {
       return this.method;
     };
-    ZipArchiveEntry.prototype.getName = function() {
+    ZipArchiveEntry2.prototype.getName = function() {
       return this.name;
     };
-    ZipArchiveEntry.prototype.getPlatform = function() {
+    ZipArchiveEntry2.prototype.getPlatform = function() {
       return this.platform;
     };
-    ZipArchiveEntry.prototype.getSize = function() {
+    ZipArchiveEntry2.prototype.getSize = function() {
       return this.size;
     };
-    ZipArchiveEntry.prototype.getTime = function() {
+    ZipArchiveEntry2.prototype.getTime = function() {
       return this.time !== -1 ? zipUtil.dosToDate(this.time) : -1;
     };
-    ZipArchiveEntry.prototype.getTimeDos = function() {
+    ZipArchiveEntry2.prototype.getTimeDos = function() {
       return this.time !== -1 ? this.time : 0;
     };
-    ZipArchiveEntry.prototype.getUnixMode = function() {
+    ZipArchiveEntry2.prototype.getUnixMode = function() {
       return this.platform !== constants.PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> constants.SHORT_SHIFT & constants.SHORT_MASK;
     };
-    ZipArchiveEntry.prototype.getVersionNeededToExtract = function() {
+    ZipArchiveEntry2.prototype.getVersionNeededToExtract = function() {
       return this.minver;
     };
-    ZipArchiveEntry.prototype.setComment = function(comment) {
+    ZipArchiveEntry2.prototype.setComment = function(comment) {
       if (Buffer.byteLength(comment) !== comment.length) {
         this.getGeneralPurposeBit().useUTF8ForNames(true);
       }
       this.comment = comment;
     };
-    ZipArchiveEntry.prototype.setCompressedSize = function(size) {
+    ZipArchiveEntry2.prototype.setCompressedSize = function(size) {
       if (size < 0) {
         throw new Error("invalid entry compressed size");
       }
       this.csize = size;
     };
-    ZipArchiveEntry.prototype.setCrc = function(crc) {
+    ZipArchiveEntry2.prototype.setCrc = function(crc) {
       if (crc < 0) {
         throw new Error("invalid entry crc32");
       }
       this.crc = crc;
     };
-    ZipArchiveEntry.prototype.setExternalAttributes = function(attr) {
+    ZipArchiveEntry2.prototype.setExternalAttributes = function(attr) {
       this.exattr = attr >>> 0;
     };
-    ZipArchiveEntry.prototype.setExtra = function(extra) {
+    ZipArchiveEntry2.prototype.setExtra = function(extra) {
       this.extra = extra;
     };
-    ZipArchiveEntry.prototype.setGeneralPurposeBit = function(gpb) {
-      if (!(gpb instanceof GeneralPurposeBit)) {
+    ZipArchiveEntry2.prototype.setGeneralPurposeBit = function(gpb) {
+      if (!(gpb instanceof GeneralPurposeBit2)) {
         throw new Error("invalid entry GeneralPurposeBit");
       }
       this.gpb = gpb;
     };
-    ZipArchiveEntry.prototype.setInternalAttributes = function(attr) {
+    ZipArchiveEntry2.prototype.setInternalAttributes = function(attr) {
       this.inattr = attr;
     };
-    ZipArchiveEntry.prototype.setMethod = function(method) {
+    ZipArchiveEntry2.prototype.setMethod = function(method) {
       if (method < 0) {
         throw new Error("invalid entry compression method");
       }
       this.method = method;
     };
-    ZipArchiveEntry.prototype.setName = function(name, prependSlash = false) {
-      name = normalizePath(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    ZipArchiveEntry2.prototype.setName = function(name, prependSlash = false) {
+      name = normalizePath4(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
       if (prependSlash) {
         name = `/${name}`;
       }
@@ -110507,22 +106909,22 @@ var require_zip_archive_entry = __commonJS({
       }
       this.name = name;
     };
-    ZipArchiveEntry.prototype.setPlatform = function(platform2) {
+    ZipArchiveEntry2.prototype.setPlatform = function(platform2) {
       this.platform = platform2;
     };
-    ZipArchiveEntry.prototype.setSize = function(size) {
+    ZipArchiveEntry2.prototype.setSize = function(size) {
       if (size < 0) {
         throw new Error("invalid entry size");
       }
       this.size = size;
     };
-    ZipArchiveEntry.prototype.setTime = function(time, forceLocalTime) {
+    ZipArchiveEntry2.prototype.setTime = function(time, forceLocalTime) {
       if (!(time instanceof Date)) {
         throw new Error("invalid entry time");
       }
       this.time = zipUtil.dateToDos(time, forceLocalTime);
     };
-    ZipArchiveEntry.prototype.setUnixMode = function(mode) {
+    ZipArchiveEntry2.prototype.setUnixMode = function(mode) {
       mode |= this.isDirectory() ? constants.S_IFDIR : constants.S_IFREG;
       var extattr = 0;
       extattr |= mode << constants.SHORT_SHIFT | (this.isDirectory() ? constants.S_DOS_D : constants.S_DOS_A);
@@ -110530,48 +106932,48 @@ var require_zip_archive_entry = __commonJS({
       this.mode = mode & constants.MODE_MASK;
       this.platform = constants.PLATFORM_UNIX;
     };
-    ZipArchiveEntry.prototype.setVersionNeededToExtract = function(minver) {
+    ZipArchiveEntry2.prototype.setVersionNeededToExtract = function(minver) {
       this.minver = minver;
     };
-    ZipArchiveEntry.prototype.isDirectory = function() {
+    ZipArchiveEntry2.prototype.isDirectory = function() {
       return this.getName().slice(-1) === "/";
     };
-    ZipArchiveEntry.prototype.isUnixSymlink = function() {
+    ZipArchiveEntry2.prototype.isUnixSymlink = function() {
       return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
     };
-    ZipArchiveEntry.prototype.isZip64 = function() {
+    ZipArchiveEntry2.prototype.isZip64 = function() {
       return this.csize > constants.ZIP64_MAGIC || this.size > constants.ZIP64_MAGIC;
     };
   }
 });
 
-// node_modules/compress-commons/node_modules/is-stream/index.js
+// node_modules/@actions/artifact/node_modules/is-stream/index.js
 var require_is_stream2 = __commonJS({
-  "node_modules/compress-commons/node_modules/is-stream/index.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/is-stream/index.js"(exports2, module2) {
     "use strict";
-    var isStream = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
-    isStream.writable = (stream2) => isStream(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
-    isStream.readable = (stream2) => isStream(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
-    isStream.duplex = (stream2) => isStream.writable(stream2) && isStream.readable(stream2);
-    isStream.transform = (stream2) => isStream.duplex(stream2) && typeof stream2._transform === "function";
-    module2.exports = isStream;
+    var isStream2 = (stream2) => stream2 !== null && typeof stream2 === "object" && typeof stream2.pipe === "function";
+    isStream2.writable = (stream2) => isStream2(stream2) && stream2.writable !== false && typeof stream2._write === "function" && typeof stream2._writableState === "object";
+    isStream2.readable = (stream2) => isStream2(stream2) && stream2.readable !== false && typeof stream2._read === "function" && typeof stream2._readableState === "object";
+    isStream2.duplex = (stream2) => isStream2.writable(stream2) && isStream2.readable(stream2);
+    isStream2.transform = (stream2) => isStream2.duplex(stream2) && typeof stream2._transform === "function";
+    module2.exports = isStream2;
   }
 });
 
-// node_modules/compress-commons/lib/util/index.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/util/index.js
 var require_util15 = __commonJS({
-  "node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/util/index.js"(exports2, module2) {
     var Stream = require("stream").Stream;
-    var PassThrough = require_ours().PassThrough;
-    var isStream = require_is_stream2();
-    var util = module2.exports = {};
-    util.normalizeInputSource = function(source) {
+    var PassThrough3 = require_ours().PassThrough;
+    var isStream2 = require_is_stream2();
+    var util3 = module2.exports = {};
+    util3.normalizeInputSource = function(source) {
       if (source === null) {
         return Buffer.alloc(0);
       } else if (typeof source === "string") {
         return Buffer.from(source);
-      } else if (isStream(source) && !source._readableState) {
-        var normalized = new PassThrough();
+      } else if (isStream2(source) && !source._readableState) {
+        var normalized = new PassThrough3();
         source.pipe(normalized);
         return normalized;
       }
@@ -110580,19 +106982,19 @@ var require_util15 = __commonJS({
   }
 });
 
-// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/archive-output-stream.js
 var require_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/archive-output-stream.js"(exports2, module2) {
     var inherits = require("util").inherits;
-    var isStream = require_is_stream2();
-    var Transform = require_ours().Transform;
-    var ArchiveEntry = require_archive_entry();
-    var util = require_util15();
-    var ArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ArchiveOutputStream)) {
-        return new ArchiveOutputStream(options);
+    var isStream2 = require_is_stream2();
+    var Transform5 = require_ours().Transform;
+    var ArchiveEntry2 = require_archive_entry();
+    var util3 = require_util15();
+    var ArchiveOutputStream2 = module2.exports = function(options) {
+      if (!(this instanceof ArchiveOutputStream2)) {
+        return new ArchiveOutputStream2(options);
       }
-      Transform.call(this, options);
+      Transform5.call(this, options);
       this.offset = 0;
       this._archive = {
         finish: false,
@@ -110600,29 +107002,29 @@ var require_archive_output_stream = __commonJS({
         processing: false
       };
     };
-    inherits(ArchiveOutputStream, Transform);
-    ArchiveOutputStream.prototype._appendBuffer = function(zae, source, callback) {
+    inherits(ArchiveOutputStream2, Transform5);
+    ArchiveOutputStream2.prototype._appendBuffer = function(zae, source, callback) {
     };
-    ArchiveOutputStream.prototype._appendStream = function(zae, source, callback) {
+    ArchiveOutputStream2.prototype._appendStream = function(zae, source, callback) {
     };
-    ArchiveOutputStream.prototype._emitErrorCallback = function(err) {
+    ArchiveOutputStream2.prototype._emitErrorCallback = function(err) {
       if (err) {
         this.emit("error", err);
       }
     };
-    ArchiveOutputStream.prototype._finish = function(ae) {
+    ArchiveOutputStream2.prototype._finish = function(ae) {
     };
-    ArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    ArchiveOutputStream2.prototype._normalizeEntry = function(ae) {
     };
-    ArchiveOutputStream.prototype._transform = function(chunk, encoding, callback) {
+    ArchiveOutputStream2.prototype._transform = function(chunk, encoding, callback) {
       callback(null, chunk);
     };
-    ArchiveOutputStream.prototype.entry = function(ae, source, callback) {
+    ArchiveOutputStream2.prototype.entry = function(ae, source, callback) {
       source = source || null;
       if (typeof callback !== "function") {
         callback = this._emitErrorCallback.bind(this);
       }
-      if (!(ae instanceof ArchiveEntry)) {
+      if (!(ae instanceof ArchiveEntry2)) {
         callback(new Error("not a valid instance of ArchiveEntry"));
         return;
       }
@@ -110637,10 +107039,10 @@ var require_archive_output_stream = __commonJS({
       this._archive.processing = true;
       this._normalizeEntry(ae);
       this._entry = ae;
-      source = util.normalizeInputSource(source);
+      source = util3.normalizeInputSource(source);
       if (Buffer.isBuffer(source)) {
         this._appendBuffer(ae, source, callback);
-      } else if (isStream(source)) {
+      } else if (isStream2(source)) {
         this._appendStream(ae, source, callback);
       } else {
         this._archive.processing = false;
@@ -110649,21 +107051,21 @@ var require_archive_output_stream = __commonJS({
       }
       return this;
     };
-    ArchiveOutputStream.prototype.finish = function() {
+    ArchiveOutputStream2.prototype.finish = function() {
       if (this._archive.processing) {
         this._archive.finish = true;
         return;
       }
       this._finish();
     };
-    ArchiveOutputStream.prototype.getBytesWritten = function() {
+    ArchiveOutputStream2.prototype.getBytesWritten = function() {
       return this.offset;
     };
-    ArchiveOutputStream.prototype.write = function(chunk, cb) {
+    ArchiveOutputStream2.prototype.write = function(chunk, cb) {
       if (chunk) {
         this.offset += chunk.length;
       }
-      return Transform.prototype.write.call(this, chunk, cb);
+      return Transform5.prototype.write.call(this, chunk, cb);
     };
   }
 });
@@ -110766,13 +107168,13 @@ var require_crc32 = __commonJS({
   }
 });
 
-// node_modules/crc32-stream/lib/crc32-stream.js
+// node_modules/@actions/artifact/node_modules/crc32-stream/lib/crc32-stream.js
 var require_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/crc32-stream/lib/crc32-stream.js"(exports2, module2) {
     "use strict";
-    var { Transform } = require_ours();
-    var crc32 = require_crc32();
-    var CRC32Stream = class extends Transform {
+    var { Transform: Transform5 } = require_ours();
+    var crc325 = require_crc32();
+    var CRC32Stream2 = class extends Transform5 {
       constructor(options) {
         super(options);
         this.checksum = Buffer.allocUnsafe(4);
@@ -110781,7 +107183,7 @@ var require_crc32_stream = __commonJS({
       }
       _transform(chunk, encoding, callback) {
         if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.checksum = crc325.buf(chunk, this.checksum) >>> 0;
           this.rawSize += chunk.length;
         }
         callback(null, chunk);
@@ -110798,17 +107200,17 @@ var require_crc32_stream = __commonJS({
         return this.rawSize;
       }
     };
-    module2.exports = CRC32Stream;
+    module2.exports = CRC32Stream2;
   }
 });
 
-// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+// node_modules/@actions/artifact/node_modules/crc32-stream/lib/deflate-crc32-stream.js
 var require_deflate_crc32_stream = __commonJS({
-  "node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/crc32-stream/lib/deflate-crc32-stream.js"(exports2, module2) {
     "use strict";
-    var { DeflateRaw } = require("zlib");
-    var crc32 = require_crc32();
-    var DeflateCRC32Stream = class extends DeflateRaw {
+    var { DeflateRaw: DeflateRaw2 } = require("zlib");
+    var crc325 = require_crc32();
+    var DeflateCRC32Stream2 = class extends DeflateRaw2 {
       constructor(options) {
         super(options);
         this.checksum = Buffer.allocUnsafe(4);
@@ -110824,7 +107226,7 @@ var require_deflate_crc32_stream = __commonJS({
       }
       _transform(chunk, encoding, callback) {
         if (chunk) {
-          this.checksum = crc32.buf(chunk, this.checksum) >>> 0;
+          this.checksum = crc325.buf(chunk, this.checksum) >>> 0;
           this.rawSize += chunk.length;
         }
         super._transform(chunk, encoding, callback);
@@ -110845,13 +107247,13 @@ var require_deflate_crc32_stream = __commonJS({
         }
       }
     };
-    module2.exports = DeflateCRC32Stream;
+    module2.exports = DeflateCRC32Stream2;
   }
 });
 
-// node_modules/crc32-stream/lib/index.js
+// node_modules/@actions/artifact/node_modules/crc32-stream/lib/index.js
 var require_lib3 = __commonJS({
-  "node_modules/crc32-stream/lib/index.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/crc32-stream/lib/index.js"(exports2, module2) {
     "use strict";
     module2.exports = {
       CRC32Stream: require_crc32_stream(),
@@ -110860,25 +107262,25 @@ var require_lib3 = __commonJS({
   }
 });
 
-// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
 var require_zip_archive_output_stream = __commonJS({
-  "node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js"(exports2, module2) {
     var inherits = require("util").inherits;
-    var crc32 = require_crc32();
-    var { CRC32Stream } = require_lib3();
-    var { DeflateCRC32Stream } = require_lib3();
-    var ArchiveOutputStream = require_archive_output_stream();
-    var ZipArchiveEntry = require_zip_archive_entry();
-    var GeneralPurposeBit = require_general_purpose_bit();
+    var crc325 = require_crc32();
+    var { CRC32Stream: CRC32Stream2 } = require_lib3();
+    var { DeflateCRC32Stream: DeflateCRC32Stream2 } = require_lib3();
+    var ArchiveOutputStream2 = require_archive_output_stream();
+    var ZipArchiveEntry2 = require_zip_archive_entry();
+    var GeneralPurposeBit2 = require_general_purpose_bit();
     var constants = require_constants13();
-    var util = require_util15();
+    var util3 = require_util15();
     var zipUtil = require_util14();
-    var ZipArchiveOutputStream = module2.exports = function(options) {
-      if (!(this instanceof ZipArchiveOutputStream)) {
-        return new ZipArchiveOutputStream(options);
+    var ZipArchiveOutputStream2 = module2.exports = function(options) {
+      if (!(this instanceof ZipArchiveOutputStream2)) {
+        return new ZipArchiveOutputStream2(options);
       }
       options = this.options = this._defaults(options);
-      ArchiveOutputStream.call(this, options);
+      ArchiveOutputStream2.call(this, options);
       this._entry = null;
       this._entries = [];
       this._archive = {
@@ -110892,8 +107294,8 @@ var require_zip_archive_output_stream = __commonJS({
         forceLocalTime: options.forceLocalTime
       };
     };
-    inherits(ZipArchiveOutputStream, ArchiveOutputStream);
-    ZipArchiveOutputStream.prototype._afterAppend = function(ae) {
+    inherits(ZipArchiveOutputStream2, ArchiveOutputStream2);
+    ZipArchiveOutputStream2.prototype._afterAppend = function(ae) {
       this._entries.push(ae);
       if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
         this._writeDataDescriptor(ae);
@@ -110904,7 +107306,7 @@ var require_zip_archive_output_stream = __commonJS({
         this._finish();
       }
     };
-    ZipArchiveOutputStream.prototype._appendBuffer = function(ae, source, callback) {
+    ZipArchiveOutputStream2.prototype._appendBuffer = function(ae, source, callback) {
       if (source.length === 0) {
         ae.setMethod(constants.METHOD_STORED);
       }
@@ -110912,7 +107314,7 @@ var require_zip_archive_output_stream = __commonJS({
       if (method === constants.METHOD_STORED) {
         ae.setSize(source.length);
         ae.setCompressedSize(source.length);
-        ae.setCrc(crc32.buf(source) >>> 0);
+        ae.setCrc(crc325.buf(source) >>> 0);
       }
       this._writeLocalFileHeader(ae);
       if (method === constants.METHOD_STORED) {
@@ -110928,7 +107330,7 @@ var require_zip_archive_output_stream = __commonJS({
         return;
       }
     };
-    ZipArchiveOutputStream.prototype._appendStream = function(ae, source, callback) {
+    ZipArchiveOutputStream2.prototype._appendStream = function(ae, source, callback) {
       ae.getGeneralPurposeBit().useDataDescriptor(true);
       ae.setVersionNeededToExtract(constants.MIN_VERSION_DATA_DESCRIPTOR);
       this._writeLocalFileHeader(ae);
@@ -110939,7 +107341,7 @@ var require_zip_archive_output_stream = __commonJS({
       });
       source.pipe(smart);
     };
-    ZipArchiveOutputStream.prototype._defaults = function(o) {
+    ZipArchiveOutputStream2.prototype._defaults = function(o) {
       if (typeof o !== "object") {
         o = {};
       }
@@ -110953,7 +107355,7 @@ var require_zip_archive_output_stream = __commonJS({
       o.forceLocalTime = !!o.forceLocalTime;
       return o;
     };
-    ZipArchiveOutputStream.prototype._finish = function() {
+    ZipArchiveOutputStream2.prototype._finish = function() {
       this._archive.centralOffset = this.offset;
       this._entries.forEach(function(ae) {
         this._writeCentralFileHeader(ae);
@@ -110968,7 +107370,7 @@ var require_zip_archive_output_stream = __commonJS({
       this._archive.finished = true;
       this.end();
     };
-    ZipArchiveOutputStream.prototype._normalizeEntry = function(ae) {
+    ZipArchiveOutputStream2.prototype._normalizeEntry = function(ae) {
       if (ae.getMethod() === -1) {
         ae.setMethod(constants.METHOD_DEFLATED);
       }
@@ -110985,9 +107387,9 @@ var require_zip_archive_output_stream = __commonJS({
         contents: 0
       };
     };
-    ZipArchiveOutputStream.prototype._smartStream = function(ae, callback) {
+    ZipArchiveOutputStream2.prototype._smartStream = function(ae, callback) {
       var deflate = ae.getMethod() === constants.METHOD_DEFLATED;
-      var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+      var process2 = deflate ? new DeflateCRC32Stream2(this.options.zlib) : new CRC32Stream2();
       var error3 = null;
       function handleStuff() {
         var digest = process2.digest().readUInt32BE(0);
@@ -111004,7 +107406,7 @@ var require_zip_archive_output_stream = __commonJS({
       process2.pipe(this, { end: false });
       return process2;
     };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryEnd = function() {
+    ZipArchiveOutputStream2.prototype._writeCentralDirectoryEnd = function() {
       var records = this._entries.length;
       var size = this._archive.centralLength;
       var offset = this._archive.centralOffset;
@@ -111025,7 +107427,7 @@ var require_zip_archive_output_stream = __commonJS({
       this.write(zipUtil.getShortBytes(commentLength));
       this.write(comment);
     };
-    ZipArchiveOutputStream.prototype._writeCentralDirectoryZip64 = function() {
+    ZipArchiveOutputStream2.prototype._writeCentralDirectoryZip64 = function() {
       this.write(zipUtil.getLongBytes(constants.SIG_ZIP64_EOCD));
       this.write(zipUtil.getEightBytes(44));
       this.write(zipUtil.getShortBytes(constants.MIN_VERSION_ZIP64));
@@ -111041,7 +107443,7 @@ var require_zip_archive_output_stream = __commonJS({
       this.write(zipUtil.getEightBytes(this._archive.centralOffset + this._archive.centralLength));
       this.write(zipUtil.getLongBytes(1));
     };
-    ZipArchiveOutputStream.prototype._writeCentralFileHeader = function(ae) {
+    ZipArchiveOutputStream2.prototype._writeCentralFileHeader = function(ae) {
       var gpb = ae.getGeneralPurposeBit();
       var method = ae.getMethod();
       var fileOffset = ae._offsets.file;
@@ -111088,7 +107490,7 @@ var require_zip_archive_output_stream = __commonJS({
       this.write(extra);
       this.write(comment);
     };
-    ZipArchiveOutputStream.prototype._writeDataDescriptor = function(ae) {
+    ZipArchiveOutputStream2.prototype._writeDataDescriptor = function(ae) {
       this.write(zipUtil.getLongBytes(constants.SIG_DD));
       this.write(zipUtil.getLongBytes(ae.getCrc()));
       if (ae.isZip64()) {
@@ -111099,7 +107501,7 @@ var require_zip_archive_output_stream = __commonJS({
         this.write(zipUtil.getLongBytes(ae.getSize()));
       }
     };
-    ZipArchiveOutputStream.prototype._writeLocalFileHeader = function(ae) {
+    ZipArchiveOutputStream2.prototype._writeLocalFileHeader = function(ae) {
       var gpb = ae.getGeneralPurposeBit();
       var method = ae.getMethod();
       var name = ae.getName();
@@ -111133,21 +107535,21 @@ var require_zip_archive_output_stream = __commonJS({
       this.write(extra);
       ae._offsets.contents = this.offset;
     };
-    ZipArchiveOutputStream.prototype.getComment = function(comment) {
+    ZipArchiveOutputStream2.prototype.getComment = function(comment) {
       return this._archive.comment !== null ? this._archive.comment : "";
     };
-    ZipArchiveOutputStream.prototype.isZip64 = function() {
+    ZipArchiveOutputStream2.prototype.isZip64 = function() {
       return this._archive.forceZip64 || this._entries.length > constants.ZIP64_MAGIC_SHORT || this._archive.centralLength > constants.ZIP64_MAGIC || this._archive.centralOffset > constants.ZIP64_MAGIC;
     };
-    ZipArchiveOutputStream.prototype.setComment = function(comment) {
+    ZipArchiveOutputStream2.prototype.setComment = function(comment) {
       this._archive.comment = comment;
     };
   }
 });
 
-// node_modules/compress-commons/lib/compress-commons.js
+// node_modules/@actions/artifact/node_modules/compress-commons/lib/compress-commons.js
 var require_compress_commons = __commonJS({
-  "node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/compress-commons/lib/compress-commons.js"(exports2, module2) {
     module2.exports = {
       ArchiveEntry: require_archive_entry(),
       ZipArchiveEntry: require_zip_archive_entry(),
@@ -111157,20 +107559,20 @@ var require_compress_commons = __commonJS({
   }
 });
 
-// node_modules/zip-stream/index.js
+// node_modules/@actions/artifact/node_modules/zip-stream/index.js
 var require_zip_stream = __commonJS({
-  "node_modules/zip-stream/index.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/zip-stream/index.js"(exports2, module2) {
     var inherits = require("util").inherits;
-    var ZipArchiveOutputStream = require_compress_commons().ZipArchiveOutputStream;
-    var ZipArchiveEntry = require_compress_commons().ZipArchiveEntry;
-    var util = require_archiver_utils();
-    var ZipStream = module2.exports = function(options) {
-      if (!(this instanceof ZipStream)) {
-        return new ZipStream(options);
+    var ZipArchiveOutputStream2 = require_compress_commons().ZipArchiveOutputStream;
+    var ZipArchiveEntry2 = require_compress_commons().ZipArchiveEntry;
+    var util3 = require_archiver_utils();
+    var ZipStream2 = module2.exports = function(options) {
+      if (!(this instanceof ZipStream2)) {
+        return new ZipStream2(options);
       }
       options = this.options = options || {};
       options.zlib = options.zlib || {};
-      ZipArchiveOutputStream.call(this, options);
+      ZipArchiveOutputStream2.call(this, options);
       if (typeof options.level === "number" && options.level >= 0) {
         options.zlib.level = options.level;
         delete options.level;
@@ -111183,9 +107585,9 @@ var require_zip_stream = __commonJS({
         this.setComment(options.comment);
       }
     };
-    inherits(ZipStream, ZipArchiveOutputStream);
-    ZipStream.prototype._normalizeFileData = function(data) {
-      data = util.defaults(data, {
+    inherits(ZipStream2, ZipArchiveOutputStream2);
+    ZipStream2.prototype._normalizeFileData = function(data) {
+      data = util3.defaults(data, {
         type: "file",
         name: null,
         namePrependSlash: this.options.namePrependSlash,
@@ -111198,7 +107600,7 @@ var require_zip_stream = __commonJS({
       var isDir = data.type === "directory";
       var isSymlink = data.type === "symlink";
       if (data.name) {
-        data.name = util.sanitizePath(data.name);
+        data.name = util3.sanitizePath(data.name);
         if (!isSymlink && data.name.slice(-1) === "/") {
           isDir = true;
           data.type = "directory";
@@ -111209,10 +107611,10 @@ var require_zip_stream = __commonJS({
       if (isDir || isSymlink) {
         data.store = true;
       }
-      data.date = util.dateify(data.date);
+      data.date = util3.dateify(data.date);
       return data;
     };
-    ZipStream.prototype.entry = function(source, data, callback) {
+    ZipStream2.prototype.entry = function(source, data, callback) {
       if (typeof callback !== "function") {
         callback = this._emitErrorCallback.bind(this);
       }
@@ -111229,7 +107631,7 @@ var require_zip_stream = __commonJS({
         callback(new Error("entry linkname must be a non-empty string value when type equals symlink"));
         return;
       }
-      var entry = new ZipArchiveEntry(data.name);
+      var entry = new ZipArchiveEntry2(data.name);
       entry.setTime(data.date, this.options.forceLocalTime);
       if (data.namePrependSlash) {
         entry.setName(data.name, true);
@@ -111252,24 +107654,24 @@ var require_zip_stream = __commonJS({
       if (data.type === "symlink" && typeof data.linkname === "string") {
         source = Buffer.from(data.linkname);
       }
-      return ZipArchiveOutputStream.prototype.entry.call(this, entry, source, callback);
+      return ZipArchiveOutputStream2.prototype.entry.call(this, entry, source, callback);
     };
-    ZipStream.prototype.finalize = function() {
+    ZipStream2.prototype.finalize = function() {
       this.finish();
     };
   }
 });
 
-// node_modules/archiver/lib/plugins/zip.js
+// node_modules/@actions/artifact/node_modules/archiver/lib/plugins/zip.js
 var require_zip = __commonJS({
-  "node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
-    var engine = require_zip_stream();
-    var util = require_archiver_utils();
-    var Zip = function(options) {
-      if (!(this instanceof Zip)) {
-        return new Zip(options);
+  "node_modules/@actions/artifact/node_modules/archiver/lib/plugins/zip.js"(exports2, module2) {
+    var engine2 = require_zip_stream();
+    var util3 = require_archiver_utils();
+    var Zip2 = function(options) {
+      if (!(this instanceof Zip2)) {
+        return new Zip2(options);
       }
-      options = this.options = util.defaults(options, {
+      options = this.options = util3.defaults(options, {
         comment: "",
         forceUTC: false,
         namePrependSlash: false,
@@ -111279,24 +107681,24 @@ var require_zip = __commonJS({
         directory: true,
         symlink: true
       };
-      this.engine = new engine(options);
+      this.engine = new engine2(options);
     };
-    Zip.prototype.append = function(source, data, callback) {
+    Zip2.prototype.append = function(source, data, callback) {
       this.engine.entry(source, data, callback);
     };
-    Zip.prototype.finalize = function() {
+    Zip2.prototype.finalize = function() {
       this.engine.finalize();
     };
-    Zip.prototype.on = function() {
+    Zip2.prototype.on = function() {
       return this.engine.on.apply(this.engine, arguments);
     };
-    Zip.prototype.pipe = function() {
+    Zip2.prototype.pipe = function() {
       return this.engine.pipe.apply(this.engine, arguments);
     };
-    Zip.prototype.unpipe = function() {
+    Zip2.prototype.unpipe = function() {
       return this.engine.unpipe.apply(this.engine, arguments);
     };
-    module2.exports = Zip;
+    module2.exports = Zip2;
   }
 });
 
@@ -111728,7 +108130,7 @@ var require_text_decoder = __commonJS({
 // node_modules/streamx/index.js
 var require_streamx = __commonJS({
   "node_modules/streamx/index.js"(exports2, module2) {
-    var { EventEmitter } = require("events");
+    var { EventEmitter: EventEmitter2 } = require("events");
     var STREAM_DESTROYED = new Error("Stream was destroyed");
     var PREMATURE_CLOSE = new Error("Premature close");
     var queueTick = require_process_next_tick();
@@ -112216,7 +108618,7 @@ var require_streamx = __commonJS({
         }
       }
     }
-    var Stream = class extends EventEmitter {
+    var Stream = class extends EventEmitter2 {
       constructor(opts) {
         super();
         this._duplexState = 0;
@@ -112272,7 +108674,7 @@ var require_streamx = __commonJS({
         }
       }
     };
-    var Readable2 = class _Readable extends Stream {
+    var Readable3 = class _Readable extends Stream {
       constructor(opts) {
         super(opts);
         this._duplexState |= OPENING | WRITE_DONE | READ_READ_AHEAD;
@@ -112378,8 +108780,8 @@ var require_streamx = __commonJS({
             return this;
           },
           next() {
-            return new Promise(function(resolve13, reject) {
-              promiseResolve = resolve13;
+            return new Promise(function(resolve14, reject) {
+              promiseResolve = resolve14;
               promiseReject = reject;
               const data = stream2.read();
               if (data !== null) ondata(data);
@@ -112408,11 +108810,11 @@ var require_streamx = __commonJS({
         }
         function destroy(err) {
           stream2.destroy(err);
-          return new Promise((resolve13, reject) => {
-            if (stream2._duplexState & DESTROYED) return resolve13({ value: void 0, done: true });
+          return new Promise((resolve14, reject) => {
+            if (stream2._duplexState & DESTROYED) return resolve14({ value: void 0, done: true });
             stream2.once("close", function() {
               if (err) reject(err);
-              else resolve13({ value: void 0, done: true });
+              else resolve14({ value: void 0, done: true });
             });
           });
         }
@@ -112456,8 +108858,8 @@ var require_streamx = __commonJS({
         const writes = pending + (ws._duplexState & WRITE_WRITING ? 1 : 0);
         if (writes === 0) return Promise.resolve(true);
         if (state.drains === null) state.drains = [];
-        return new Promise((resolve13) => {
-          state.drains.push({ writes, resolve: resolve13 });
+        return new Promise((resolve14) => {
+          state.drains.push({ writes, resolve: resolve14 });
         });
       }
       write(data) {
@@ -112470,7 +108872,7 @@ var require_streamx = __commonJS({
         return this;
       }
     };
-    var Duplex = class extends Readable2 {
+    var Duplex = class extends Readable3 {
       // and Writable
       constructor(opts) {
         super(opts);
@@ -112508,7 +108910,7 @@ var require_streamx = __commonJS({
         return this;
       }
     };
-    var Transform = class extends Duplex {
+    var Transform5 = class extends Duplex {
       constructor(opts) {
         super(opts);
         this._transformState = new TransformState(this);
@@ -112552,7 +108954,7 @@ var require_streamx = __commonJS({
         this._flush(transformAfterFlush.bind(this));
       }
     };
-    var PassThrough = class extends Transform {
+    var PassThrough3 = class extends Transform5 {
     };
     function transformAfterFlush(err, data) {
       const cb = this._transformState.afterFinal;
@@ -112562,10 +108964,10 @@ var require_streamx = __commonJS({
       cb(null);
     }
     function pipelinePromise(...streams) {
-      return new Promise((resolve13, reject) => {
+      return new Promise((resolve14, reject) => {
         return pipeline(...streams, (err) => {
           if (err) return reject(err);
-          resolve13();
+          resolve14();
         });
       });
     }
@@ -112620,11 +109022,11 @@ var require_streamx = __commonJS({
     function echo(s) {
       return s;
     }
-    function isStream(stream2) {
+    function isStream2(stream2) {
       return !!stream2._readableState || !!stream2._writableState;
     }
     function isStreamx(stream2) {
-      return typeof stream2._duplexState === "number" && isStream(stream2);
+      return typeof stream2._duplexState === "number" && isStream2(stream2);
     }
     function isEnded(stream2) {
       return !!stream2._readableState && stream2._readableState.ended;
@@ -112656,18 +109058,18 @@ var require_streamx = __commonJS({
     module2.exports = {
       pipeline,
       pipelinePromise,
-      isStream,
+      isStream: isStream2,
       isStreamx,
       isEnded,
       isFinished,
       getStreamError,
       Stream,
       Writable,
-      Readable: Readable2,
+      Readable: Readable3,
       Duplex,
-      Transform,
+      Transform: Transform5,
       // Export PassThrough for compatibility with Node.js core's stream module
-      PassThrough
+      PassThrough: PassThrough3
     };
   }
 });
@@ -112796,13 +109198,13 @@ var require_headers2 = __commonJS({
     function isGNU(buf) {
       return b4a.equals(GNU_MAGIC, buf.subarray(MAGIC_OFFSET, MAGIC_OFFSET + 6)) && b4a.equals(GNU_VER, buf.subarray(VERSION_OFFSET, VERSION_OFFSET + 2));
     }
-    function clamp(index, len, defaultValue) {
-      if (typeof index !== "number") return defaultValue;
-      index = ~~index;
-      if (index >= len) return len;
-      if (index >= 0) return index;
-      index += len;
-      if (index >= 0) return index;
+    function clamp(index2, len, defaultValue) {
+      if (typeof index2 !== "number") return defaultValue;
+      index2 = ~~index2;
+      if (index2 >= len) return len;
+      if (index2 >= 0) return index2;
+      index2 += len;
+      if (index2 >= 0) return index2;
       return 0;
     }
     function toType(flag) {
@@ -112936,11 +109338,11 @@ var require_headers2 = __commonJS({
 // node_modules/tar-stream/extract.js
 var require_extract = __commonJS({
   "node_modules/tar-stream/extract.js"(exports2, module2) {
-    var { Writable, Readable: Readable2, getStreamError } = require_streamx();
+    var { Writable, Readable: Readable3, getStreamError } = require_streamx();
     var FIFO = require_fast_fifo();
     var b4a = require_b4a();
     var headers = require_headers2();
-    var EMPTY = b4a.alloc(0);
+    var EMPTY2 = b4a.alloc(0);
     var BufferList = class {
       constructor() {
         this.buffered = 0;
@@ -112957,7 +109359,7 @@ var require_extract = __commonJS({
       }
       shift(size) {
         if (size > this.buffered) return null;
-        if (size === 0) return EMPTY;
+        if (size === 0) return EMPTY2;
         let chunk = this._next(size);
         if (size === chunk.byteLength) return chunk;
         const chunks = [chunk];
@@ -112983,7 +109385,7 @@ var require_extract = __commonJS({
         return buf.subarray(this._offset, this._offset += size);
       }
     };
-    var Source = class extends Readable2 {
+    var Source = class extends Readable3 {
       constructor(self2, header, offset) {
         super();
         this.header = header;
@@ -113208,16 +109610,16 @@ var require_extract = __commonJS({
           entryCallback = null;
           cb(err);
         }
-        function onnext(resolve13, reject) {
+        function onnext(resolve14, reject) {
           if (error3) {
             return reject(error3);
           }
           if (entryStream) {
-            resolve13({ value: entryStream, done: false });
+            resolve14({ value: entryStream, done: false });
             entryStream = null;
             return;
           }
-          promiseResolve = resolve13;
+          promiseResolve = resolve14;
           promiseReject = reject;
           consumeCallback(null);
           if (extract2._finished && promiseResolve) {
@@ -113245,11 +109647,11 @@ var require_extract = __commonJS({
         function destroy(err) {
           extract2.destroy(err);
           consumeCallback(err);
-          return new Promise((resolve13, reject) => {
-            if (extract2.destroyed) return resolve13({ value: void 0, done: true });
+          return new Promise((resolve14, reject) => {
+            if (extract2.destroyed) return resolve14({ value: void 0, done: true });
             extract2.once("close", function() {
               if (err) reject(err);
-              else resolve13({ value: void 0, done: true });
+              else resolve14({ value: void 0, done: true });
             });
           });
         }
@@ -113290,7 +109692,7 @@ var require_constants14 = __commonJS({
 // node_modules/tar-stream/pack.js
 var require_pack = __commonJS({
   "node_modules/tar-stream/pack.js"(exports2, module2) {
-    var { Readable: Readable2, Writable, getStreamError } = require_streamx();
+    var { Readable: Readable3, Writable, getStreamError } = require_streamx();
     var b4a = require_b4a();
     var constants = require_constants14();
     var headers = require_headers2();
@@ -113383,7 +109785,7 @@ var require_pack = __commonJS({
         cb();
       }
     };
-    var Pack = class extends Readable2 {
+    var Pack = class extends Readable3 {
       constructor(opts) {
         super(opts);
         this._drain = noop3;
@@ -113529,17 +109931,17 @@ var require_tar_stream = __commonJS({
   }
 });
 
-// node_modules/archiver/lib/plugins/tar.js
+// node_modules/@actions/artifact/node_modules/archiver/lib/plugins/tar.js
 var require_tar2 = __commonJS({
-  "node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
+  "node_modules/@actions/artifact/node_modules/archiver/lib/plugins/tar.js"(exports2, module2) {
     var zlib3 = require("zlib");
-    var engine = require_tar_stream();
-    var util = require_archiver_utils();
-    var Tar = function(options) {
-      if (!(this instanceof Tar)) {
-        return new Tar(options);
+    var engine2 = require_tar_stream();
+    var util3 = require_archiver_utils();
+    var Tar2 = function(options) {
+      if (!(this instanceof Tar2)) {
+        return new Tar2(options);
       }
-      options = this.options = util.defaults(options, {
+      options = this.options = util3.defaults(options, {
         gzip: false
       });
       if (typeof options.gzipOptions !== "object") {
@@ -113549,17 +109951,17 @@ var require_tar2 = __commonJS({
         directory: true,
         symlink: true
       };
-      this.engine = engine.pack(options);
+      this.engine = engine2.pack(options);
       this.compressor = false;
       if (options.gzip) {
         this.compressor = zlib3.createGzip(options.gzipOptions);
         this.compressor.on("error", this._onCompressorError.bind(this));
       }
     };
-    Tar.prototype._onCompressorError = function(err) {
+    Tar2.prototype._onCompressorError = function(err) {
       this.engine.emit("error", err);
     };
-    Tar.prototype.append = function(source, data, callback) {
+    Tar2.prototype.append = function(source, data, callback) {
       var self2 = this;
       data.mtime = data.date;
       function append(err, sourceBuffer) {
@@ -113580,30 +109982,30 @@ var require_tar2 = __commonJS({
         });
         source.pipe(entry);
       } else if (data.sourceType === "stream") {
-        util.collectStream(source, append);
+        util3.collectStream(source, append);
       }
     };
-    Tar.prototype.finalize = function() {
+    Tar2.prototype.finalize = function() {
       this.engine.finalize();
     };
-    Tar.prototype.on = function() {
+    Tar2.prototype.on = function() {
       return this.engine.on.apply(this.engine, arguments);
     };
-    Tar.prototype.pipe = function(destination, options) {
+    Tar2.prototype.pipe = function(destination, options) {
       if (this.compressor) {
         return this.engine.pipe.apply(this.engine, [this.compressor]).pipe(destination, options);
       } else {
         return this.engine.pipe.apply(this.engine, arguments);
       }
     };
-    Tar.prototype.unpipe = function() {
+    Tar2.prototype.unpipe = function() {
       if (this.compressor) {
         return this.compressor.unpipe.apply(this.compressor, arguments);
       } else {
         return this.engine.unpipe.apply(this.engine, arguments);
       }
     };
-    module2.exports = Tar;
+    module2.exports = Tar2;
   }
 });
 
@@ -113614,7 +110016,7 @@ var require_dist5 = __commonJS({
     function getDefaultExportFromCjs(x) {
       return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
     }
-    var CRC_TABLE = new Int32Array([
+    var CRC_TABLE2 = new Int32Array([
       0,
       1996959894,
       3993919788,
@@ -113872,7 +110274,7 @@ var require_dist5 = __commonJS({
       1510334235,
       755167117
     ]);
-    function ensureBuffer(input) {
+    function ensureBuffer2(input) {
       if (Buffer.isBuffer(input)) {
         return input;
       }
@@ -113884,65 +110286,65 @@ var require_dist5 = __commonJS({
         throw new Error("input must be buffer, number, or string, received " + typeof input);
       }
     }
-    function bufferizeInt(num) {
-      const tmp = ensureBuffer(4);
+    function bufferizeInt2(num) {
+      const tmp = ensureBuffer2(4);
       tmp.writeInt32BE(num, 0);
       return tmp;
     }
-    function _crc32(buf, previous) {
-      buf = ensureBuffer(buf);
+    function _crc322(buf, previous) {
+      buf = ensureBuffer2(buf);
       if (Buffer.isBuffer(previous)) {
         previous = previous.readUInt32BE(0);
       }
       let crc = ~~previous ^ -1;
       for (var n = 0; n < buf.length; n++) {
-        crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+        crc = CRC_TABLE2[(crc ^ buf[n]) & 255] ^ crc >>> 8;
       }
       return crc ^ -1;
     }
-    function crc32() {
-      return bufferizeInt(_crc32.apply(null, arguments));
+    function crc325() {
+      return bufferizeInt2(_crc322.apply(null, arguments));
     }
-    crc32.signed = function() {
-      return _crc32.apply(null, arguments);
+    crc325.signed = function() {
+      return _crc322.apply(null, arguments);
     };
-    crc32.unsigned = function() {
-      return _crc32.apply(null, arguments) >>> 0;
+    crc325.unsigned = function() {
+      return _crc322.apply(null, arguments) >>> 0;
     };
-    var bufferCrc32 = crc32;
-    var index = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
-    module2.exports = index;
+    var bufferCrc32 = crc325;
+    var index2 = /* @__PURE__ */ getDefaultExportFromCjs(bufferCrc32);
+    module2.exports = index2;
   }
 });
 
-// node_modules/archiver/lib/plugins/json.js
-var require_json2 = __commonJS({
-  "node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
+// node_modules/@actions/artifact/node_modules/archiver/lib/plugins/json.js
+var require_json = __commonJS({
+  "node_modules/@actions/artifact/node_modules/archiver/lib/plugins/json.js"(exports2, module2) {
     var inherits = require("util").inherits;
-    var Transform = require_ours().Transform;
-    var crc32 = require_dist5();
-    var util = require_archiver_utils();
-    var Json = function(options) {
-      if (!(this instanceof Json)) {
-        return new Json(options);
+    var Transform5 = require_ours().Transform;
+    var crc325 = require_dist5();
+    var util3 = require_archiver_utils();
+    var Json2 = function(options) {
+      if (!(this instanceof Json2)) {
+        return new Json2(options);
       }
-      options = this.options = util.defaults(options, {});
-      Transform.call(this, options);
+      options = this.options = util3.defaults(options, {});
+      Transform5.call(this, options);
       this.supports = {
         directory: true,
         symlink: true
       };
       this.files = [];
     };
-    inherits(Json, Transform);
-    Json.prototype._transform = function(chunk, encoding, callback) {
+    inherits(Json2, Transform5);
+    Json2.prototype._transform = function(chunk, encoding, callback) {
       callback(null, chunk);
     };
-    Json.prototype._writeStringified = function() {
+    Json2.prototype._writeStringified = function() {
       var fileString = JSON.stringify(this.files);
       this.write(fileString);
     };
-    Json.prototype.append = function(source, data, callback) {
+    Json2.prototype.append = function(source, data, callback) {
       var self2 = this;
       data.crc32 = 0;
       function onend(err, sourceBuffer) {
@@ -113951,35 +110353,35 @@ var require_json2 = __commonJS({
           return;
         }
         data.size = sourceBuffer.length || 0;
-        data.crc32 = crc32.unsigned(sourceBuffer);
+        data.crc32 = crc325.unsigned(sourceBuffer);
         self2.files.push(data);
         callback(null, data);
       }
       if (data.sourceType === "buffer") {
         onend(null, source);
       } else if (data.sourceType === "stream") {
-        util.collectStream(source, onend);
+        util3.collectStream(source, onend);
       }
     };
-    Json.prototype.finalize = function() {
+    Json2.prototype.finalize = function() {
       this._writeStringified();
       this.end();
     };
-    module2.exports = Json;
+    module2.exports = Json2;
   }
 });
 
-// node_modules/archiver/index.js
+// node_modules/@actions/artifact/node_modules/archiver/index.js
 var require_archiver = __commonJS({
-  "node_modules/archiver/index.js"(exports2, module2) {
-    var Archiver = require_core3();
+  "node_modules/@actions/artifact/node_modules/archiver/index.js"(exports2, module2) {
+    var Archiver2 = require_core2();
     var formats = {};
     var vending = function(format, options) {
       return vending.create(format, options);
     };
     vending.create = function(format, options) {
       if (formats[format]) {
-        var instance = new Archiver(format, options);
+        var instance = new Archiver2(format, options);
         instance.setFormat(format);
         instance.setModule(new formats[format](options));
         return instance;
@@ -114007,7 +110409,7 @@ var require_archiver = __commonJS({
     };
     vending.registerFormat("zip", require_zip());
     vending.registerFormat("tar", require_tar2());
-    vending.registerFormat("json", require_json2());
+    vending.registerFormat("json", require_json());
     module2.exports = vending;
   }
 });
@@ -114045,11 +110447,11 @@ var require_zip2 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -114065,7 +110467,7 @@ var require_zip2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -114074,8 +110476,8 @@ var require_zip2 = __commonJS({
     exports2.createZipUploadStream = exports2.ZipUploadStream = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
     var stream2 = __importStar2(require("stream"));
     var promises_1 = require("fs/promises");
-    var archiver2 = __importStar2(require_archiver());
-    var core30 = __importStar2(require_core());
+    var archiver = __importStar2(require_archiver());
+    var core31 = __importStar2(require_core());
     var config_1 = require_config2();
     exports2.DEFAULT_COMPRESSION_LEVEL = 6;
     var ZipUploadStream = class extends stream2.Transform {
@@ -114092,8 +110494,8 @@ var require_zip2 = __commonJS({
     exports2.ZipUploadStream = ZipUploadStream;
     function createZipUploadStream(uploadSpecification_1) {
       return __awaiter2(this, arguments, void 0, function* (uploadSpecification, compressionLevel = exports2.DEFAULT_COMPRESSION_LEVEL) {
-        core30.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
-        const zip = archiver2.create("zip", {
+        core31.debug(`Creating Artifact archive with compressionLevel: ${compressionLevel}`);
+        const zip = archiver.create("zip", {
           highWaterMark: (0, config_1.getUploadChunkSize)(),
           zlib: { level: compressionLevel }
         });
@@ -114116,8 +110518,8 @@ var require_zip2 = __commonJS({
         }
         const bufferSize = (0, config_1.getUploadChunkSize)();
         const zipUploadStream = new ZipUploadStream(bufferSize);
-        core30.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
-        core30.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
+        core31.debug(`Zip write high watermark value ${zipUploadStream.writableHighWaterMark}`);
+        core31.debug(`Zip read high watermark value ${zipUploadStream.readableHighWaterMark}`);
         zip.pipe(zipUploadStream);
         zip.finalize();
         return zipUploadStream;
@@ -114125,24 +110527,24 @@ var require_zip2 = __commonJS({
     }
     exports2.createZipUploadStream = createZipUploadStream;
     var zipErrorCallback = (error3) => {
-      core30.error("An error has occurred while creating the zip file for upload");
-      core30.info(error3);
+      core31.error("An error has occurred while creating the zip file for upload");
+      core31.info(error3);
       throw new Error("An error has occurred during zip creation for the artifact");
     };
     var zipWarningCallback = (error3) => {
       if (error3.code === "ENOENT") {
-        core30.warning("ENOENT warning during artifact zip creation. No such file or directory");
-        core30.info(error3);
+        core31.warning("ENOENT warning during artifact zip creation. No such file or directory");
+        core31.info(error3);
       } else {
-        core30.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
-        core30.info(error3);
+        core31.warning(`A non-blocking warning has occurred during artifact zip creation: ${error3.code}`);
+        core31.info(error3);
       }
     };
     var zipFinishCallback = () => {
-      core30.debug("Zip stream for upload has finished.");
+      core31.debug("Zip stream for upload has finished.");
     };
     var zipEndCallback = () => {
-      core30.debug("Zip stream for upload has ended.");
+      core31.debug("Zip stream for upload has ended.");
     };
   }
 });
@@ -114180,11 +110582,11 @@ var require_upload_artifact = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -114200,14 +110602,14 @@ var require_upload_artifact = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.uploadArtifact = void 0;
-    var core30 = __importStar2(require_core());
+    var core31 = __importStar2(require_core());
     var retention_1 = require_retention();
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation();
     var artifact_twirp_client_1 = require_artifact_twirp_client2();
@@ -114254,13 +110656,13 @@ var require_upload_artifact = __commonJS({
             value: `sha256:${uploadResult.sha256Hash}`
           });
         }
-        core30.info(`Finalizing artifact upload`);
+        core31.info(`Finalizing artifact upload`);
         const finalizeArtifactResp = yield artifactClient.FinalizeArtifact(finalizeArtifactReq);
         if (!finalizeArtifactResp.ok) {
           throw new errors_1.InvalidResponseError("FinalizeArtifact: response from backend was not ok");
         }
         const artifactId = BigInt(finalizeArtifactResp.artifactId);
-        core30.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
+        core31.info(`Artifact ${name}.zip successfully finalized. Artifact ID ${artifactId}`);
         return {
           size: uploadResult.uploadSize,
           digest: uploadResult.sha256Hash,
@@ -114285,14 +110687,14 @@ var require_context2 = __commonJS({
        * Hydrate the context from the environment
        */
       constructor() {
-        var _a, _b, _c;
+        var _a2, _b, _c;
         this.payload = {};
         if (process.env.GITHUB_EVENT_PATH) {
           if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
             this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: "utf8" }));
           } else {
-            const path29 = process.env.GITHUB_EVENT_PATH;
-            process.stdout.write(`GITHUB_EVENT_PATH ${path29} does not exist${os_1.EOL}`);
+            const path30 = process.env.GITHUB_EVENT_PATH;
+            process.stdout.write(`GITHUB_EVENT_PATH ${path30} does not exist${os_1.EOL}`);
           }
         }
         this.eventName = process.env.GITHUB_EVENT_NAME;
@@ -114305,7 +110707,7 @@ var require_context2 = __commonJS({
         this.runAttempt = parseInt(process.env.GITHUB_RUN_ATTEMPT, 10);
         this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
         this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
-        this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
+        this.apiUrl = (_a2 = process.env.GITHUB_API_URL) !== null && _a2 !== void 0 ? _a2 : `https://api.github.com`;
         this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
         this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
       }
@@ -114352,7 +110754,7 @@ var require_proxy2 = __commonJS({
       if (proxyVar) {
         try {
           return new DecodedURL(proxyVar);
-        } catch (_a) {
+        } catch (_a2) {
           if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
             return new DecodedURL(`http://${proxyVar}`);
         }
@@ -114446,11 +110848,11 @@ var require_lib4 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -114466,7 +110868,7 @@ var require_lib4 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -114552,26 +110954,26 @@ var require_lib4 = __commonJS({
       }
       readBody() {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve14) => __awaiter2(this, void 0, void 0, function* () {
             let output = Buffer.alloc(0);
             this.message.on("data", (chunk) => {
               output = Buffer.concat([output, chunk]);
             });
             this.message.on("end", () => {
-              resolve13(output.toString());
+              resolve14(output.toString());
             });
           }));
         });
       }
       readBodyBuffer() {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve14) => __awaiter2(this, void 0, void 0, function* () {
             const chunks = [];
             this.message.on("data", (chunk) => {
               chunks.push(chunk);
             });
             this.message.on("end", () => {
-              resolve13(Buffer.concat(chunks));
+              resolve14(Buffer.concat(chunks));
             });
           }));
         });
@@ -114780,14 +111182,14 @@ var require_lib4 = __commonJS({
        */
       requestRaw(info8, data) {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13, reject) => {
+          return new Promise((resolve14, reject) => {
             function callbackForResult(err, res) {
               if (err) {
                 reject(err);
               } else if (!res) {
                 reject(new Error("Unknown error"));
               } else {
-                resolve13(res);
+                resolve14(res);
               }
             }
             this.requestRawWithCallback(info8, data, callbackForResult);
@@ -114969,12 +111371,12 @@ var require_lib4 = __commonJS({
         return __awaiter2(this, void 0, void 0, function* () {
           retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
           const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
-          return new Promise((resolve13) => setTimeout(() => resolve13(), ms));
+          return new Promise((resolve14) => setTimeout(() => resolve14(), ms));
         });
       }
       _processResponse(res, options) {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13, reject) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve14, reject) => __awaiter2(this, void 0, void 0, function* () {
             const statusCode = res.message.statusCode || 0;
             const response = {
               statusCode,
@@ -114982,7 +111384,7 @@ var require_lib4 = __commonJS({
               headers: {}
             };
             if (statusCode === HttpCodes.NotFound) {
-              resolve13(response);
+              resolve14(response);
             }
             function dateTimeDeserializer(key, value) {
               if (typeof value === "string") {
@@ -115021,7 +111423,7 @@ var require_lib4 = __commonJS({
               err.result = response.result;
               reject(err);
             } else {
-              resolve13(response);
+              resolve14(response);
             }
           }));
         });
@@ -115065,11 +111467,11 @@ var require_utils8 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -115085,7 +111487,7 @@ var require_utils8 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -115222,13 +111624,13 @@ var require_remove = __commonJS({
       if (!state.registry[name]) {
         return;
       }
-      var index = state.registry[name].map(function(registered) {
+      var index2 = state.registry[name].map(function(registered) {
         return registered.orig;
       }).indexOf(method);
-      if (index === -1) {
+      if (index2 === -1) {
         return;
       }
-      state.registry[name].splice(index, 1);
+      state.registry[name].splice(index2, 1);
     }
   }
 });
@@ -115293,23 +111695,23 @@ var require_before_after_hook = __commonJS({
 var require_dist_node2 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/endpoint/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var dist_src_exports3 = {};
     __export2(dist_src_exports3, {
       endpoint: () => endpoint2
@@ -115329,16 +111731,16 @@ var require_dist_node2 = __commonJS({
         format: ""
       }
     };
-    function lowercaseKeys2(object2) {
-      if (!object2) {
+    function lowercaseKeys2(object) {
+      if (!object) {
         return {};
       }
-      return Object.keys(object2).reduce((newObj, key) => {
-        newObj[key.toLowerCase()] = object2[key];
+      return Object.keys(object).reduce((newObj, key) => {
+        newObj[key.toLowerCase()] = object[key];
         return newObj;
       }, {});
     }
-    function isPlainObject3(value) {
+    function isPlainObject4(value) {
       if (typeof value !== "object" || value === null)
         return false;
       if (Object.prototype.toString.call(value) !== "[object Object]")
@@ -115349,14 +111751,14 @@ var require_dist_node2 = __commonJS({
       const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
       return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
     }
-    function mergeDeep2(defaults, options) {
-      const result = Object.assign({}, defaults);
+    function mergeDeep2(defaults2, options) {
+      const result = Object.assign({}, defaults2);
       Object.keys(options).forEach((key) => {
-        if (isPlainObject3(options[key])) {
-          if (!(key in defaults))
+        if (isPlainObject4(options[key])) {
+          if (!(key in defaults2))
             Object.assign(result, { [key]: options[key] });
           else
-            result[key] = mergeDeep2(defaults[key], options[key]);
+            result[key] = mergeDeep2(defaults2[key], options[key]);
         } else {
           Object.assign(result, { [key]: options[key] });
         }
@@ -115371,7 +111773,7 @@ var require_dist_node2 = __commonJS({
       }
       return obj;
     }
-    function merge2(defaults, route, options) {
+    function merge2(defaults2, route, options) {
       if (typeof route === "string") {
         let [method, url2] = route.split(" ");
         options = Object.assign(url2 ? { method, url: url2 } : { url: method }, options);
@@ -115381,10 +111783,10 @@ var require_dist_node2 = __commonJS({
       options.headers = lowercaseKeys2(options.headers);
       removeUndefinedProperties2(options);
       removeUndefinedProperties2(options.headers);
-      const mergedOptions = mergeDeep2(defaults || {}, options);
+      const mergedOptions = mergeDeep2(defaults2 || {}, options);
       if (options.url === "/graphql") {
-        if (defaults && defaults.mediaType.previews?.length) {
-          mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+        if (defaults2 && defaults2.mediaType.previews?.length) {
+          mergedOptions.mediaType.previews = defaults2.mediaType.previews.filter(
             (preview) => !mergedOptions.mediaType.previews.includes(preview)
           ).concat(mergedOptions.mediaType.previews);
         }
@@ -115416,11 +111818,11 @@ var require_dist_node2 = __commonJS({
       }
       return matches.map(removeNonChars2).reduce((a, b) => a.concat(b), []);
     }
-    function omit2(object2, keysToOmit) {
+    function omit2(object, keysToOmit) {
       const result = { __proto__: null };
-      for (const key of Object.keys(object2)) {
+      for (const key of Object.keys(object)) {
         if (keysToOmit.indexOf(key) === -1) {
-          result[key] = object2[key];
+          result[key] = object[key];
         }
       }
       return result;
@@ -115514,10 +111916,10 @@ var require_dist_node2 = __commonJS({
     }
     function parseUrl2(template) {
       return {
-        expand: expand2.bind(null, template)
+        expand: expand3.bind(null, template)
       };
     }
-    function expand2(template, context5) {
+    function expand3(template, context5) {
       var operators = ["+", "#", ".", "/", ";", "?", "&"];
       template = template.replace(
         /\{([^\{\}]+)\}|([^\{\}]+)/g,
@@ -115618,8 +112020,8 @@ var require_dist_node2 = __commonJS({
         options.request ? { request: options.request } : null
       );
     }
-    function endpointWithDefaults2(defaults, route, options) {
-      return parse2(merge2(defaults, route, options));
+    function endpointWithDefaults2(defaults2, route, options) {
+      return parse2(merge2(defaults2, route, options));
     }
     function withDefaults4(oldDefaults, newDefaults) {
       const DEFAULTS22 = merge2(oldDefaults, newDefaults);
@@ -115731,40 +112133,40 @@ var require_once = __commonJS({
 var require_dist_node4 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/request-error/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __create3 = Object.create;
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __getProtoOf3 = Object.getPrototypeOf;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __create2 = Object.create;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __getProtoOf2 = Object.getPrototypeOf;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toESM3 = (mod, isNodeMode, target) => (target = mod != null ? __create3(__getProtoOf3(mod)) : {}, __copyProps3(
+    var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
       // If the importer is in node compatibility mode or this is not an ESM
       // file that has been converted to a CommonJS file using a Babel-
       // compatible transform (i.e. "__esModule" has not been set), then set
       // "default" to the CommonJS "module.exports" for node compatibility.
-      isNodeMode || !mod || !mod.__esModule ? __defProp3(target, "default", { value: mod, enumerable: true }) : target,
+      isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
       mod
     ));
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var dist_src_exports3 = {};
     __export2(dist_src_exports3, {
       RequestError: () => RequestError2
     });
     module2.exports = __toCommonJS2(dist_src_exports3);
     var import_deprecation = require_dist_node3();
-    var import_once = __toESM3(require_once());
+    var import_once = __toESM2(require_once());
     var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation));
     var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation));
     var RequestError2 = class extends Error {
@@ -115823,23 +112225,23 @@ var require_dist_node4 = __commonJS({
 var require_dist_node5 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/request/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var dist_src_exports3 = {};
     __export2(dist_src_exports3, {
       request: () => request3
@@ -115848,7 +112250,7 @@ var require_dist_node5 = __commonJS({
     var import_endpoint2 = require_dist_node2();
     var import_universal_user_agent5 = require_dist_node();
     var VERSION8 = "8.4.1";
-    function isPlainObject3(value) {
+    function isPlainObject4(value) {
       if (typeof value !== "object" || value === null)
         return false;
       if (Object.prototype.toString.call(value) !== "[object Object]")
@@ -115864,10 +112266,10 @@ var require_dist_node5 = __commonJS({
       return response.arrayBuffer();
     }
     function fetchWrapper2(requestOptions) {
-      var _a, _b, _c, _d;
+      var _a2, _b, _c, _d;
       const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;
-      const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false;
-      if (isPlainObject3(requestOptions.body) || Array.isArray(requestOptions.body)) {
+      const parseSuccessResponseBody = ((_a2 = requestOptions.request) == null ? void 0 : _a2.parseSuccessResponseBody) !== false;
+      if (isPlainObject4(requestOptions.body) || Array.isArray(requestOptions.body)) {
         requestOptions.body = JSON.stringify(requestOptions.body);
       }
       let headers = {};
@@ -116033,23 +112435,23 @@ var require_dist_node5 = __commonJS({
 var require_dist_node6 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/graphql/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var index_exports = {};
     __export2(index_exports, {
       GraphqlResponseError: () => GraphqlResponseError2,
@@ -116170,23 +112572,23 @@ var require_dist_node6 = __commonJS({
 var require_dist_node7 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/auth-token/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var dist_src_exports3 = {};
     __export2(dist_src_exports3, {
       createTokenAuth: () => createTokenAuth3
@@ -116241,23 +112643,23 @@ var require_dist_node7 = __commonJS({
 var require_dist_node8 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/core/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var index_exports = {};
     __export2(index_exports, {
       Octokit: () => Octokit2
@@ -116293,21 +112695,21 @@ var require_dist_node8 = __commonJS({
       static {
         this.VERSION = VERSION8;
       }
-      static defaults(defaults) {
+      static defaults(defaults2) {
         const OctokitWithDefaults = class extends this {
           constructor(...args) {
             const options = args[0] || {};
-            if (typeof defaults === "function") {
-              super(defaults(options));
+            if (typeof defaults2 === "function") {
+              super(defaults2(options));
               return;
             }
             super(
               Object.assign(
                 {},
-                defaults,
+                defaults2,
                 options,
-                options.userAgent && defaults.userAgent ? {
-                  userAgent: `${options.userAgent} ${defaults.userAgent}`
+                options.userAgent && defaults2.userAgent ? {
+                  userAgent: `${options.userAgent} ${defaults2.userAgent}`
                 } : null
               )
             );
@@ -116407,23 +112809,23 @@ var require_dist_node8 = __commonJS({
 var require_dist_node9 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var dist_src_exports3 = {};
     __export2(dist_src_exports3, {
       legacyRestEndpointMethods: () => legacyRestEndpointMethods2,
@@ -118423,14 +114825,14 @@ var require_dist_node9 = __commonJS({
     var endpointMethodsMap2 = /* @__PURE__ */ new Map();
     for (const [scope, endpoints] of Object.entries(endpoints_default2)) {
       for (const [methodName, endpoint2] of Object.entries(endpoints)) {
-        const [route, defaults, decorations] = endpoint2;
+        const [route, defaults2, decorations] = endpoint2;
         const [method, url2] = route.split(/ /);
         const endpointDefaults = Object.assign(
           {
             method,
             url: url2
           },
-          defaults
+          defaults2
         );
         if (!endpointMethodsMap2.has(scope)) {
           endpointMethodsMap2.set(scope, /* @__PURE__ */ new Map());
@@ -118500,8 +114902,8 @@ var require_dist_node9 = __commonJS({
       }
       return newMethods;
     }
-    function decorate2(octokit, scope, methodName, defaults, decorations) {
-      const requestWithDefaults = octokit.request.defaults(defaults);
+    function decorate2(octokit, scope, methodName, defaults2, decorations) {
+      const requestWithDefaults = octokit.request.defaults(defaults2);
       function withDecorations(...args) {
         let options = requestWithDefaults.endpoint.merge(...args);
         if (decorations.mapToData) {
@@ -118563,23 +114965,23 @@ var require_dist_node9 = __commonJS({
 var require_dist_node10 = __commonJS({
   "node_modules/@actions/artifact/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js"(exports2, module2) {
     "use strict";
-    var __defProp3 = Object.defineProperty;
-    var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
-    var __getOwnPropNames3 = Object.getOwnPropertyNames;
-    var __hasOwnProp3 = Object.prototype.hasOwnProperty;
+    var __defProp2 = Object.defineProperty;
+    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
+    var __getOwnPropNames2 = Object.getOwnPropertyNames;
+    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
     var __export2 = (target, all) => {
       for (var name in all)
-        __defProp3(target, name, { get: all[name], enumerable: true });
+        __defProp2(target, name, { get: all[name], enumerable: true });
     };
-    var __copyProps3 = (to, from, except, desc) => {
+    var __copyProps2 = (to, from, except, desc) => {
       if (from && typeof from === "object" || typeof from === "function") {
-        for (let key of __getOwnPropNames3(from))
-          if (!__hasOwnProp3.call(to, key) && key !== except)
-            __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable });
+        for (let key of __getOwnPropNames2(from))
+          if (!__hasOwnProp2.call(to, key) && key !== except)
+            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
       }
       return to;
     };
-    var __toCommonJS2 = (mod) => __copyProps3(__defProp3({}, "__esModule", { value: true }), mod);
+    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
     var dist_src_exports3 = {};
     __export2(dist_src_exports3, {
       composePaginateRest: () => composePaginateRest2,
@@ -119079,9 +115481,9 @@ var require_traverse = __commonJS({
       this.value = walk(this.value, cb, false);
       return this.value;
     };
-    Traverse.prototype.reduce = function(cb, init) {
+    Traverse.prototype.reduce = function(cb, init2) {
       var skip = arguments.length === 1;
-      var acc = skip ? this.value : init;
+      var acc = skip ? this.value : init2;
       this.forEach(function(x) {
         if (!this.isRoot || !skip) {
           acc = cb.call(this, acc, x);
@@ -119188,7 +115590,7 @@ var require_traverse = __commonJS({
       })(this.value);
     };
     function walk(root, cb, immutable) {
-      var path29 = [];
+      var path30 = [];
       var parents = [];
       var alive = true;
       return (function walker(node_) {
@@ -119197,11 +115599,11 @@ var require_traverse = __commonJS({
         var state = {
           node,
           node_,
-          path: [].concat(path29),
+          path: [].concat(path30),
           parent: parents.slice(-1)[0],
-          key: path29.slice(-1)[0],
-          isRoot: path29.length === 0,
-          level: path29.length,
+          key: path30.slice(-1)[0],
+          isRoot: path30.length === 0,
+          level: path30.length,
           circular: null,
           update: function(x) {
             if (!state.isRoot) {
@@ -119256,7 +115658,7 @@ var require_traverse = __commonJS({
           parents.push(state);
           var keys = Object.keys(state.node);
           keys.forEach(function(key, i2) {
-            path29.push(key);
+            path30.push(key);
             if (modifiers.pre) modifiers.pre.call(state, state.node[key], key);
             var child = walker(state.node[key]);
             if (immutable && Object.hasOwnProperty.call(state.node, key)) {
@@ -119265,7 +115667,7 @@ var require_traverse = __commonJS({
             child.isLast = i2 == keys.length - 1;
             child.isFirst = i2 == 0;
             if (modifiers.post) modifiers.post.call(state, child);
-            path29.pop();
+            path30.pop();
           });
           parents.pop();
         }
@@ -119309,7 +115711,7 @@ var require_traverse = __commonJS({
 var require_chainsaw = __commonJS({
   "node_modules/chainsaw/index.js"(exports2, module2) {
     var Traverse = require_traverse();
-    var EventEmitter = require("events").EventEmitter;
+    var EventEmitter2 = require("events").EventEmitter;
     module2.exports = Chainsaw;
     function Chainsaw(builder) {
       var saw = Chainsaw.saw(builder, {});
@@ -119325,7 +115727,7 @@ var require_chainsaw = __commonJS({
       return saw.chain();
     };
     Chainsaw.saw = function(builder, handlers) {
-      var saw = new EventEmitter();
+      var saw = new EventEmitter2();
       saw.handlers = handlers;
       saw.actions = [];
       saw.chain = function() {
@@ -119467,12 +115869,12 @@ var require_buffers = __commonJS({
     };
     Buffers.prototype.splice = function(i, howMany) {
       var buffers = this.buffers;
-      var index = i >= 0 ? i : this.length - i;
+      var index2 = i >= 0 ? i : this.length - i;
       var reps = [].slice.call(arguments, 2);
       if (howMany === void 0) {
-        howMany = this.length - index;
-      } else if (howMany > this.length - index) {
-        howMany = this.length - index;
+        howMany = this.length - index2;
+      } else if (howMany > this.length - index2) {
+        howMany = this.length - index2;
       }
       for (var i = 0; i < reps.length; i++) {
         this.length += reps[i].length;
@@ -119480,11 +115882,11 @@ var require_buffers = __commonJS({
       var removed = new Buffers();
       var bytes = 0;
       var startBytes = 0;
-      for (var ii = 0; ii < buffers.length && startBytes + buffers[ii].length < index; ii++) {
+      for (var ii = 0; ii < buffers.length && startBytes + buffers[ii].length < index2; ii++) {
         startBytes += buffers[ii].length;
       }
-      if (index - startBytes > 0) {
-        var start = index - startBytes;
+      if (index2 - startBytes > 0) {
+        var start = index2 - startBytes;
         if (start + howMany < buffers[ii].length) {
           removed.push(buffers[ii].slice(start, start + howMany));
           var orig = buffers[ii];
@@ -119586,7 +115988,7 @@ var require_buffers = __commonJS({
       if (!this.length) {
         return -1;
       }
-      var i = 0, j = 0, match = 0, mstart, pos = 0;
+      var i = 0, j = 0, match2 = 0, mstart, pos = 0;
       if (offset) {
         var p = this.pos(offset);
         i = p.buf;
@@ -119602,23 +116004,23 @@ var require_buffers = __commonJS({
           }
         }
         var char = this.buffers[i][j];
-        if (char == needle[match]) {
-          if (match == 0) {
+        if (char == needle[match2]) {
+          if (match2 == 0) {
             mstart = {
               i,
               j,
               pos
             };
           }
-          match++;
-          if (match == needle.length) {
+          match2++;
+          if (match2 == needle.length) {
             return mstart.pos;
           }
-        } else if (match != 0) {
+        } else if (match2 != 0) {
           i = mstart.i;
           j = mstart.j;
           pos = mstart.pos;
-          match = 0;
+          match2 = 0;
         }
         j++;
         pos++;
@@ -119666,10 +116068,10 @@ var require_vars = __commonJS({
 });
 
 // node_modules/binary/index.js
-var require_binary2 = __commonJS({
+var require_binary = __commonJS({
   "node_modules/binary/index.js"(exports2, module2) {
     var Chainsaw = require_chainsaw();
-    var EventEmitter = require("events").EventEmitter;
+    var EventEmitter2 = require("events").EventEmitter;
     var Buffers = require_buffers();
     var Vars = require_vars();
     var Stream = require("stream").Stream;
@@ -119855,8 +116257,8 @@ var require_binary2 = __commonJS({
         caughtEnd = true;
       };
       stream2.pipe = Stream.prototype.pipe;
-      Object.getOwnPropertyNames(EventEmitter.prototype).forEach(function(name) {
-        stream2[name] = EventEmitter.prototype[name];
+      Object.getOwnPropertyNames(EventEmitter2.prototype).forEach(function(name) {
+        stream2[name] = EventEmitter2.prototype[name];
       });
       return stream2;
     };
@@ -119993,13 +116395,13 @@ var require_binary2 = __commonJS({
 // node_modules/unzip-stream/lib/matcher-stream.js
 var require_matcher_stream = __commonJS({
   "node_modules/unzip-stream/lib/matcher-stream.js"(exports2, module2) {
-    var Transform = require("stream").Transform;
-    var util = require("util");
+    var Transform5 = require("stream").Transform;
+    var util3 = require("util");
     function MatcherStream(patternDesc, matchFn) {
       if (!(this instanceof MatcherStream)) {
         return new MatcherStream();
       }
-      Transform.call(this);
+      Transform5.call(this);
       var p = typeof patternDesc === "object" ? patternDesc.pattern : patternDesc;
       this.pattern = Buffer.isBuffer(p) ? p : Buffer.from(p);
       this.requiredLength = this.pattern.length;
@@ -120008,7 +116410,7 @@ var require_matcher_stream = __commonJS({
       this.bytesSoFar = 0;
       this.matchFn = matchFn;
     }
-    util.inherits(MatcherStream, Transform);
+    util3.inherits(MatcherStream, Transform5);
     MatcherStream.prototype.checkDataChunk = function(ignoreMatchZero) {
       var enoughData = this.data.length >= this.requiredLength;
       if (!enoughData) {
@@ -120099,9 +116501,9 @@ var require_entry = __commonJS({
 var require_unzip_stream = __commonJS({
   "node_modules/unzip-stream/lib/unzip-stream.js"(exports2, module2) {
     "use strict";
-    var binary = require_binary2();
+    var binary = require_binary();
     var stream2 = require("stream");
-    var util = require("util");
+    var util3 = require("util");
     var zlib3 = require("zlib");
     var MatcherStream = require_matcher_stream();
     var Entry = require_entry();
@@ -120142,7 +116544,7 @@ var require_unzip_stream = __commonJS({
       this.parsedEntity = null;
       this.outStreamInfo = {};
     }
-    util.inherits(UnzipStream, stream2.Transform);
+    util3.inherits(UnzipStream, stream2.Transform);
     UnzipStream.prototype.processDataChunk = function(chunk) {
       var requiredLength;
       switch (this.state) {
@@ -120286,11 +116688,11 @@ var require_unzip_stream = __commonJS({
           return requiredLength;
         case states.CENTRAL_DIRECTORY_FILE_HEADER_SUFFIX:
           var isUtf8 = (this.parsedEntity.flags & 2048) !== 0;
-          var path29 = this._decodeString(chunk.slice(0, this.parsedEntity.fileNameLength), isUtf8);
+          var path30 = this._decodeString(chunk.slice(0, this.parsedEntity.fileNameLength), isUtf8);
           var extraDataBuffer = chunk.slice(this.parsedEntity.fileNameLength, this.parsedEntity.fileNameLength + this.parsedEntity.extraFieldLength);
           var extra = this._readExtraFields(extraDataBuffer);
           if (extra && extra.parsed && extra.parsed.path && !isUtf8) {
-            path29 = extra.parsed.path;
+            path30 = extra.parsed.path;
           }
           this.parsedEntity.extra = extra.parsed;
           var isUnix = (this.parsedEntity.versionMadeBy & 65280) >> 8 === 3;
@@ -120302,7 +116704,7 @@ var require_unzip_stream = __commonJS({
           }
           if (this.options.debug) {
             const debugObj = Object.assign({}, this.parsedEntity, {
-              path: path29,
+              path: path30,
               flags: "0x" + this.parsedEntity.flags.toString(16),
               unixAttrs: unixAttrs && "0" + unixAttrs.toString(8),
               isSymlink,
@@ -120433,15 +116835,15 @@ var require_unzip_stream = __commonJS({
       if (this.options.debug) {
         result.debug = [];
       }
-      var index = 0;
-      while (index < data.length) {
-        var vars = binary.parse(data).skip(index).word16lu("extraId").word16lu("extraSize").vars;
-        index += 4;
+      var index2 = 0;
+      while (index2 < data.length) {
+        var vars = binary.parse(data).skip(index2).word16lu("extraId").word16lu("extraSize").vars;
+        index2 += 4;
         var fieldType = void 0;
         switch (vars.extraId) {
           case 1:
             fieldType = "Zip64 extended information extra field";
-            var z64vars = binary.parse(data.slice(index, index + vars.extraSize)).word64lu("uncompressedSize").word64lu("compressedSize").word64lu("offsetToLocalHeader").word32lu("diskStartNumber").vars;
+            var z64vars = binary.parse(data.slice(index2, index2 + vars.extraSize)).word64lu("uncompressedSize").word64lu("compressedSize").word64lu("offsetToLocalHeader").word32lu("diskStartNumber").vars;
             if (z64vars.uncompressedSize !== null) {
               extra.uncompressedSize = z64vars.uncompressedSize;
             }
@@ -120455,28 +116857,28 @@ var require_unzip_stream = __commonJS({
             break;
           case 21589:
             fieldType = "extended timestamp";
-            var timestampFields = data.readUInt8(index);
+            var timestampFields = data.readUInt8(index2);
             var offset = 1;
             if (vars.extraSize >= offset + 4 && timestampFields & 1) {
-              extra.mtime = new Date(data.readUInt32LE(index + offset) * 1e3);
+              extra.mtime = new Date(data.readUInt32LE(index2 + offset) * 1e3);
               offset += 4;
             }
             if (vars.extraSize >= offset + 4 && timestampFields & 2) {
-              extra.atime = new Date(data.readUInt32LE(index + offset) * 1e3);
+              extra.atime = new Date(data.readUInt32LE(index2 + offset) * 1e3);
               offset += 4;
             }
             if (vars.extraSize >= offset + 4 && timestampFields & 4) {
-              extra.ctime = new Date(data.readUInt32LE(index + offset) * 1e3);
+              extra.ctime = new Date(data.readUInt32LE(index2 + offset) * 1e3);
             }
             break;
           case 28789:
             fieldType = "Info-ZIP Unicode Path Extra Field";
-            var fieldVer = data.readUInt8(index);
+            var fieldVer = data.readUInt8(index2);
             if (fieldVer === 1) {
               var offset = 1;
-              var nameCrc32 = data.readUInt32LE(index + offset);
+              var nameCrc32 = data.readUInt32LE(index2 + offset);
               offset += 4;
-              var pathBuffer = data.slice(index + offset);
+              var pathBuffer = data.slice(index2 + offset);
               extra.path = pathBuffer.toString();
             }
             break;
@@ -120485,16 +116887,16 @@ var require_unzip_stream = __commonJS({
             fieldType = vars.extraId === 13 ? "PKWARE Unix" : "Info-ZIP UNIX (type 1)";
             var offset = 0;
             if (vars.extraSize >= 8) {
-              var atime = new Date(data.readUInt32LE(index + offset) * 1e3);
+              var atime = new Date(data.readUInt32LE(index2 + offset) * 1e3);
               offset += 4;
-              var mtime = new Date(data.readUInt32LE(index + offset) * 1e3);
+              var mtime = new Date(data.readUInt32LE(index2 + offset) * 1e3);
               offset += 4;
               extra.atime = atime;
               extra.mtime = mtime;
               if (vars.extraSize >= 12) {
-                var uid = data.readUInt16LE(index + offset);
+                var uid = data.readUInt16LE(index2 + offset);
                 offset += 2;
-                var gid = data.readUInt16LE(index + offset);
+                var gid = data.readUInt16LE(index2 + offset);
                 offset += 2;
                 extra.uid = uid;
                 extra.gid = gid;
@@ -120505,9 +116907,9 @@ var require_unzip_stream = __commonJS({
             fieldType = "Info-ZIP UNIX (type 2)";
             var offset = 0;
             if (vars.extraSize >= 4) {
-              var uid = data.readUInt16LE(index + offset);
+              var uid = data.readUInt16LE(index2 + offset);
               offset += 2;
-              var gid = data.readUInt16LE(index + offset);
+              var gid = data.readUInt16LE(index2 + offset);
               offset += 2;
               extra.uid = uid;
               extra.gid = gid;
@@ -120516,19 +116918,19 @@ var require_unzip_stream = __commonJS({
           case 30837:
             fieldType = "Info-ZIP New Unix";
             var offset = 0;
-            var extraVer = data.readUInt8(index);
+            var extraVer = data.readUInt8(index2);
             offset += 1;
             if (extraVer === 1) {
-              var uidSize = data.readUInt8(index + offset);
+              var uidSize = data.readUInt8(index2 + offset);
               offset += 1;
               if (uidSize <= 6) {
-                extra.uid = data.readUIntLE(index + offset, uidSize);
+                extra.uid = data.readUIntLE(index2 + offset, uidSize);
               }
               offset += uidSize;
-              var gidSize = data.readUInt8(index + offset);
+              var gidSize = data.readUInt8(index2 + offset);
               offset += 1;
               if (gidSize <= 6) {
-                extra.gid = data.readUIntLE(index + offset, gidSize);
+                extra.gid = data.readUIntLE(index2 + offset, gidSize);
               }
             }
             break;
@@ -120536,22 +116938,22 @@ var require_unzip_stream = __commonJS({
             fieldType = "ASi Unix";
             var offset = 0;
             if (vars.extraSize >= 14) {
-              var crc = data.readUInt32LE(index + offset);
+              var crc = data.readUInt32LE(index2 + offset);
               offset += 4;
-              var mode = data.readUInt16LE(index + offset);
+              var mode = data.readUInt16LE(index2 + offset);
               offset += 2;
-              var sizdev = data.readUInt32LE(index + offset);
+              var sizdev = data.readUInt32LE(index2 + offset);
               offset += 4;
-              var uid = data.readUInt16LE(index + offset);
+              var uid = data.readUInt16LE(index2 + offset);
               offset += 2;
-              var gid = data.readUInt16LE(index + offset);
+              var gid = data.readUInt16LE(index2 + offset);
               offset += 2;
               extra.mode = mode;
               extra.uid = uid;
               extra.gid = gid;
               if (vars.extraSize > 14) {
-                var start = index + offset;
-                var end = index + vars.extraSize - 14;
+                var start = index2 + offset;
+                var end = index2 + vars.extraSize - 14;
                 var symlinkName = this._decodeString(data.slice(start, end));
                 extra.symlink = symlinkName;
               }
@@ -120562,10 +116964,10 @@ var require_unzip_stream = __commonJS({
           result.debug.push({
             extraId: "0x" + vars.extraId.toString(16),
             description: fieldType,
-            data: data.slice(index, index + vars.extraSize).inspect()
+            data: data.slice(index2, index2 + vars.extraSize).inspect()
           });
         }
-        index += vars.extraSize;
+        index2 += vars.extraSize;
       }
       return result;
     };
@@ -120688,15 +117090,15 @@ var require_unzip_stream = __commonJS({
 // node_modules/unzip-stream/lib/parser-stream.js
 var require_parser_stream = __commonJS({
   "node_modules/unzip-stream/lib/parser-stream.js"(exports2, module2) {
-    var Transform = require("stream").Transform;
-    var util = require("util");
+    var Transform5 = require("stream").Transform;
+    var util3 = require("util");
     var UnzipStream = require_unzip_stream();
     function ParserStream(opts) {
       if (!(this instanceof ParserStream)) {
         return new ParserStream(opts);
       }
       var transformOpts = opts || {};
-      Transform.call(this, { readableObjectMode: true });
+      Transform5.call(this, { readableObjectMode: true });
       this.opts = opts || {};
       this.unzipStream = new UnzipStream(this.opts);
       var self2 = this;
@@ -120707,7 +117109,7 @@ var require_parser_stream = __commonJS({
         self2.emit("error", error3);
       });
     }
-    util.inherits(ParserStream, Transform);
+    util3.inherits(ParserStream, Transform5);
     ParserStream.prototype._transform = function(chunk, encoding, cb) {
       this.unzipStream.write(chunk, encoding, cb);
     };
@@ -120722,13 +117124,13 @@ var require_parser_stream = __commonJS({
     };
     ParserStream.prototype.on = function(eventName, fn) {
       if (eventName === "entry") {
-        return Transform.prototype.on.call(this, "data", fn);
+        return Transform5.prototype.on.call(this, "data", fn);
       }
-      return Transform.prototype.on.call(this, eventName, fn);
+      return Transform5.prototype.on.call(this, eventName, fn);
     };
     ParserStream.prototype.drainAll = function() {
       this.unzipStream.drainAll();
-      return this.pipe(new Transform({ objectMode: true, transform: function(d, e, cb) {
+      return this.pipe(new Transform5({ objectMode: true, transform: function(d, e, cb) {
         cb();
       } }));
     };
@@ -120739,8 +117141,8 @@ var require_parser_stream = __commonJS({
 // node_modules/mkdirp/index.js
 var require_mkdirp = __commonJS({
   "node_modules/mkdirp/index.js"(exports2, module2) {
-    var path29 = require("path");
-    var fs31 = require("fs");
+    var path30 = require("path");
+    var fs32 = require("fs");
     var _0777 = parseInt("0777", 8);
     module2.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;
     function mkdirP(p, opts, f, made) {
@@ -120751,7 +117153,7 @@ var require_mkdirp = __commonJS({
         opts = { mode: opts };
       }
       var mode = opts.mode;
-      var xfs = opts.fs || fs31;
+      var xfs = opts.fs || fs32;
       if (mode === void 0) {
         mode = _0777;
       }
@@ -120759,7 +117161,7 @@ var require_mkdirp = __commonJS({
       var cb = f || /* istanbul ignore next */
       function() {
       };
-      p = path29.resolve(p);
+      p = path30.resolve(p);
       xfs.mkdir(p, mode, function(er) {
         if (!er) {
           made = made || p;
@@ -120767,8 +117169,8 @@ var require_mkdirp = __commonJS({
         }
         switch (er.code) {
           case "ENOENT":
-            if (path29.dirname(p) === p) return cb(er);
-            mkdirP(path29.dirname(p), opts, function(er2, made2) {
+            if (path30.dirname(p) === p) return cb(er);
+            mkdirP(path30.dirname(p), opts, function(er2, made2) {
               if (er2) cb(er2, made2);
               else mkdirP(p, opts, cb, made2);
             });
@@ -120777,8 +117179,8 @@ var require_mkdirp = __commonJS({
           // there already.  If so, then hooray!  If not, then something
           // is borked.
           default:
-            xfs.stat(p, function(er2, stat) {
-              if (er2 || !stat.isDirectory()) cb(er, made);
+            xfs.stat(p, function(er2, stat2) {
+              if (er2 || !stat2.isDirectory()) cb(er, made);
               else cb(null, made);
             });
             break;
@@ -120790,32 +117192,32 @@ var require_mkdirp = __commonJS({
         opts = { mode: opts };
       }
       var mode = opts.mode;
-      var xfs = opts.fs || fs31;
+      var xfs = opts.fs || fs32;
       if (mode === void 0) {
         mode = _0777;
       }
       if (!made) made = null;
-      p = path29.resolve(p);
+      p = path30.resolve(p);
       try {
         xfs.mkdirSync(p, mode);
         made = made || p;
       } catch (err0) {
         switch (err0.code) {
           case "ENOENT":
-            made = sync(path29.dirname(p), opts, made);
+            made = sync(path30.dirname(p), opts, made);
             sync(p, opts, made);
             break;
           // In the case of any other error, just see if there's a dir
           // there already.  If so, then hooray!  If not, then something
           // is borked.
           default:
-            var stat;
+            var stat2;
             try {
-              stat = xfs.statSync(p);
+              stat2 = xfs.statSync(p);
             } catch (err1) {
               throw err0;
             }
-            if (!stat.isDirectory()) throw err0;
+            if (!stat2.isDirectory()) throw err0;
             break;
         }
       }
@@ -120827,16 +117229,16 @@ var require_mkdirp = __commonJS({
 // node_modules/unzip-stream/lib/extract.js
 var require_extract2 = __commonJS({
   "node_modules/unzip-stream/lib/extract.js"(exports2, module2) {
-    var fs31 = require("fs");
-    var path29 = require("path");
-    var util = require("util");
+    var fs32 = require("fs");
+    var path30 = require("path");
+    var util3 = require("util");
     var mkdirp = require_mkdirp();
-    var Transform = require("stream").Transform;
+    var Transform5 = require("stream").Transform;
     var UnzipStream = require_unzip_stream();
     function Extract(opts) {
       if (!(this instanceof Extract))
         return new Extract(opts);
-      Transform.call(this);
+      Transform5.call(this);
       this.opts = opts || {};
       this.unzipStream = new UnzipStream(this.opts);
       this.unfinishedEntries = 0;
@@ -120848,7 +117250,7 @@ var require_extract2 = __commonJS({
         self2.emit("error", error3);
       });
     }
-    util.inherits(Extract, Transform);
+    util3.inherits(Extract, Transform5);
     Extract.prototype._transform = function(chunk, encoding, cb) {
       this.unzipStream.write(chunk, encoding, cb);
     };
@@ -120870,11 +117272,11 @@ var require_extract2 = __commonJS({
     };
     Extract.prototype._processEntry = function(entry) {
       var self2 = this;
-      var destPath = path29.join(this.opts.path, entry.path);
-      var directory = entry.isDirectory ? destPath : path29.dirname(destPath);
+      var destPath = path30.join(this.opts.path, entry.path);
+      var directory = entry.isDirectory ? destPath : path30.dirname(destPath);
       this.unfinishedEntries++;
       var writeFileFn = function() {
-        var pipedStream = fs31.createWriteStream(destPath);
+        var pipedStream = fs32.createWriteStream(destPath);
         pipedStream.on("close", function() {
           self2.unfinishedEntries--;
           self2._notifyAwaiter();
@@ -120950,11 +117352,11 @@ var require_download_artifact = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -120970,7 +117372,7 @@ var require_download_artifact = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -120984,7 +117386,7 @@ var require_download_artifact = __commonJS({
     var crypto3 = __importStar2(require("crypto"));
     var stream2 = __importStar2(require("stream"));
     var github5 = __importStar2(require_github2());
-    var core30 = __importStar2(require_core());
+    var core31 = __importStar2(require_core());
     var httpClient = __importStar2(require_lib());
     var unzip_stream_1 = __importDefault2(require_unzip());
     var user_agent_1 = require_user_agent2();
@@ -120998,10 +117400,10 @@ var require_download_artifact = __commonJS({
       parsed.search = "";
       return parsed.toString();
     };
-    function exists(path29) {
+    function exists(path30) {
       return __awaiter2(this, void 0, void 0, function* () {
         try {
-          yield promises_1.default.access(path29);
+          yield promises_1.default.access(path30);
           return true;
         } catch (error3) {
           if (error3.code === "ENOENT") {
@@ -121020,8 +117422,8 @@ var require_download_artifact = __commonJS({
             return yield streamExtractExternal(url2, directory);
           } catch (error3) {
             retryCount++;
-            core30.debug(`Failed to download artifact after ${retryCount} retries due to ${error3.message}. Retrying in 5 seconds...`);
-            yield new Promise((resolve13) => setTimeout(resolve13, 5e3));
+            core31.debug(`Failed to download artifact after ${retryCount} retries due to ${error3.message}. Retrying in 5 seconds...`);
+            yield new Promise((resolve14) => setTimeout(resolve14, 5e3));
           }
         }
         throw new Error(`Artifact download failed after ${retryCount} retries.`);
@@ -121035,7 +117437,7 @@ var require_download_artifact = __commonJS({
           throw new Error(`Unexpected HTTP response from blob storage: ${response.message.statusCode} ${response.message.statusMessage}`);
         }
         let sha256Digest = void 0;
-        return new Promise((resolve13, reject) => {
+        return new Promise((resolve14, reject) => {
           const timerFn = () => {
             const timeoutError = new Error(`Blob storage chunk did not respond in ${opts.timeout}ms`);
             response.message.destroy(timeoutError);
@@ -121050,7 +117452,7 @@ var require_download_artifact = __commonJS({
           extractStream.on("data", () => {
             timer.refresh();
           }).on("error", (error3) => {
-            core30.debug(`response.message: Artifact download failed: ${error3.message}`);
+            core31.debug(`response.message: Artifact download failed: ${error3.message}`);
             clearTimeout(timer);
             reject(error3);
           }).pipe(unzip_stream_1.default.Extract({ path: directory })).on("close", () => {
@@ -121058,9 +117460,9 @@ var require_download_artifact = __commonJS({
             if (hashStream) {
               hashStream.end();
               sha256Digest = hashStream.read();
-              core30.info(`SHA256 digest of downloaded artifact is ${sha256Digest}`);
+              core31.info(`SHA256 digest of downloaded artifact is ${sha256Digest}`);
             }
-            resolve13({ sha256Digest: `sha256:${sha256Digest}` });
+            resolve14({ sha256Digest: `sha256:${sha256Digest}` });
           }).on("error", (error3) => {
             reject(error3);
           });
@@ -121073,7 +117475,7 @@ var require_download_artifact = __commonJS({
         const downloadPath = yield resolveOrCreateDirectory(options === null || options === void 0 ? void 0 : options.path);
         const api = github5.getOctokit(token);
         let digestMismatch = false;
-        core30.info(`Downloading artifact '${artifactId}' from '${repositoryOwner}/${repositoryName}'`);
+        core31.info(`Downloading artifact '${artifactId}' from '${repositoryOwner}/${repositoryName}'`);
         const { headers, status } = yield api.rest.actions.downloadArtifact({
           owner: repositoryOwner,
           repo: repositoryName,
@@ -121090,16 +117492,16 @@ var require_download_artifact = __commonJS({
         if (!location) {
           throw new Error(`Unable to redirect to artifact download url`);
         }
-        core30.info(`Redirecting to blob download url: ${scrubQueryParameters(location)}`);
+        core31.info(`Redirecting to blob download url: ${scrubQueryParameters(location)}`);
         try {
-          core30.info(`Starting download of artifact to: ${downloadPath}`);
+          core31.info(`Starting download of artifact to: ${downloadPath}`);
           const extractResponse = yield streamExtract(location, downloadPath);
-          core30.info(`Artifact download completed successfully.`);
+          core31.info(`Artifact download completed successfully.`);
           if (options === null || options === void 0 ? void 0 : options.expectedHash) {
             if ((options === null || options === void 0 ? void 0 : options.expectedHash) !== extractResponse.sha256Digest) {
               digestMismatch = true;
-              core30.debug(`Computed digest: ${extractResponse.sha256Digest}`);
-              core30.debug(`Expected digest: ${options.expectedHash}`);
+              core31.debug(`Computed digest: ${extractResponse.sha256Digest}`);
+              core31.debug(`Expected digest: ${options.expectedHash}`);
             }
           }
         } catch (error3) {
@@ -121126,7 +117528,7 @@ var require_download_artifact = __commonJS({
 Are you trying to download from a different run? Try specifying a github-token with \`actions:read\` scope.`);
         }
         if (artifacts.length > 1) {
-          core30.warning("Multiple artifacts found, defaulting to first.");
+          core31.warning("Multiple artifacts found, defaulting to first.");
         }
         const signedReq = {
           workflowRunBackendId: artifacts[0].workflowRunBackendId,
@@ -121134,16 +117536,16 @@ Are you trying to download from a different run? Try specifying a github-token w
           name: artifacts[0].name
         };
         const { signedUrl } = yield artifactClient.GetSignedArtifactURL(signedReq);
-        core30.info(`Redirecting to blob download url: ${scrubQueryParameters(signedUrl)}`);
+        core31.info(`Redirecting to blob download url: ${scrubQueryParameters(signedUrl)}`);
         try {
-          core30.info(`Starting download of artifact to: ${downloadPath}`);
+          core31.info(`Starting download of artifact to: ${downloadPath}`);
           const extractResponse = yield streamExtract(signedUrl, downloadPath);
-          core30.info(`Artifact download completed successfully.`);
+          core31.info(`Artifact download completed successfully.`);
           if (options === null || options === void 0 ? void 0 : options.expectedHash) {
             if ((options === null || options === void 0 ? void 0 : options.expectedHash) !== extractResponse.sha256Digest) {
               digestMismatch = true;
-              core30.debug(`Computed digest: ${extractResponse.sha256Digest}`);
-              core30.debug(`Expected digest: ${options.expectedHash}`);
+              core31.debug(`Computed digest: ${extractResponse.sha256Digest}`);
+              core31.debug(`Expected digest: ${options.expectedHash}`);
             }
           }
         } catch (error3) {
@@ -121156,10 +117558,10 @@ Are you trying to download from a different run? Try specifying a github-token w
     function resolveOrCreateDirectory() {
       return __awaiter2(this, arguments, void 0, function* (downloadPath = (0, config_1.getGitHubWorkspaceDir)()) {
         if (!(yield exists(downloadPath))) {
-          core30.debug(`Artifact destination folder does not exist, creating: ${downloadPath}`);
+          core31.debug(`Artifact destination folder does not exist, creating: ${downloadPath}`);
           yield promises_1.default.mkdir(downloadPath, { recursive: true });
         } else {
-          core30.debug(`Artifact destination folder already exists: ${downloadPath}`);
+          core31.debug(`Artifact destination folder already exists: ${downloadPath}`);
         }
         return downloadPath;
       });
@@ -121200,11 +117602,11 @@ var require_retry_options = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getRetryOptions = void 0;
-    var core30 = __importStar2(require_core());
+    var core31 = __importStar2(require_core());
     var defaultMaxRetryNumber = 5;
     var defaultExemptStatusCodes = [400, 401, 403, 404, 422];
     function getRetryOptions(defaultOptions, retries = defaultMaxRetryNumber, exemptStatusCodes = defaultExemptStatusCodes) {
-      var _a;
+      var _a2;
       if (retries <= 0) {
         return [{ enabled: false }, defaultOptions.request];
       }
@@ -121215,7 +117617,7 @@ var require_retry_options = __commonJS({
         retryOptions.doNotRetry = exemptStatusCodes;
       }
       const requestOptions = Object.assign(Object.assign({}, defaultOptions.request), { retries });
-      core30.debug(`GitHub client configured with: (retries: ${requestOptions.retries}, retry-exempt-status-code: ${(_a = retryOptions.doNotRetry) !== null && _a !== void 0 ? _a : "octokit default: [400, 401, 403, 404, 422]"})`);
+      core31.debug(`GitHub client configured with: (retries: ${requestOptions.retries}, retry-exempt-status-code: ${(_a2 = retryOptions.doNotRetry) !== null && _a2 !== void 0 ? _a2 : "octokit default: [400, 401, 403, 404, 422]"})`);
       return [retryOptions, requestOptions];
     }
     exports2.getRetryOptions = getRetryOptions;
@@ -121233,12 +117635,12 @@ var require_dist_node11 = __commonJS({
         octokit.log.debug("request", options);
         const start = Date.now();
         const requestOptions = octokit.request.endpoint.parse(options);
-        const path29 = requestOptions.url.replace(options.baseUrl, "");
+        const path30 = requestOptions.url.replace(options.baseUrl, "");
         return request3(options).then((response) => {
-          octokit.log.info(`${requestOptions.method} ${path29} - ${response.status} in ${Date.now() - start}ms`);
+          octokit.log.info(`${requestOptions.method} ${path30} - ${response.status} in ${Date.now() - start}ms`);
           return response;
         }).catch((error3) => {
-          octokit.log.info(`${requestOptions.method} ${path29} - ${error3.status} in ${Date.now() - start}ms`);
+          octokit.log.info(`${requestOptions.method} ${path30} - ${error3.status} in ${Date.now() - start}ms`);
           throw error3;
         });
       });
@@ -121343,11 +117745,11 @@ var require_get_artifact = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -121363,7 +117765,7 @@ var require_get_artifact = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -121372,7 +117774,7 @@ var require_get_artifact = __commonJS({
     exports2.getArtifactInternal = exports2.getArtifactPublic = void 0;
     var github_1 = require_github2();
     var plugin_retry_1 = require_dist_node12();
-    var core30 = __importStar2(require_core());
+    var core31 = __importStar2(require_core());
     var utils_1 = require_utils9();
     var retry_options_1 = require_retry_options();
     var plugin_request_log_1 = require_dist_node11();
@@ -121383,7 +117785,7 @@ var require_get_artifact = __commonJS({
     var errors_1 = require_errors3();
     function getArtifactPublic(artifactName, workflowRunId, repositoryOwner, repositoryName, token) {
       return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
+        var _a2;
         const [retryOpts, requestOpts] = (0, retry_options_1.getRetryOptions)(utils_1.defaults);
         const opts = {
           log: void 0,
@@ -121400,7 +117802,7 @@ var require_get_artifact = __commonJS({
           name: artifactName
         });
         if (getArtifactResp.status !== 200) {
-          throw new errors_1.InvalidResponseError(`Invalid response from GitHub API: ${getArtifactResp.status} (${(_a = getArtifactResp === null || getArtifactResp === void 0 ? void 0 : getArtifactResp.headers) === null || _a === void 0 ? void 0 : _a["x-github-request-id"]})`);
+          throw new errors_1.InvalidResponseError(`Invalid response from GitHub API: ${getArtifactResp.status} (${(_a2 = getArtifactResp === null || getArtifactResp === void 0 ? void 0 : getArtifactResp.headers) === null || _a2 === void 0 ? void 0 : _a2["x-github-request-id"]})`);
         }
         if (getArtifactResp.data.artifacts.length === 0) {
           throw new errors_1.ArtifactNotFoundError(`Artifact not found for name: ${artifactName}
@@ -121410,7 +117812,7 @@ var require_get_artifact = __commonJS({
         let artifact2 = getArtifactResp.data.artifacts[0];
         if (getArtifactResp.data.artifacts.length > 1) {
           artifact2 = getArtifactResp.data.artifacts.sort((a, b) => b.id - a.id)[0];
-          core30.debug(`More than one artifact found for a single name, returning newest (id: ${artifact2.id})`);
+          core31.debug(`More than one artifact found for a single name, returning newest (id: ${artifact2.id})`);
         }
         return {
           artifact: {
@@ -121426,7 +117828,7 @@ var require_get_artifact = __commonJS({
     exports2.getArtifactPublic = getArtifactPublic;
     function getArtifactInternal(artifactName) {
       return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
+        var _a2;
         const artifactClient = (0, artifact_twirp_client_1.internalArtifactTwirpClient)();
         const { workflowRunBackendId, workflowJobRunBackendId } = (0, util_1.getBackendIdsFromToken)();
         const req = {
@@ -121443,7 +117845,7 @@ var require_get_artifact = __commonJS({
         let artifact2 = res.artifacts[0];
         if (res.artifacts.length > 1) {
           artifact2 = res.artifacts.sort((a, b) => Number(b.databaseId) - Number(a.databaseId))[0];
-          core30.debug(`More than one artifact found for a single name, returning newest (id: ${artifact2.databaseId})`);
+          core31.debug(`More than one artifact found for a single name, returning newest (id: ${artifact2.databaseId})`);
         }
         return {
           artifact: {
@@ -121451,7 +117853,7 @@ var require_get_artifact = __commonJS({
             id: Number(artifact2.databaseId),
             size: Number(artifact2.size),
             createdAt: artifact2.createdAt ? generated_1.Timestamp.toDate(artifact2.createdAt) : void 0,
-            digest: (_a = artifact2.digest) === null || _a === void 0 ? void 0 : _a.value
+            digest: (_a2 = artifact2.digest) === null || _a2 === void 0 ? void 0 : _a2.value
           }
         };
       });
@@ -121466,11 +117868,11 @@ var require_delete_artifact = __commonJS({
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -121486,7 +117888,7 @@ var require_delete_artifact = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -121507,7 +117909,7 @@ var require_delete_artifact = __commonJS({
     var errors_1 = require_errors3();
     function deleteArtifactPublic(artifactName, workflowRunId, repositoryOwner, repositoryName, token) {
       return __awaiter2(this, void 0, void 0, function* () {
-        var _a;
+        var _a2;
         const [retryOpts, requestOpts] = (0, retry_options_1.getRetryOptions)(utils_1.defaults);
         const opts = {
           log: void 0,
@@ -121524,7 +117926,7 @@ var require_delete_artifact = __commonJS({
           artifact_id: getArtifactResp.artifact.id
         });
         if (deleteArtifactResp.status !== 204) {
-          throw new errors_1.InvalidResponseError(`Invalid response from GitHub API: ${deleteArtifactResp.status} (${(_a = deleteArtifactResp === null || deleteArtifactResp === void 0 ? void 0 : deleteArtifactResp.headers) === null || _a === void 0 ? void 0 : _a["x-github-request-id"]})`);
+          throw new errors_1.InvalidResponseError(`Invalid response from GitHub API: ${deleteArtifactResp.status} (${(_a2 = deleteArtifactResp === null || deleteArtifactResp === void 0 ? void 0 : deleteArtifactResp.headers) === null || _a2 === void 0 ? void 0 : _a2["x-github-request-id"]})`);
         }
         return {
           id: getArtifactResp.artifact.id
@@ -121572,11 +117974,11 @@ var require_list_artifacts = __commonJS({
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -121592,7 +117994,7 @@ var require_list_artifacts = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -121689,13 +118091,13 @@ var require_list_artifacts = __commonJS({
         };
         const res = yield artifactClient.ListArtifacts(req);
         let artifacts = res.artifacts.map((artifact2) => {
-          var _a;
+          var _a2;
           return {
             name: artifact2.name,
             id: Number(artifact2.databaseId),
             size: Number(artifact2.size),
             createdAt: artifact2.createdAt ? generated_1.Timestamp.toDate(artifact2.createdAt) : void 0,
-            digest: (_a = artifact2.digest) === null || _a === void 0 ? void 0 : _a.value
+            digest: (_a2 = artifact2.digest) === null || _a2 === void 0 ? void 0 : _a2.value
           };
         });
         if (latest) {
@@ -121729,11 +118131,11 @@ var require_client2 = __commonJS({
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -121749,7 +118151,7 @@ var require_client2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -122072,7 +118474,7 @@ var require_file_command2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0;
     var crypto3 = __importStar2(require("crypto"));
-    var fs31 = __importStar2(require("fs"));
+    var fs32 = __importStar2(require("fs"));
     var os7 = __importStar2(require("os"));
     var utils_1 = require_utils10();
     function issueFileCommand(command, message) {
@@ -122080,10 +118482,10 @@ var require_file_command2 = __commonJS({
       if (!filePath) {
         throw new Error(`Unable to find environment variable for file command ${command}`);
       }
-      if (!fs31.existsSync(filePath)) {
+      if (!fs32.existsSync(filePath)) {
         throw new Error(`Missing file at path: ${filePath}`);
       }
-      fs31.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os7.EOL}`, {
+      fs32.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os7.EOL}`, {
         encoding: "utf8"
       });
     }
@@ -122124,7 +118526,7 @@ var require_proxy3 = __commonJS({
       if (proxyVar) {
         try {
           return new DecodedURL(proxyVar);
-        } catch (_a) {
+        } catch (_a2) {
           if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://"))
             return new DecodedURL(`http://${proxyVar}`);
         }
@@ -122218,11 +118620,11 @@ var require_lib5 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -122238,7 +118640,7 @@ var require_lib5 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -122324,26 +118726,26 @@ var require_lib5 = __commonJS({
       }
       readBody() {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve14) => __awaiter2(this, void 0, void 0, function* () {
             let output = Buffer.alloc(0);
             this.message.on("data", (chunk) => {
               output = Buffer.concat([output, chunk]);
             });
             this.message.on("end", () => {
-              resolve13(output.toString());
+              resolve14(output.toString());
             });
           }));
         });
       }
       readBodyBuffer() {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve14) => __awaiter2(this, void 0, void 0, function* () {
             const chunks = [];
             this.message.on("data", (chunk) => {
               chunks.push(chunk);
             });
             this.message.on("end", () => {
-              resolve13(Buffer.concat(chunks));
+              resolve14(Buffer.concat(chunks));
             });
           }));
         });
@@ -122552,14 +118954,14 @@ var require_lib5 = __commonJS({
        */
       requestRaw(info8, data) {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13, reject) => {
+          return new Promise((resolve14, reject) => {
             function callbackForResult(err, res) {
               if (err) {
                 reject(err);
               } else if (!res) {
                 reject(new Error("Unknown error"));
               } else {
-                resolve13(res);
+                resolve14(res);
               }
             }
             this.requestRawWithCallback(info8, data, callbackForResult);
@@ -122741,12 +119143,12 @@ var require_lib5 = __commonJS({
         return __awaiter2(this, void 0, void 0, function* () {
           retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
           const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
-          return new Promise((resolve13) => setTimeout(() => resolve13(), ms));
+          return new Promise((resolve14) => setTimeout(() => resolve14(), ms));
         });
       }
       _processResponse(res, options) {
         return __awaiter2(this, void 0, void 0, function* () {
-          return new Promise((resolve13, reject) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve14, reject) => __awaiter2(this, void 0, void 0, function* () {
             const statusCode = res.message.statusCode || 0;
             const response = {
               statusCode,
@@ -122754,7 +119156,7 @@ var require_lib5 = __commonJS({
               headers: {}
             };
             if (statusCode === HttpCodes.NotFound) {
-              resolve13(response);
+              resolve14(response);
             }
             function dateTimeDeserializer(key, value) {
               if (typeof value === "string") {
@@ -122793,7 +119195,7 @@ var require_lib5 = __commonJS({
               err.result = response.result;
               reject(err);
             } else {
-              resolve13(response);
+              resolve14(response);
             }
           }));
         });
@@ -122810,11 +119212,11 @@ var require_auth2 = __commonJS({
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -122830,7 +119232,7 @@ var require_auth2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -122914,11 +119316,11 @@ var require_oidc_utils2 = __commonJS({
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -122934,7 +119336,7 @@ var require_oidc_utils2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -122943,7 +119345,7 @@ var require_oidc_utils2 = __commonJS({
     exports2.OidcClient = void 0;
     var http_client_1 = require_lib5();
     var auth_1 = require_auth2();
-    var core_1 = require_core4();
+    var core_1 = require_core3();
     var OidcClient = class _OidcClient {
       static createHttpClient(allowRetry = true, maxRetry = 10) {
         const requestOptions = {
@@ -122967,7 +119369,7 @@ var require_oidc_utils2 = __commonJS({
         return runtimeUrl;
       }
       static getCall(id_token_url) {
-        var _a;
+        var _a2;
         return __awaiter2(this, void 0, void 0, function* () {
           const httpclient = _OidcClient.createHttpClient();
           const res = yield httpclient.getJson(id_token_url).catch((error3) => {
@@ -122977,7 +119379,7 @@ var require_oidc_utils2 = __commonJS({
  
         Error Message: ${error3.message}`);
           });
-          const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;
+          const id_token = (_a2 = res.result) === null || _a2 === void 0 ? void 0 : _a2.value;
           if (!id_token) {
             throw new Error("Response json body do not have ID Token field");
           }
@@ -123012,11 +119414,11 @@ var require_summary2 = __commonJS({
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -123032,7 +119434,7 @@ var require_summary2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -123065,7 +119467,7 @@ var require_summary2 = __commonJS({
           }
           try {
             yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);
-          } catch (_a) {
+          } catch (_a2) {
             throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);
           }
           this._filePath = pathFromEnv;
@@ -123333,7 +119735,7 @@ var require_path_utils2 = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0;
-    var path29 = __importStar2(require("path"));
+    var path30 = __importStar2(require("path"));
     function toPosixPath(pth) {
       return pth.replace(/[\\]/g, "/");
     }
@@ -123343,7 +119745,7 @@ var require_path_utils2 = __commonJS({
     }
     exports2.toWin32Path = toWin32Path;
     function toPlatformPath(pth) {
-      return pth.replace(/[/\\]/g, path29.sep);
+      return pth.replace(/[/\\]/g, path30.sep);
     }
     exports2.toPlatformPath = toPlatformPath;
   }
@@ -123378,11 +119780,11 @@ var require_io_util2 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -123398,20 +119800,20 @@ var require_io_util2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
     };
-    var _a;
+    var _a2;
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getCmdPath = exports2.tryGetExecutablePath = exports2.isRooted = exports2.isDirectory = exports2.exists = exports2.READONLY = exports2.UV_FS_O_EXLOCK = exports2.IS_WINDOWS = exports2.unlink = exports2.symlink = exports2.stat = exports2.rmdir = exports2.rm = exports2.rename = exports2.readlink = exports2.readdir = exports2.open = exports2.mkdir = exports2.lstat = exports2.copyFile = exports2.chmod = void 0;
-    var fs31 = __importStar2(require("fs"));
-    var path29 = __importStar2(require("path"));
-    _a = fs31.promises, exports2.chmod = _a.chmod, exports2.copyFile = _a.copyFile, exports2.lstat = _a.lstat, exports2.mkdir = _a.mkdir, exports2.open = _a.open, exports2.readdir = _a.readdir, exports2.readlink = _a.readlink, exports2.rename = _a.rename, exports2.rm = _a.rm, exports2.rmdir = _a.rmdir, exports2.stat = _a.stat, exports2.symlink = _a.symlink, exports2.unlink = _a.unlink;
+    var fs32 = __importStar2(require("fs"));
+    var path30 = __importStar2(require("path"));
+    _a2 = fs32.promises, exports2.chmod = _a2.chmod, exports2.copyFile = _a2.copyFile, exports2.lstat = _a2.lstat, exports2.mkdir = _a2.mkdir, exports2.open = _a2.open, exports2.readdir = _a2.readdir, exports2.readlink = _a2.readlink, exports2.rename = _a2.rename, exports2.rm = _a2.rm, exports2.rmdir = _a2.rmdir, exports2.stat = _a2.stat, exports2.symlink = _a2.symlink, exports2.unlink = _a2.unlink;
     exports2.IS_WINDOWS = process.platform === "win32";
     exports2.UV_FS_O_EXLOCK = 268435456;
-    exports2.READONLY = fs31.constants.O_RDONLY;
+    exports2.READONLY = fs32.constants.O_RDONLY;
     function exists(fsPath) {
       return __awaiter2(this, void 0, void 0, function* () {
         try {
@@ -123456,7 +119858,7 @@ var require_io_util2 = __commonJS({
         }
         if (stats && stats.isFile()) {
           if (exports2.IS_WINDOWS) {
-            const upperExt = path29.extname(filePath).toUpperCase();
+            const upperExt = path30.extname(filePath).toUpperCase();
             if (extensions.some((validExt) => validExt.toUpperCase() === upperExt)) {
               return filePath;
             }
@@ -123480,11 +119882,11 @@ var require_io_util2 = __commonJS({
           if (stats && stats.isFile()) {
             if (exports2.IS_WINDOWS) {
               try {
-                const directory = path29.dirname(filePath);
-                const upperName = path29.basename(filePath).toUpperCase();
+                const directory = path30.dirname(filePath);
+                const upperName = path30.basename(filePath).toUpperCase();
                 for (const actualName of yield exports2.readdir(directory)) {
                   if (upperName === actualName.toUpperCase()) {
-                    filePath = path29.join(directory, actualName);
+                    filePath = path30.join(directory, actualName);
                     break;
                   }
                 }
@@ -123515,8 +119917,8 @@ var require_io_util2 = __commonJS({
       return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && stats.uid === process.getuid();
     }
     function getCmdPath() {
-      var _a2;
-      return (_a2 = process.env["COMSPEC"]) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`;
+      var _a3;
+      return (_a3 = process.env["COMSPEC"]) !== null && _a3 !== void 0 ? _a3 : `cmd.exe`;
     }
     exports2.getCmdPath = getCmdPath;
   }
@@ -123551,11 +119953,11 @@ var require_io2 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -123571,7 +119973,7 @@ var require_io2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -123579,7 +119981,7 @@ var require_io2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.findInPath = exports2.which = exports2.mkdirP = exports2.rmRF = exports2.mv = exports2.cp = void 0;
     var assert_1 = require("assert");
-    var path29 = __importStar2(require("path"));
+    var path30 = __importStar2(require("path"));
     var ioUtil = __importStar2(require_io_util2());
     function cp(source, dest, options = {}) {
       return __awaiter2(this, void 0, void 0, function* () {
@@ -123588,7 +119990,7 @@ var require_io2 = __commonJS({
         if (destStat && destStat.isFile() && !force) {
           return;
         }
-        const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path29.join(dest, path29.basename(source)) : dest;
+        const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path30.join(dest, path30.basename(source)) : dest;
         if (!(yield ioUtil.exists(source))) {
           throw new Error(`no such file or directory: ${source}`);
         }
@@ -123600,7 +120002,7 @@ var require_io2 = __commonJS({
             yield cpDirRecursive(source, newDest, 0, force);
           }
         } else {
-          if (path29.relative(source, newDest) === "") {
+          if (path30.relative(source, newDest) === "") {
             throw new Error(`'${newDest}' and '${source}' are the same file`);
           }
           yield copyFile2(source, newDest, force);
@@ -123613,7 +120015,7 @@ var require_io2 = __commonJS({
         if (yield ioUtil.exists(dest)) {
           let destExists = true;
           if (yield ioUtil.isDirectory(dest)) {
-            dest = path29.join(dest, path29.basename(source));
+            dest = path30.join(dest, path30.basename(source));
             destExists = yield ioUtil.exists(dest);
           }
           if (destExists) {
@@ -123624,7 +120026,7 @@ var require_io2 = __commonJS({
             }
           }
         }
-        yield mkdirP(path29.dirname(dest));
+        yield mkdirP(path30.dirname(dest));
         yield ioUtil.rename(source, dest);
       });
     }
@@ -123687,7 +120089,7 @@ var require_io2 = __commonJS({
         }
         const extensions = [];
         if (ioUtil.IS_WINDOWS && process.env["PATHEXT"]) {
-          for (const extension of process.env["PATHEXT"].split(path29.delimiter)) {
+          for (const extension of process.env["PATHEXT"].split(path30.delimiter)) {
             if (extension) {
               extensions.push(extension);
             }
@@ -123700,12 +120102,12 @@ var require_io2 = __commonJS({
           }
           return [];
         }
-        if (tool.includes(path29.sep)) {
+        if (tool.includes(path30.sep)) {
           return [];
         }
         const directories = [];
         if (process.env.PATH) {
-          for (const p of process.env.PATH.split(path29.delimiter)) {
+          for (const p of process.env.PATH.split(path30.delimiter)) {
             if (p) {
               directories.push(p);
             }
@@ -123713,7 +120115,7 @@ var require_io2 = __commonJS({
         }
         const matches = [];
         for (const directory of directories) {
-          const filePath = yield ioUtil.tryGetExecutablePath(path29.join(directory, tool), extensions);
+          const filePath = yield ioUtil.tryGetExecutablePath(path30.join(directory, tool), extensions);
           if (filePath) {
             matches.push(filePath);
           }
@@ -123799,11 +120201,11 @@ var require_toolrunner2 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -123819,7 +120221,7 @@ var require_toolrunner2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -123829,7 +120231,7 @@ var require_toolrunner2 = __commonJS({
     var os7 = __importStar2(require("os"));
     var events = __importStar2(require("events"));
     var child = __importStar2(require("child_process"));
-    var path29 = __importStar2(require("path"));
+    var path30 = __importStar2(require("path"));
     var io9 = __importStar2(require_io2());
     var ioUtil = __importStar2(require_io_util2());
     var timers_1 = require("timers");
@@ -124044,10 +120446,10 @@ var require_toolrunner2 = __commonJS({
       exec() {
         return __awaiter2(this, void 0, void 0, function* () {
           if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) {
-            this.toolPath = path29.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);
+            this.toolPath = path30.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);
           }
           this.toolPath = yield io9.which(this.toolPath, true);
-          return new Promise((resolve13, reject) => __awaiter2(this, void 0, void 0, function* () {
+          return new Promise((resolve14, reject) => __awaiter2(this, void 0, void 0, function* () {
             this._debug(`exec tool: ${this.toolPath}`);
             this._debug("arguments:");
             for (const arg of this.args) {
@@ -124130,7 +120532,7 @@ var require_toolrunner2 = __commonJS({
               if (error3) {
                 reject(error3);
               } else {
-                resolve13(exitCode);
+                resolve14(exitCode);
               }
             });
             if (this.options.input) {
@@ -124283,11 +120685,11 @@ var require_exec2 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -124303,7 +120705,7 @@ var require_exec2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -124326,13 +120728,13 @@ var require_exec2 = __commonJS({
     }
     exports2.exec = exec3;
     function getExecOutput(commandLine, args, options) {
-      var _a, _b;
+      var _a2, _b;
       return __awaiter2(this, void 0, void 0, function* () {
         let stdout = "";
         let stderr = "";
         const stdoutDecoder = new string_decoder_1.StringDecoder("utf8");
         const stderrDecoder = new string_decoder_1.StringDecoder("utf8");
-        const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout;
+        const originalStdoutListener = (_a2 = options === null || options === void 0 ? void 0 : options.listeners) === null || _a2 === void 0 ? void 0 : _a2.stdout;
         const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr;
         const stdErrListener = (data) => {
           stderr += stderrDecoder.write(data);
@@ -124394,11 +120796,11 @@ var require_platform2 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -124414,7 +120816,7 @@ var require_platform2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -124439,11 +120841,11 @@ var require_platform2 = __commonJS({
       };
     });
     var getMacOsInfo = () => __awaiter2(void 0, void 0, void 0, function* () {
-      var _a, _b, _c, _d;
+      var _a2, _b, _c, _d;
       const { stdout } = yield exec3.getExecOutput("sw_vers", void 0, {
         silent: true
       });
-      const version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : "";
+      const version = (_b = (_a2 = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a2 === void 0 ? void 0 : _a2[1]) !== null && _b !== void 0 ? _b : "";
       const name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : "";
       return {
         name,
@@ -124481,7 +120883,7 @@ var require_platform2 = __commonJS({
 });
 
 // node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/core.js
-var require_core4 = __commonJS({
+var require_core3 = __commonJS({
   "node_modules/@actions/artifact-legacy/node_modules/@actions/core/lib/core.js"(exports2) {
     "use strict";
     var __createBinding2 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
@@ -124513,11 +120915,11 @@ var require_core4 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -124533,7 +120935,7 @@ var require_core4 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -124544,7 +120946,7 @@ var require_core4 = __commonJS({
     var file_command_1 = require_file_command2();
     var utils_1 = require_utils10();
     var os7 = __importStar2(require("os"));
-    var path29 = __importStar2(require("path"));
+    var path30 = __importStar2(require("path"));
     var oidc_utils_1 = require_oidc_utils2();
     var ExitCode;
     (function(ExitCode2) {
@@ -124572,7 +120974,7 @@ var require_core4 = __commonJS({
       } else {
         (0, command_1.issueCommand)("add-path", {}, inputPath);
       }
-      process.env["PATH"] = `${inputPath}${path29.delimiter}${process.env["PATH"]}`;
+      process.env["PATH"] = `${inputPath}${path30.delimiter}${process.env["PATH"]}`;
     }
     exports2.addPath = addPath2;
     function getInput2(name, options) {
@@ -124619,11 +121021,11 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
       (0, command_1.issue)("echo", enabled ? "on" : "off");
     }
     exports2.setCommandEcho = setCommandEcho;
-    function setFailed12(message) {
+    function setFailed13(message) {
       process.exitCode = ExitCode.Failure;
       error3(message);
     }
-    exports2.setFailed = setFailed12;
+    exports2.setFailed = setFailed13;
     function isDebug5() {
       return process.env["RUNNER_DEBUG"] === "1";
     }
@@ -124715,7 +121117,7 @@ var require_path_and_artifact_name_validation2 = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.checkArtifactFilePath = exports2.checkArtifactName = void 0;
-    var core_1 = require_core4();
+    var core_1 = require_core3();
     var invalidArtifactFilePathCharacters = /* @__PURE__ */ new Map([
       ['"', ' Double quote "'],
       [":", " Colon :"],
@@ -124748,13 +121150,13 @@ These characters are not allowed in the artifact name due to limitations with ce
       (0, core_1.info)(`Artifact name is valid!`);
     }
     exports2.checkArtifactName = checkArtifactName;
-    function checkArtifactFilePath(path29) {
-      if (!path29) {
-        throw new Error(`Artifact path: ${path29}, is incorrectly provided`);
+    function checkArtifactFilePath(path30) {
+      if (!path30) {
+        throw new Error(`Artifact path: ${path30}, is incorrectly provided`);
       }
       for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
-        if (path29.includes(invalidCharacterKey)) {
-          throw new Error(`Artifact path is not valid: ${path29}. Contains the following character: ${errorMessageForCharacter}
+        if (path30.includes(invalidCharacterKey)) {
+          throw new Error(`Artifact path is not valid: ${path30}. Contains the following character: ${errorMessageForCharacter}
           
 Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
           
@@ -124800,25 +121202,25 @@ var require_upload_specification = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getUploadSpecification = void 0;
-    var fs31 = __importStar2(require("fs"));
-    var core_1 = require_core4();
+    var fs32 = __importStar2(require("fs"));
+    var core_1 = require_core3();
     var path_1 = require("path");
     var path_and_artifact_name_validation_1 = require_path_and_artifact_name_validation2();
     function getUploadSpecification(artifactName, rootDirectory, artifactFiles) {
       const specifications = [];
-      if (!fs31.existsSync(rootDirectory)) {
+      if (!fs32.existsSync(rootDirectory)) {
         throw new Error(`Provided rootDirectory ${rootDirectory} does not exist`);
       }
-      if (!fs31.statSync(rootDirectory).isDirectory()) {
+      if (!fs32.statSync(rootDirectory).isDirectory()) {
         throw new Error(`Provided rootDirectory ${rootDirectory} is not a valid directory`);
       }
       rootDirectory = (0, path_1.normalize)(rootDirectory);
       rootDirectory = (0, path_1.resolve)(rootDirectory);
       for (let file of artifactFiles) {
-        if (!fs31.existsSync(file)) {
+        if (!fs32.existsSync(file)) {
           throw new Error(`File ${file} does not exist`);
         }
-        if (!fs31.statSync(file).isDirectory()) {
+        if (!fs32.statSync(file).isDirectory()) {
           file = (0, path_1.normalize)(file);
           file = (0, path_1.resolve)(file);
           if (!file.startsWith(rootDirectory)) {
@@ -124843,11 +121245,11 @@ var require_upload_specification = __commonJS({
 // node_modules/tmp/lib/tmp.js
 var require_tmp = __commonJS({
   "node_modules/tmp/lib/tmp.js"(exports2, module2) {
-    var fs31 = require("fs");
+    var fs32 = require("fs");
     var os7 = require("os");
-    var path29 = require("path");
+    var path30 = require("path");
     var crypto3 = require("crypto");
-    var _c = { fs: fs31.constants, os: os7.constants };
+    var _c = { fs: fs32.constants, os: os7.constants };
     var RANDOM_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
     var TEMPLATE_PATTERN = /XXXXXX/;
     var DEFAULT_TRIES = 3;
@@ -124859,13 +121261,13 @@ var require_tmp = __commonJS({
     var FILE_MODE = 384;
     var EXIT = "exit";
     var _removeObjects = [];
-    var FN_RMDIR_SYNC = fs31.rmdirSync.bind(fs31);
+    var FN_RMDIR_SYNC = fs32.rmdirSync.bind(fs32);
     var _gracefulCleanup = false;
     function rimraf(dirPath, callback) {
-      return fs31.rm(dirPath, { recursive: true }, callback);
+      return fs32.rm(dirPath, { recursive: true }, callback);
     }
     function FN_RIMRAF_SYNC(dirPath) {
-      return fs31.rmSync(dirPath, { recursive: true });
+      return fs32.rmSync(dirPath, { recursive: true });
     }
     function tmpName(options, callback) {
       const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
@@ -124875,7 +121277,7 @@ var require_tmp = __commonJS({
         (function _getUniqueName() {
           try {
             const name = _generateTmpName(sanitizedOptions);
-            fs31.stat(name, function(err2) {
+            fs32.stat(name, function(err2) {
               if (!err2) {
                 if (tries-- > 0) return _getUniqueName();
                 return cb(new Error("Could not get a unique tmp filename, max tries reached " + name));
@@ -124895,7 +121297,7 @@ var require_tmp = __commonJS({
       do {
         const name = _generateTmpName(sanitizedOptions);
         try {
-          fs31.statSync(name);
+          fs32.statSync(name);
         } catch (e) {
           return name;
         }
@@ -124906,10 +121308,10 @@ var require_tmp = __commonJS({
       const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
       tmpName(opts, function _tmpNameCreated(err, name) {
         if (err) return cb(err);
-        fs31.open(name, CREATE_FLAGS, opts.mode || FILE_MODE, function _fileCreated(err2, fd) {
+        fs32.open(name, CREATE_FLAGS, opts.mode || FILE_MODE, function _fileCreated(err2, fd) {
           if (err2) return cb(err2);
           if (opts.discardDescriptor) {
-            return fs31.close(fd, function _discardCallback(possibleErr) {
+            return fs32.close(fd, function _discardCallback(possibleErr) {
               return cb(possibleErr, name, void 0, _prepareTmpFileRemoveCallback(name, -1, opts, false));
             });
           } else {
@@ -124923,9 +121325,9 @@ var require_tmp = __commonJS({
       const args = _parseArguments(options), opts = args[0];
       const discardOrDetachDescriptor = opts.discardDescriptor || opts.detachDescriptor;
       const name = tmpNameSync(opts);
-      let fd = fs31.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE);
+      let fd = fs32.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE);
       if (opts.discardDescriptor) {
-        fs31.closeSync(fd);
+        fs32.closeSync(fd);
         fd = void 0;
       }
       return {
@@ -124938,7 +121340,7 @@ var require_tmp = __commonJS({
       const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
       tmpName(opts, function _tmpNameCreated(err, name) {
         if (err) return cb(err);
-        fs31.mkdir(name, opts.mode || DIR_MODE, function _dirCreated(err2) {
+        fs32.mkdir(name, opts.mode || DIR_MODE, function _dirCreated(err2) {
           if (err2) return cb(err2);
           cb(null, name, _prepareTmpDirRemoveCallback(name, opts, false));
         });
@@ -124947,7 +121349,7 @@ var require_tmp = __commonJS({
     function dirSync(options) {
       const args = _parseArguments(options), opts = args[0];
       const name = tmpNameSync(opts);
-      fs31.mkdirSync(name, opts.mode || DIR_MODE);
+      fs32.mkdirSync(name, opts.mode || DIR_MODE);
       return {
         name,
         removeCallback: _prepareTmpDirRemoveCallback(name, opts, true)
@@ -124961,20 +121363,20 @@ var require_tmp = __commonJS({
         next();
       };
       if (0 <= fdPath[0])
-        fs31.close(fdPath[0], function() {
-          fs31.unlink(fdPath[1], _handler);
+        fs32.close(fdPath[0], function() {
+          fs32.unlink(fdPath[1], _handler);
         });
-      else fs31.unlink(fdPath[1], _handler);
+      else fs32.unlink(fdPath[1], _handler);
     }
     function _removeFileSync(fdPath) {
       let rethrownException = null;
       try {
-        if (0 <= fdPath[0]) fs31.closeSync(fdPath[0]);
+        if (0 <= fdPath[0]) fs32.closeSync(fdPath[0]);
       } catch (e) {
         if (!_isEBADF(e) && !_isENOENT(e)) throw e;
       } finally {
         try {
-          fs31.unlinkSync(fdPath[1]);
+          fs32.unlinkSync(fdPath[1]);
         } catch (e) {
           if (!_isENOENT(e)) rethrownException = e;
         }
@@ -124990,7 +121392,7 @@ var require_tmp = __commonJS({
       return sync ? removeCallbackSync : removeCallback;
     }
     function _prepareTmpDirRemoveCallback(name, opts, sync) {
-      const removeFunction = opts.unsafeCleanup ? rimraf : fs31.rmdir.bind(fs31);
+      const removeFunction = opts.unsafeCleanup ? rimraf : fs32.rmdir.bind(fs32);
       const removeFunctionSync = opts.unsafeCleanup ? FN_RIMRAF_SYNC : FN_RMDIR_SYNC;
       const removeCallbackSync = _prepareRemoveCallback(removeFunctionSync, name, sync);
       const removeCallback = _prepareRemoveCallback(removeFunction, name, sync, removeCallbackSync);
@@ -125002,8 +121404,8 @@ var require_tmp = __commonJS({
       return function _cleanupCallback(next) {
         if (!called) {
           const toRemove = cleanupCallbackSync || _cleanupCallback;
-          const index = _removeObjects.indexOf(toRemove);
-          if (index >= 0) _removeObjects.splice(index, 1);
+          const index2 = _removeObjects.indexOf(toRemove);
+          if (index2 >= 0) _removeObjects.splice(index2, 1);
           called = true;
           if (sync || removeFunction === FN_RMDIR_SYNC || removeFunction === FN_RIMRAF_SYNC) {
             return removeFunction(fileOrDirName);
@@ -125052,35 +121454,35 @@ var require_tmp = __commonJS({
       return [actualOptions, callback];
     }
     function _resolvePath(name, tmpDir, cb) {
-      const pathToResolve = path29.isAbsolute(name) ? name : path29.join(tmpDir, name);
-      fs31.stat(pathToResolve, function(err) {
+      const pathToResolve = path30.isAbsolute(name) ? name : path30.join(tmpDir, name);
+      fs32.stat(pathToResolve, function(err) {
         if (err) {
-          fs31.realpath(path29.dirname(pathToResolve), function(err2, parentDir) {
+          fs32.realpath(path30.dirname(pathToResolve), function(err2, parentDir) {
             if (err2) return cb(err2);
-            cb(null, path29.join(parentDir, path29.basename(pathToResolve)));
+            cb(null, path30.join(parentDir, path30.basename(pathToResolve)));
           });
         } else {
-          fs31.realpath(pathToResolve, cb);
+          fs32.realpath(pathToResolve, cb);
         }
       });
     }
     function _resolvePathSync(name, tmpDir) {
-      const pathToResolve = path29.isAbsolute(name) ? name : path29.join(tmpDir, name);
+      const pathToResolve = path30.isAbsolute(name) ? name : path30.join(tmpDir, name);
       try {
-        fs31.statSync(pathToResolve);
-        return fs31.realpathSync(pathToResolve);
+        fs32.statSync(pathToResolve);
+        return fs32.realpathSync(pathToResolve);
       } catch (_err) {
-        const parentDir = fs31.realpathSync(path29.dirname(pathToResolve));
-        return path29.join(parentDir, path29.basename(pathToResolve));
+        const parentDir = fs32.realpathSync(path30.dirname(pathToResolve));
+        return path30.join(parentDir, path30.basename(pathToResolve));
       }
     }
     function _generateTmpName(opts) {
       const tmpDir = opts.tmpdir;
       if (!_isUndefined(opts.name)) {
-        return path29.join(tmpDir, opts.dir, opts.name);
+        return path30.join(tmpDir, opts.dir, opts.name);
       }
       if (!_isUndefined(opts.template)) {
-        return path29.join(tmpDir, opts.dir, opts.template).replace(TEMPLATE_PATTERN, _randomChars(6));
+        return path30.join(tmpDir, opts.dir, opts.template).replace(TEMPLATE_PATTERN, _randomChars(6));
       }
       const name = [
         opts.prefix ? opts.prefix : "tmp",
@@ -125090,7 +121492,7 @@ var require_tmp = __commonJS({
         _randomChars(12),
         opts.postfix ? "-" + opts.postfix : ""
       ].join("");
-      return path29.join(tmpDir, opts.dir, name);
+      return path30.join(tmpDir, opts.dir, name);
     }
     function _assertPath(option, value) {
       if (typeof value !== "string") {
@@ -125104,8 +121506,8 @@ var require_tmp = __commonJS({
     function _assertOptionsBase(options) {
       if (!_isUndefined(options.name)) {
         const name = options.name;
-        if (path29.isAbsolute(name)) throw new Error(`name option must not contain an absolute path, found "${name}".`);
-        const basename2 = path29.basename(name);
+        if (path30.isAbsolute(name)) throw new Error(`name option must not contain an absolute path, found "${name}".`);
+        const basename2 = path30.basename(name);
         if (basename2 === ".." || basename2 === "." || basename2 !== name) {
           throw new Error(`name option must not contain a path, found "${name}".`);
         }
@@ -125134,21 +121536,21 @@ var require_tmp = __commonJS({
       if (_isUndefined(name)) return cb(null);
       _resolvePath(name, tmpDir, function(err, resolvedPath) {
         if (err) return cb(err);
-        const relativePath = path29.relative(tmpDir, resolvedPath);
-        if (relativePath.startsWith("..") || path29.isAbsolute(relativePath)) {
-          return cb(new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath}".`));
+        const relativePath2 = path30.relative(tmpDir, resolvedPath);
+        if (relativePath2.startsWith("..") || path30.isAbsolute(relativePath2)) {
+          return cb(new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath2}".`));
         }
-        cb(null, relativePath);
+        cb(null, relativePath2);
       });
     }
     function _getRelativePathSync(option, name, tmpDir) {
       if (_isUndefined(name)) return;
       const resolvedPath = _resolvePathSync(name, tmpDir);
-      const relativePath = path29.relative(tmpDir, resolvedPath);
-      if (relativePath.startsWith("..") || path29.isAbsolute(relativePath)) {
-        throw new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath}".`);
+      const relativePath2 = path30.relative(tmpDir, resolvedPath);
+      if (relativePath2.startsWith("..") || path30.isAbsolute(relativePath2)) {
+        throw new Error(`${option} option must be relative to "${tmpDir}", found "${relativePath2}".`);
       }
-      return relativePath;
+      return relativePath2;
     }
     function _assertAndSanitizeOptions(options, cb) {
       _getTmpDir(options, function(err, tmpDir) {
@@ -125191,10 +121593,10 @@ var require_tmp = __commonJS({
       _gracefulCleanup = true;
     }
     function _getTmpDir(options, cb) {
-      return fs31.realpath(options && options.tmpdir || os7.tmpdir(), cb);
+      return fs32.realpath(options && options.tmpdir || os7.tmpdir(), cb);
     }
     function _getTmpDirSync(options) {
-      return fs31.realpathSync(options && options.tmpdir || os7.tmpdir());
+      return fs32.realpathSync(options && options.tmpdir || os7.tmpdir());
     }
     process.addListener(EXIT, _garbageCollector);
     Object.defineProperty(module2.exports, "tmpdir", {
@@ -125224,14 +121626,14 @@ var require_tmp_promise = __commonJS({
     var fileWithOptions = promisify(
       (options, cb) => tmp.file(
         options,
-        (err, path29, fd, cleanup) => err ? cb(err) : cb(void 0, { path: path29, fd, cleanup: promisify(cleanup) })
+        (err, path30, fd, cleanup) => err ? cb(err) : cb(void 0, { path: path30, fd, cleanup: promisify(cleanup) })
       )
     );
     module2.exports.file = async (options) => fileWithOptions(options);
     module2.exports.withFile = async function withFile(fn, options) {
-      const { path: path29, fd, cleanup } = await module2.exports.file(options);
+      const { path: path30, fd, cleanup } = await module2.exports.file(options);
       try {
-        return await fn({ path: path29, fd });
+        return await fn({ path: path30, fd });
       } finally {
         await cleanup();
       }
@@ -125240,14 +121642,14 @@ var require_tmp_promise = __commonJS({
     var dirWithOptions = promisify(
       (options, cb) => tmp.dir(
         options,
-        (err, path29, cleanup) => err ? cb(err) : cb(void 0, { path: path29, cleanup: promisify(cleanup) })
+        (err, path30, cleanup) => err ? cb(err) : cb(void 0, { path: path30, cleanup: promisify(cleanup) })
       )
     );
     module2.exports.dir = async (options) => dirWithOptions(options);
     module2.exports.withDir = async function withDir(fn, options) {
-      const { path: path29, cleanup } = await module2.exports.dir(options);
+      const { path: path30, cleanup } = await module2.exports.dir(options);
       try {
-        return await fn({ path: path29 });
+        return await fn({ path: path30 });
       } finally {
         await cleanup();
       }
@@ -125636,11 +122038,11 @@ var require_utils11 = __commonJS({
     "use strict";
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -125656,7 +122058,7 @@ var require_utils11 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -125668,7 +122070,7 @@ var require_utils11 = __commonJS({
     exports2.digestForStream = exports2.sleep = exports2.getProperRetention = exports2.rmFile = exports2.getFileSize = exports2.createEmptyFilesForArtifact = exports2.createDirectoriesForArtifact = exports2.displayHttpDiagnostics = exports2.getArtifactUrl = exports2.createHttpClient = exports2.getUploadHeaders = exports2.getDownloadHeaders = exports2.getContentRange = exports2.tryGetRetryAfterValueTimeInMilliseconds = exports2.isThrottledStatusCode = exports2.isRetryableStatusCode = exports2.isForbiddenStatusCode = exports2.isSuccessStatusCode = exports2.getApiVersion = exports2.parseEnvNumber = exports2.getExponentialRetryTimeInMilliseconds = void 0;
     var crypto_1 = __importDefault2(require("crypto"));
     var fs_1 = require("fs");
-    var core_1 = require_core4();
+    var core_1 = require_core3();
     var http_client_1 = require_lib5();
     var auth_1 = require_auth2();
     var config_variables_1 = require_config_variables();
@@ -125866,19 +122268,19 @@ Header Information: ${JSON.stringify(response.message.headers, void 0, 2)}
     exports2.getProperRetention = getProperRetention;
     function sleep(milliseconds) {
       return __awaiter2(this, void 0, void 0, function* () {
-        return new Promise((resolve13) => setTimeout(resolve13, milliseconds));
+        return new Promise((resolve14) => setTimeout(resolve14, milliseconds));
       });
     }
     exports2.sleep = sleep;
     function digestForStream(stream2) {
       return __awaiter2(this, void 0, void 0, function* () {
-        return new Promise((resolve13, reject) => {
+        return new Promise((resolve14, reject) => {
           const crc64 = new crc64_1.default();
           const md5 = crypto_1.default.createHash("md5");
           stream2.on("data", (data) => {
             crc64.update(data);
             md5.update(data);
-          }).on("end", () => resolve13({
+          }).on("end", () => resolve14({
             crc64: crc64.digest("base64"),
             md5: md5.digest("base64")
           })).on("error", reject);
@@ -125895,7 +122297,7 @@ var require_status_reporter = __commonJS({
     "use strict";
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.StatusReporter = void 0;
-    var core_1 = require_core4();
+    var core_1 = require_core3();
     var StatusReporter = class {
       constructor(displayFrequencyInMilliseconds) {
         this.totalNumberOfFilesToProcess = 0;
@@ -125950,18 +122352,18 @@ var require_http_manager = __commonJS({
         this.userAgent = userAgent2;
         this.clients = new Array(clientCount).fill((0, utils_1.createHttpClient)(userAgent2));
       }
-      getClient(index) {
-        return this.clients[index];
+      getClient(index2) {
+        return this.clients[index2];
       }
       // client disposal is necessary if a keep-alive connection is used to properly close the connection
       // for more information see: https://github.com/actions/http-client/blob/04e5ad73cd3fd1f5610a32116b0759eddf6570d2/index.ts#L292
-      disposeAndReplaceClient(index) {
-        this.clients[index].dispose();
-        this.clients[index] = (0, utils_1.createHttpClient)(this.userAgent);
+      disposeAndReplaceClient(index2) {
+        this.clients[index2].dispose();
+        this.clients[index2] = (0, utils_1.createHttpClient)(this.userAgent);
       }
       disposeAndReplaceAllClients() {
-        for (const [index] of this.clients.entries()) {
-          this.disposeAndReplaceClient(index);
+        for (const [index2] of this.clients.entries()) {
+          this.disposeAndReplaceClient(index2);
         }
       }
     };
@@ -126002,11 +122404,11 @@ var require_upload_gzip = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -126022,7 +122424,7 @@ var require_upload_gzip = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -126035,23 +122437,23 @@ var require_upload_gzip = __commonJS({
       }, i);
       function verb(n) {
         i[n] = o[n] && function(v) {
-          return new Promise(function(resolve13, reject) {
-            v = o[n](v), settle(resolve13, reject, v.done, v.value);
+          return new Promise(function(resolve14, reject) {
+            v = o[n](v), settle(resolve14, reject, v.done, v.value);
           });
         };
       }
-      function settle(resolve13, reject, d, v) {
+      function settle(resolve14, reject, d, v) {
         Promise.resolve(v).then(function(v2) {
-          resolve13({ value: v2, done: d });
+          resolve14({ value: v2, done: d });
         }, reject);
       }
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.createGZipFileInBuffer = exports2.createGZipFileOnDisk = void 0;
-    var fs31 = __importStar2(require("fs"));
+    var fs32 = __importStar2(require("fs"));
     var zlib3 = __importStar2(require("zlib"));
     var util_1 = require("util");
-    var stat = (0, util_1.promisify)(fs31.stat);
+    var stat2 = (0, util_1.promisify)(fs32.stat);
     var gzipExemptFileExtensions = [
       ".gz",
       ".gzip",
@@ -126083,14 +122485,14 @@ var require_upload_gzip = __commonJS({
             return Number.MAX_SAFE_INTEGER;
           }
         }
-        return new Promise((resolve13, reject) => {
-          const inputStream = fs31.createReadStream(originalFilePath);
+        return new Promise((resolve14, reject) => {
+          const inputStream = fs32.createReadStream(originalFilePath);
           const gzip = zlib3.createGzip();
-          const outputStream = fs31.createWriteStream(tempFilePath);
+          const outputStream = fs32.createWriteStream(tempFilePath);
           inputStream.pipe(gzip).pipe(outputStream);
           outputStream.on("finish", () => __awaiter2(this, void 0, void 0, function* () {
-            const size = (yield stat(tempFilePath)).size;
-            resolve13(size);
+            const size = (yield stat2(tempFilePath)).size;
+            resolve14(size);
           }));
           outputStream.on("error", (error3) => {
             console.log(error3);
@@ -126102,14 +122504,14 @@ var require_upload_gzip = __commonJS({
     exports2.createGZipFileOnDisk = createGZipFileOnDisk;
     function createGZipFileInBuffer(originalFilePath) {
       return __awaiter2(this, void 0, void 0, function* () {
-        return new Promise((resolve13) => __awaiter2(this, void 0, void 0, function* () {
-          var _a, e_1, _b, _c;
-          const inputStream = fs31.createReadStream(originalFilePath);
+        return new Promise((resolve14) => __awaiter2(this, void 0, void 0, function* () {
+          var _a2, e_1, _b, _c;
+          const inputStream = fs32.createReadStream(originalFilePath);
           const gzip = zlib3.createGzip();
           inputStream.pipe(gzip);
           const chunks = [];
           try {
-            for (var _d = true, gzip_1 = __asyncValues2(gzip), gzip_1_1; gzip_1_1 = yield gzip_1.next(), _a = gzip_1_1.done, !_a; ) {
+            for (var _d = true, gzip_1 = __asyncValues2(gzip), gzip_1_1; gzip_1_1 = yield gzip_1.next(), _a2 = gzip_1_1.done, !_a2; ) {
               _c = gzip_1_1.value;
               _d = false;
               try {
@@ -126123,12 +122525,12 @@ var require_upload_gzip = __commonJS({
             e_1 = { error: e_1_1 };
           } finally {
             try {
-              if (!_d && !_a && (_b = gzip_1.return)) yield _b.call(gzip_1);
+              if (!_d && !_a2 && (_b = gzip_1.return)) yield _b.call(gzip_1);
             } finally {
               if (e_1) throw e_1.error;
             }
           }
-          resolve13(Buffer.concat(chunks));
+          resolve14(Buffer.concat(chunks));
         }));
       });
     }
@@ -126169,11 +122571,11 @@ var require_requestUtils2 = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -126189,7 +122591,7 @@ var require_requestUtils2 = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
@@ -126197,7 +122599,7 @@ var require_requestUtils2 = __commonJS({
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.retryHttpClientRequest = exports2.retry = void 0;
     var utils_1 = require_utils11();
-    var core30 = __importStar2(require_core4());
+    var core31 = __importStar2(require_core3());
     var config_variables_1 = require_config_variables();
     function retry2(name, operation, customErrorMessages, maxAttempts) {
       return __awaiter2(this, void 0, void 0, function* () {
@@ -126224,13 +122626,13 @@ var require_requestUtils2 = __commonJS({
             errorMessage = error3.message;
           }
           if (!isRetryable) {
-            core30.info(`${name} - Error is not retryable`);
+            core31.info(`${name} - Error is not retryable`);
             if (response) {
               (0, utils_1.displayHttpDiagnostics)(response);
             }
             break;
           }
-          core30.info(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
+          core31.info(`${name} - Attempt ${attempt} of ${maxAttempts} failed with error: ${errorMessage}`);
           yield (0, utils_1.sleep)((0, utils_1.getExponentialRetryTimeInMilliseconds)(attempt));
           attempt++;
         }
@@ -126286,11 +122688,11 @@ var require_upload_http_client = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -126306,15 +122708,15 @@ var require_upload_http_client = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.UploadHttpClient = void 0;
-    var fs31 = __importStar2(require("fs"));
-    var core30 = __importStar2(require_core4());
+    var fs32 = __importStar2(require("fs"));
+    var core31 = __importStar2(require_core3());
     var tmp = __importStar2(require_tmp_promise());
     var stream2 = __importStar2(require("stream"));
     var utils_1 = require_utils11();
@@ -126327,7 +122729,7 @@ var require_upload_http_client = __commonJS({
     var http_manager_1 = require_http_manager();
     var upload_gzip_1 = require_upload_gzip();
     var requestUtils_1 = require_requestUtils2();
-    var stat = (0, util_1.promisify)(fs31.stat);
+    var stat2 = (0, util_1.promisify)(fs32.stat);
     var UploadHttpClient = class {
       constructor() {
         this.uploadHttpManager = new http_manager_1.HttpManager((0, config_variables_1.getUploadFileConcurrency)(), "@actions/artifact-upload");
@@ -126379,7 +122781,7 @@ var require_upload_http_client = __commonJS({
         return __awaiter2(this, void 0, void 0, function* () {
           const FILE_CONCURRENCY = (0, config_variables_1.getUploadFileConcurrency)();
           const MAX_CHUNK_SIZE = (0, config_variables_1.getUploadChunkSize)();
-          core30.debug(`File Concurrency: ${FILE_CONCURRENCY}, and Chunk Size: ${MAX_CHUNK_SIZE}`);
+          core31.debug(`File Concurrency: ${FILE_CONCURRENCY}, and Chunk Size: ${MAX_CHUNK_SIZE}`);
           const parameters = [];
           let continueOnError = true;
           if (options) {
@@ -126406,7 +122808,7 @@ var require_upload_http_client = __commonJS({
           let abortPendingFileUploads = false;
           this.statusReporter.setTotalNumberOfFilesToProcess(filesToUpload.length);
           this.statusReporter.start();
-          yield Promise.all(parallelUploads.map((index) => __awaiter2(this, void 0, void 0, function* () {
+          yield Promise.all(parallelUploads.map((index2) => __awaiter2(this, void 0, void 0, function* () {
             while (currentFile < filesToUpload.length) {
               const currentFileParameters = parameters[currentFile];
               currentFile += 1;
@@ -126415,16 +122817,16 @@ var require_upload_http_client = __commonJS({
                 continue;
               }
               const startTime = perf_hooks_1.performance.now();
-              const uploadFileResult = yield this.uploadFileAsync(index, currentFileParameters);
-              if (core30.isDebug()) {
-                core30.debug(`File: ${++completedFiles}/${filesToUpload.length}. ${currentFileParameters.file} took ${(perf_hooks_1.performance.now() - startTime).toFixed(3)} milliseconds to finish upload`);
+              const uploadFileResult = yield this.uploadFileAsync(index2, currentFileParameters);
+              if (core31.isDebug()) {
+                core31.debug(`File: ${++completedFiles}/${filesToUpload.length}. ${currentFileParameters.file} took ${(perf_hooks_1.performance.now() - startTime).toFixed(3)} milliseconds to finish upload`);
               }
               uploadFileSize += uploadFileResult.successfulUploadSize;
               totalFileSize += uploadFileResult.totalSize;
               if (uploadFileResult.isSuccess === false) {
                 failedItemsToReport.push(currentFileParameters.file);
                 if (!continueOnError) {
-                  core30.error(`aborting artifact upload`);
+                  core31.error(`aborting artifact upload`);
                   abortPendingFileUploads = true;
                 }
               }
@@ -126433,7 +122835,7 @@ var require_upload_http_client = __commonJS({
           })));
           this.statusReporter.stop();
           this.uploadHttpManager.disposeAndReplaceAllClients();
-          core30.info(`Total size of all the files uploaded is ${uploadFileSize} bytes`);
+          core31.info(`Total size of all the files uploaded is ${uploadFileSize} bytes`);
           return {
             uploadSize: uploadFileSize,
             totalSize: totalFileSize,
@@ -126450,7 +122852,7 @@ var require_upload_http_client = __commonJS({
        */
       uploadFileAsync(httpClientIndex, parameters) {
         return __awaiter2(this, void 0, void 0, function* () {
-          const fileStat = yield stat(parameters.file);
+          const fileStat = yield stat2(parameters.file);
           const totalFileSize = fileStat.size;
           const isFIFO = fileStat.isFIFO();
           let offset = 0;
@@ -126459,16 +122861,16 @@ var require_upload_http_client = __commonJS({
           let uploadFileSize = 0;
           let isGzip = true;
           if (!isFIFO && totalFileSize < 65536) {
-            core30.debug(`${parameters.file} is less than 64k in size. Creating a gzip file in-memory to potentially reduce the upload size`);
+            core31.debug(`${parameters.file} is less than 64k in size. Creating a gzip file in-memory to potentially reduce the upload size`);
             const buffer = yield (0, upload_gzip_1.createGZipFileInBuffer)(parameters.file);
             let openUploadStream;
             if (totalFileSize < buffer.byteLength) {
-              core30.debug(`The gzip file created for ${parameters.file} did not help with reducing the size of the file. The original file will be uploaded as-is`);
-              openUploadStream = () => fs31.createReadStream(parameters.file);
+              core31.debug(`The gzip file created for ${parameters.file} did not help with reducing the size of the file. The original file will be uploaded as-is`);
+              openUploadStream = () => fs32.createReadStream(parameters.file);
               isGzip = false;
               uploadFileSize = totalFileSize;
             } else {
-              core30.debug(`A gzip file created for ${parameters.file} helped with reducing the size of the original file. The file will be uploaded using gzip.`);
+              core31.debug(`A gzip file created for ${parameters.file} helped with reducing the size of the original file. The file will be uploaded using gzip.`);
               openUploadStream = () => {
                 const passThrough = new stream2.PassThrough();
                 passThrough.end(buffer);
@@ -126480,7 +122882,7 @@ var require_upload_http_client = __commonJS({
             if (!result) {
               isUploadSuccessful = false;
               failedChunkSizes += uploadFileSize;
-              core30.warning(`Aborting upload for ${parameters.file} due to failure`);
+              core31.warning(`Aborting upload for ${parameters.file} due to failure`);
             }
             return {
               isSuccess: isUploadSuccessful,
@@ -126489,16 +122891,16 @@ var require_upload_http_client = __commonJS({
             };
           } else {
             const tempFile = yield tmp.file();
-            core30.debug(`${parameters.file} is greater than 64k in size. Creating a gzip file on-disk ${tempFile.path} to potentially reduce the upload size`);
+            core31.debug(`${parameters.file} is greater than 64k in size. Creating a gzip file on-disk ${tempFile.path} to potentially reduce the upload size`);
             uploadFileSize = yield (0, upload_gzip_1.createGZipFileOnDisk)(parameters.file, tempFile.path);
             let uploadFilePath = tempFile.path;
             if (!isFIFO && totalFileSize < uploadFileSize) {
-              core30.debug(`The gzip file created for ${parameters.file} did not help with reducing the size of the file. The original file will be uploaded as-is`);
+              core31.debug(`The gzip file created for ${parameters.file} did not help with reducing the size of the file. The original file will be uploaded as-is`);
               uploadFileSize = totalFileSize;
               uploadFilePath = parameters.file;
               isGzip = false;
             } else {
-              core30.debug(`The gzip file created for ${parameters.file} is smaller than the original file. The file will be uploaded using gzip.`);
+              core31.debug(`The gzip file created for ${parameters.file} is smaller than the original file. The file will be uploaded using gzip.`);
             }
             let abortFileUpload = false;
             while (offset < uploadFileSize) {
@@ -126510,7 +122912,7 @@ var require_upload_http_client = __commonJS({
                 failedChunkSizes += chunkSize;
                 continue;
               }
-              const result = yield this.uploadChunk(httpClientIndex, parameters.resourceUrl, () => fs31.createReadStream(uploadFilePath, {
+              const result = yield this.uploadChunk(httpClientIndex, parameters.resourceUrl, () => fs32.createReadStream(uploadFilePath, {
                 start: startChunkIndex,
                 end: endChunkIndex,
                 autoClose: false
@@ -126518,7 +122920,7 @@ var require_upload_http_client = __commonJS({
               if (!result) {
                 isUploadSuccessful = false;
                 failedChunkSizes += chunkSize;
-                core30.warning(`Aborting upload for ${parameters.file} due to failure`);
+                core31.warning(`Aborting upload for ${parameters.file} due to failure`);
                 abortFileUpload = true;
               } else {
                 if (uploadFileSize > 8388608) {
@@ -126526,7 +122928,7 @@ var require_upload_http_client = __commonJS({
                 }
               }
             }
-            core30.debug(`deleting temporary gzip file ${tempFile.path}`);
+            core31.debug(`deleting temporary gzip file ${tempFile.path}`);
             yield tempFile.cleanup();
             return {
               isSuccess: isUploadSuccessful,
@@ -126565,7 +122967,7 @@ var require_upload_http_client = __commonJS({
               if (response) {
                 (0, utils_1.displayHttpDiagnostics)(response);
               }
-              core30.info(`Retry limit has been reached for chunk at offset ${start} to ${resourceUrl}`);
+              core31.info(`Retry limit has been reached for chunk at offset ${start} to ${resourceUrl}`);
               return true;
             }
             return false;
@@ -126573,14 +122975,14 @@ var require_upload_http_client = __commonJS({
           const backOff = (retryAfterValue) => __awaiter2(this, void 0, void 0, function* () {
             this.uploadHttpManager.disposeAndReplaceClient(httpClientIndex);
             if (retryAfterValue) {
-              core30.info(`Backoff due to too many requests, retry #${retryCount}. Waiting for ${retryAfterValue} milliseconds before continuing the upload`);
+              core31.info(`Backoff due to too many requests, retry #${retryCount}. Waiting for ${retryAfterValue} milliseconds before continuing the upload`);
               yield (0, utils_1.sleep)(retryAfterValue);
             } else {
               const backoffTime = (0, utils_1.getExponentialRetryTimeInMilliseconds)(retryCount);
-              core30.info(`Exponential backoff for retry #${retryCount}. Waiting for ${backoffTime} milliseconds before continuing the upload at offset ${start}`);
+              core31.info(`Exponential backoff for retry #${retryCount}. Waiting for ${backoffTime} milliseconds before continuing the upload at offset ${start}`);
               yield (0, utils_1.sleep)(backoffTime);
             }
-            core30.info(`Finished backoff for retry #${retryCount}, continuing with upload`);
+            core31.info(`Finished backoff for retry #${retryCount}, continuing with upload`);
             return;
           });
           while (retryCount <= retryLimit) {
@@ -126588,7 +122990,7 @@ var require_upload_http_client = __commonJS({
             try {
               response = yield uploadChunkRequest();
             } catch (error3) {
-              core30.info(`An error has been caught http-client index ${httpClientIndex}, retrying the upload`);
+              core31.info(`An error has been caught http-client index ${httpClientIndex}, retrying the upload`);
               console.log(error3);
               if (incrementAndCheckRetryLimit()) {
                 return false;
@@ -126600,13 +123002,13 @@ var require_upload_http_client = __commonJS({
             if ((0, utils_1.isSuccessStatusCode)(response.message.statusCode)) {
               return true;
             } else if ((0, utils_1.isRetryableStatusCode)(response.message.statusCode)) {
-              core30.info(`A ${response.message.statusCode} status code has been received, will attempt to retry the upload`);
+              core31.info(`A ${response.message.statusCode} status code has been received, will attempt to retry the upload`);
               if (incrementAndCheckRetryLimit(response)) {
                 return false;
               }
               (0, utils_1.isThrottledStatusCode)(response.message.statusCode) ? yield backOff((0, utils_1.tryGetRetryAfterValueTimeInMilliseconds)(response.message.headers)) : yield backOff();
             } else {
-              core30.error(`Unexpected response. Unable to upload chunk to ${resourceUrl}`);
+              core31.error(`Unexpected response. Unable to upload chunk to ${resourceUrl}`);
               (0, utils_1.displayHttpDiagnostics)(response);
               return false;
             }
@@ -126624,7 +123026,7 @@ var require_upload_http_client = __commonJS({
           resourceUrl.searchParams.append("artifactName", artifactName);
           const parameters = { Size: size };
           const data = JSON.stringify(parameters, null, 2);
-          core30.debug(`URL is ${resourceUrl.toString()}`);
+          core31.debug(`URL is ${resourceUrl.toString()}`);
           const client = this.uploadHttpManager.getClient(0);
           const headers = (0, utils_1.getUploadHeaders)("application/json", false);
           const customErrorMessages = /* @__PURE__ */ new Map([
@@ -126637,7 +123039,7 @@ var require_upload_http_client = __commonJS({
             return client.patch(resourceUrl.toString(), data, headers);
           }), customErrorMessages);
           yield response.readBody();
-          core30.debug(`Artifact ${artifactName} has been successfully uploaded, total size in bytes: ${size}`);
+          core31.debug(`Artifact ${artifactName} has been successfully uploaded, total size in bytes: ${size}`);
         });
       }
     };
@@ -126678,11 +123080,11 @@ var require_download_http_client = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -126698,15 +123100,15 @@ var require_download_http_client = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.DownloadHttpClient = void 0;
-    var fs31 = __importStar2(require("fs"));
-    var core30 = __importStar2(require_core4());
+    var fs32 = __importStar2(require("fs"));
+    var core31 = __importStar2(require_core3());
     var zlib3 = __importStar2(require("zlib"));
     var utils_1 = require_utils11();
     var url_1 = require("url");
@@ -126760,21 +123162,21 @@ var require_download_http_client = __commonJS({
       downloadSingleArtifact(downloadItems) {
         return __awaiter2(this, void 0, void 0, function* () {
           const DOWNLOAD_CONCURRENCY = (0, config_variables_1.getDownloadFileConcurrency)();
-          core30.debug(`Download file concurrency is set to ${DOWNLOAD_CONCURRENCY}`);
+          core31.debug(`Download file concurrency is set to ${DOWNLOAD_CONCURRENCY}`);
           const parallelDownloads = [...new Array(DOWNLOAD_CONCURRENCY).keys()];
           let currentFile = 0;
           let downloadedFiles = 0;
-          core30.info(`Total number of files that will be downloaded: ${downloadItems.length}`);
+          core31.info(`Total number of files that will be downloaded: ${downloadItems.length}`);
           this.statusReporter.setTotalNumberOfFilesToProcess(downloadItems.length);
           this.statusReporter.start();
-          yield Promise.all(parallelDownloads.map((index) => __awaiter2(this, void 0, void 0, function* () {
+          yield Promise.all(parallelDownloads.map((index2) => __awaiter2(this, void 0, void 0, function* () {
             while (currentFile < downloadItems.length) {
               const currentFileToDownload = downloadItems[currentFile];
               currentFile += 1;
               const startTime = perf_hooks_1.performance.now();
-              yield this.downloadIndividualFile(index, currentFileToDownload.sourceLocation, currentFileToDownload.targetPath);
-              if (core30.isDebug()) {
-                core30.debug(`File: ${++downloadedFiles}/${downloadItems.length}. ${currentFileToDownload.targetPath} took ${(perf_hooks_1.performance.now() - startTime).toFixed(3)} milliseconds to finish downloading`);
+              yield this.downloadIndividualFile(index2, currentFileToDownload.sourceLocation, currentFileToDownload.targetPath);
+              if (core31.isDebug()) {
+                core31.debug(`File: ${++downloadedFiles}/${downloadItems.length}. ${currentFileToDownload.targetPath} took ${(perf_hooks_1.performance.now() - startTime).toFixed(3)} milliseconds to finish downloading`);
               }
               this.statusReporter.incrementProcessedCount();
             }
@@ -126796,7 +123198,7 @@ var require_download_http_client = __commonJS({
         return __awaiter2(this, void 0, void 0, function* () {
           let retryCount = 0;
           const retryLimit = (0, config_variables_1.getRetryLimit)();
-          let destinationStream = fs31.createWriteStream(downloadPath);
+          let destinationStream = fs32.createWriteStream(downloadPath);
           const headers = (0, utils_1.getDownloadHeaders)("application/json", true, true);
           const makeDownloadRequest = () => __awaiter2(this, void 0, void 0, function* () {
             const client = this.downloadHttpManager.getClient(httpClientIndex);
@@ -126812,40 +123214,40 @@ var require_download_http_client = __commonJS({
             } else {
               this.downloadHttpManager.disposeAndReplaceClient(httpClientIndex);
               if (retryAfterValue) {
-                core30.info(`Backoff due to too many requests, retry #${retryCount}. Waiting for ${retryAfterValue} milliseconds before continuing the download`);
+                core31.info(`Backoff due to too many requests, retry #${retryCount}. Waiting for ${retryAfterValue} milliseconds before continuing the download`);
                 yield (0, utils_1.sleep)(retryAfterValue);
               } else {
                 const backoffTime = (0, utils_1.getExponentialRetryTimeInMilliseconds)(retryCount);
-                core30.info(`Exponential backoff for retry #${retryCount}. Waiting for ${backoffTime} milliseconds before continuing the download`);
+                core31.info(`Exponential backoff for retry #${retryCount}. Waiting for ${backoffTime} milliseconds before continuing the download`);
                 yield (0, utils_1.sleep)(backoffTime);
               }
-              core30.info(`Finished backoff for retry #${retryCount}, continuing with download`);
+              core31.info(`Finished backoff for retry #${retryCount}, continuing with download`);
             }
           });
           const isAllBytesReceived = (expected, received) => {
             if (!expected || !received || process.env["ACTIONS_ARTIFACT_SKIP_DOWNLOAD_VALIDATION"]) {
-              core30.info("Skipping download validation.");
+              core31.info("Skipping download validation.");
               return true;
             }
             return parseInt(expected) === received;
           };
           const resetDestinationStream = (fileDownloadPath) => __awaiter2(this, void 0, void 0, function* () {
             destinationStream.close();
-            yield new Promise((resolve13) => {
-              destinationStream.on("close", resolve13);
+            yield new Promise((resolve14) => {
+              destinationStream.on("close", resolve14);
               if (destinationStream.writableFinished) {
-                resolve13();
+                resolve14();
               }
             });
             yield (0, utils_1.rmFile)(fileDownloadPath);
-            destinationStream = fs31.createWriteStream(fileDownloadPath);
+            destinationStream = fs32.createWriteStream(fileDownloadPath);
           });
           while (retryCount <= retryLimit) {
             let response;
             try {
               response = yield makeDownloadRequest();
             } catch (error3) {
-              core30.info("An error occurred while attempting to download a file");
+              core31.info("An error occurred while attempting to download a file");
               console.log(error3);
               yield backOff();
               continue;
@@ -126865,7 +123267,7 @@ var require_download_http_client = __commonJS({
               }
             }
             if (forceRetry || (0, utils_1.isRetryableStatusCode)(response.message.statusCode)) {
-              core30.info(`A ${response.message.statusCode} response code has been received while attempting to download an artifact`);
+              core31.info(`A ${response.message.statusCode} response code has been received while attempting to download an artifact`);
               resetDestinationStream(downloadPath);
               (0, utils_1.isThrottledStatusCode)(response.message.statusCode) ? yield backOff((0, utils_1.tryGetRetryAfterValueTimeInMilliseconds)(response.message.headers)) : yield backOff();
             } else {
@@ -126883,33 +123285,33 @@ var require_download_http_client = __commonJS({
        */
       pipeResponseToFile(response, destinationStream, isGzip) {
         return __awaiter2(this, void 0, void 0, function* () {
-          yield new Promise((resolve13, reject) => {
+          yield new Promise((resolve14, reject) => {
             if (isGzip) {
               const gunzip = zlib3.createGunzip();
               response.message.on("error", (error3) => {
-                core30.info(`An error occurred while attempting to read the response stream`);
+                core31.info(`An error occurred while attempting to read the response stream`);
                 gunzip.close();
                 destinationStream.close();
                 reject(error3);
               }).pipe(gunzip).on("error", (error3) => {
-                core30.info(`An error occurred while attempting to decompress the response stream`);
+                core31.info(`An error occurred while attempting to decompress the response stream`);
                 destinationStream.close();
                 reject(error3);
               }).pipe(destinationStream).on("close", () => {
-                resolve13();
+                resolve14();
               }).on("error", (error3) => {
-                core30.info(`An error occurred while writing a downloaded file to ${destinationStream.path}`);
+                core31.info(`An error occurred while writing a downloaded file to ${destinationStream.path}`);
                 reject(error3);
               });
             } else {
               response.message.on("error", (error3) => {
-                core30.info(`An error occurred while attempting to read the response stream`);
+                core31.info(`An error occurred while attempting to read the response stream`);
                 destinationStream.close();
                 reject(error3);
               }).pipe(destinationStream).on("close", () => {
-                resolve13();
+                resolve14();
               }).on("error", (error3) => {
-                core30.info(`An error occurred while writing a downloaded file to ${destinationStream.path}`);
+                core31.info(`An error occurred while writing a downloaded file to ${destinationStream.path}`);
                 reject(error3);
               });
             }
@@ -126955,21 +123357,21 @@ var require_download_specification = __commonJS({
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.getDownloadSpecification = void 0;
-    var path29 = __importStar2(require("path"));
+    var path30 = __importStar2(require("path"));
     function getDownloadSpecification(artifactName, artifactEntries, downloadPath, includeRootDirectory) {
       const directories = /* @__PURE__ */ new Set();
       const specifications = {
-        rootDownloadLocation: includeRootDirectory ? path29.join(downloadPath, artifactName) : downloadPath,
+        rootDownloadLocation: includeRootDirectory ? path30.join(downloadPath, artifactName) : downloadPath,
         directoryStructure: [],
         emptyFilesToCreate: [],
         filesToDownload: []
       };
       for (const entry of artifactEntries) {
         if (entry.path.startsWith(`${artifactName}/`) || entry.path.startsWith(`${artifactName}\\`)) {
-          const normalizedPathEntry = path29.normalize(entry.path);
-          const filePath = path29.join(downloadPath, includeRootDirectory ? normalizedPathEntry : normalizedPathEntry.replace(artifactName, ""));
+          const normalizedPathEntry = path30.normalize(entry.path);
+          const filePath = path30.join(downloadPath, includeRootDirectory ? normalizedPathEntry : normalizedPathEntry.replace(artifactName, ""));
           if (entry.itemType === "file") {
-            directories.add(path29.dirname(filePath));
+            directories.add(path30.dirname(filePath));
             if (entry.fileLength === 0) {
               specifications.emptyFilesToCreate.push(filePath);
             } else {
@@ -127021,11 +123423,11 @@ var require_artifact_client = __commonJS({
     };
     var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
       function adopt(value) {
-        return value instanceof P ? value : new P(function(resolve13) {
-          resolve13(value);
+        return value instanceof P ? value : new P(function(resolve14) {
+          resolve14(value);
         });
       }
-      return new (P || (P = Promise))(function(resolve13, reject) {
+      return new (P || (P = Promise))(function(resolve14, reject) {
         function fulfilled(value) {
           try {
             step(generator.next(value));
@@ -127041,14 +123443,14 @@ var require_artifact_client = __commonJS({
           }
         }
         function step(result) {
-          result.done ? resolve13(result.value) : adopt(result.value).then(fulfilled, rejected);
+          result.done ? resolve14(result.value) : adopt(result.value).then(fulfilled, rejected);
         }
         step((generator = generator.apply(thisArg, _arguments || [])).next());
       });
     };
     Object.defineProperty(exports2, "__esModule", { value: true });
     exports2.DefaultArtifactClient = void 0;
-    var core30 = __importStar2(require_core4());
+    var core31 = __importStar2(require_core3());
     var upload_specification_1 = require_upload_specification();
     var upload_http_client_1 = require_upload_http_client();
     var utils_1 = require_utils11();
@@ -127069,7 +123471,7 @@ var require_artifact_client = __commonJS({
        */
       uploadArtifact(name, files, rootDirectory, options) {
         return __awaiter2(this, void 0, void 0, function* () {
-          core30.info(`Starting artifact upload
+          core31.info(`Starting artifact upload
 For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging`);
           (0, path_and_artifact_name_validation_1.checkArtifactName)(name);
           const uploadSpecification = (0, upload_specification_1.getUploadSpecification)(name, rootDirectory, files);
@@ -127081,24 +123483,24 @@ For more detailed logs during the artifact upload process, enable step-debugging
           };
           const uploadHttpClient = new upload_http_client_1.UploadHttpClient();
           if (uploadSpecification.length === 0) {
-            core30.warning(`No files found that can be uploaded`);
+            core31.warning(`No files found that can be uploaded`);
           } else {
             const response = yield uploadHttpClient.createArtifactInFileContainer(name, options);
             if (!response.fileContainerResourceUrl) {
-              core30.debug(response.toString());
+              core31.debug(response.toString());
               throw new Error("No URL provided by the Artifact Service to upload an artifact to");
             }
-            core30.debug(`Upload Resource URL: ${response.fileContainerResourceUrl}`);
-            core30.info(`Container for artifact "${name}" successfully created. Starting upload of file(s)`);
+            core31.debug(`Upload Resource URL: ${response.fileContainerResourceUrl}`);
+            core31.info(`Container for artifact "${name}" successfully created. Starting upload of file(s)`);
             const uploadResult = yield uploadHttpClient.uploadArtifactToFileContainer(response.fileContainerResourceUrl, uploadSpecification, options);
-            core30.info(`File upload process has finished. Finalizing the artifact upload`);
+            core31.info(`File upload process has finished. Finalizing the artifact upload`);
             yield uploadHttpClient.patchArtifactSize(uploadResult.totalSize, name);
             if (uploadResult.failedItems.length > 0) {
-              core30.info(`Upload finished. There were ${uploadResult.failedItems.length} items that failed to upload`);
+              core31.info(`Upload finished. There were ${uploadResult.failedItems.length} items that failed to upload`);
             } else {
-              core30.info(`Artifact has been finalized. All files have been successfully uploaded!`);
+              core31.info(`Artifact has been finalized. All files have been successfully uploaded!`);
             }
-            core30.info(`
+            core31.info(`
 The raw size of all the files that were specified for upload is ${uploadResult.totalSize} bytes
 The size of all the files that were uploaded is ${uploadResult.uploadSize} bytes. This takes into account any gzip compression used to reduce the upload size, time and storage
 
@@ -127111,7 +123513,7 @@ Note: The size of downloaded zips can differ significantly from the reported siz
           return uploadResponse;
         });
       }
-      downloadArtifact(name, path29, options) {
+      downloadArtifact(name, path30, options) {
         return __awaiter2(this, void 0, void 0, function* () {
           const downloadHttpClient = new download_http_client_1.DownloadHttpClient();
           const artifacts = yield downloadHttpClient.listArtifacts();
@@ -127125,17 +123527,17 @@ Note: The size of downloaded zips can differ significantly from the reported siz
             throw new Error(`Unable to find an artifact with the name: ${name}`);
           }
           const items = yield downloadHttpClient.getContainerItems(artifactToDownload.name, artifactToDownload.fileContainerResourceUrl);
-          if (!path29) {
-            path29 = (0, config_variables_1.getWorkSpaceDirectory)();
+          if (!path30) {
+            path30 = (0, config_variables_1.getWorkSpaceDirectory)();
           }
-          path29 = (0, path_1.normalize)(path29);
-          path29 = (0, path_1.resolve)(path29);
-          const downloadSpecification = (0, download_specification_1.getDownloadSpecification)(name, items.value, path29, (options === null || options === void 0 ? void 0 : options.createArtifactFolder) || false);
+          path30 = (0, path_1.normalize)(path30);
+          path30 = (0, path_1.resolve)(path30);
+          const downloadSpecification = (0, download_specification_1.getDownloadSpecification)(name, items.value, path30, (options === null || options === void 0 ? void 0 : options.createArtifactFolder) || false);
           if (downloadSpecification.filesToDownload.length === 0) {
-            core30.info(`No downloadable files were found for the artifact: ${artifactToDownload.name}`);
+            core31.info(`No downloadable files were found for the artifact: ${artifactToDownload.name}`);
           } else {
             yield (0, utils_1.createDirectoriesForArtifact)(downloadSpecification.directoryStructure);
-            core30.info("Directory structure has been set up for the artifact");
+            core31.info("Directory structure has been set up for the artifact");
             yield (0, utils_1.createEmptyFilesForArtifact)(downloadSpecification.emptyFilesToCreate);
             yield downloadHttpClient.downloadSingleArtifact(downloadSpecification.filesToDownload);
           }
@@ -127145,29 +123547,29 @@ Note: The size of downloaded zips can differ significantly from the reported siz
           };
         });
       }
-      downloadAllArtifacts(path29) {
+      downloadAllArtifacts(path30) {
         return __awaiter2(this, void 0, void 0, function* () {
           const downloadHttpClient = new download_http_client_1.DownloadHttpClient();
           const response = [];
           const artifacts = yield downloadHttpClient.listArtifacts();
           if (artifacts.count === 0) {
-            core30.info("Unable to find any artifacts for the associated workflow");
+            core31.info("Unable to find any artifacts for the associated workflow");
             return response;
           }
-          if (!path29) {
-            path29 = (0, config_variables_1.getWorkSpaceDirectory)();
+          if (!path30) {
+            path30 = (0, config_variables_1.getWorkSpaceDirectory)();
           }
-          path29 = (0, path_1.normalize)(path29);
-          path29 = (0, path_1.resolve)(path29);
+          path30 = (0, path_1.normalize)(path30);
+          path30 = (0, path_1.resolve)(path30);
           let downloadedArtifacts = 0;
           while (downloadedArtifacts < artifacts.count) {
             const currentArtifactToDownload = artifacts.value[downloadedArtifacts];
             downloadedArtifacts += 1;
-            core30.info(`starting download of artifact ${currentArtifactToDownload.name} : ${downloadedArtifacts}/${artifacts.count}`);
+            core31.info(`starting download of artifact ${currentArtifactToDownload.name} : ${downloadedArtifacts}/${artifacts.count}`);
             const items = yield downloadHttpClient.getContainerItems(currentArtifactToDownload.name, currentArtifactToDownload.fileContainerResourceUrl);
-            const downloadSpecification = (0, download_specification_1.getDownloadSpecification)(currentArtifactToDownload.name, items.value, path29, true);
+            const downloadSpecification = (0, download_specification_1.getDownloadSpecification)(currentArtifactToDownload.name, items.value, path30, true);
             if (downloadSpecification.filesToDownload.length === 0) {
-              core30.info(`No downloadable files were found for any artifact ${currentArtifactToDownload.name}`);
+              core31.info(`No downloadable files were found for any artifact ${currentArtifactToDownload.name}`);
             } else {
               yield (0, utils_1.createDirectoriesForArtifact)(downloadSpecification.directoryStructure);
               yield (0, utils_1.createEmptyFilesForArtifact)(downloadSpecification.emptyFilesToCreate);
@@ -127331,27 +123733,27 @@ var require_util16 = __commonJS({
   "node_modules/node-forge/lib/util.js"(exports2, module2) {
     var forge = require_forge();
     var baseN = require_baseN();
-    var util = module2.exports = forge.util = forge.util || {};
+    var util3 = module2.exports = forge.util = forge.util || {};
     (function() {
       if (typeof process !== "undefined" && process.nextTick && !process.browser) {
-        util.nextTick = process.nextTick;
+        util3.nextTick = process.nextTick;
         if (typeof setImmediate === "function") {
-          util.setImmediate = setImmediate;
+          util3.setImmediate = setImmediate;
         } else {
-          util.setImmediate = util.nextTick;
+          util3.setImmediate = util3.nextTick;
         }
         return;
       }
       if (typeof setImmediate === "function") {
-        util.setImmediate = function() {
+        util3.setImmediate = function() {
           return setImmediate.apply(void 0, arguments);
         };
-        util.nextTick = function(callback) {
+        util3.nextTick = function(callback) {
           return setImmediate(callback);
         };
         return;
       }
-      util.setImmediate = function(callback) {
+      util3.setImmediate = function(callback) {
         setTimeout(callback, 0);
       };
       if (typeof window !== "undefined" && typeof window.postMessage === "function") {
@@ -127368,7 +123770,7 @@ var require_util16 = __commonJS({
         var handler2 = handler3;
         var msg = "forge.setImmediate";
         var callbacks = [];
-        util.setImmediate = function(callback) {
+        util3.setImmediate = function(callback) {
           callbacks.push(callback);
           if (callbacks.length === 1) {
             window.postMessage(msg, "*");
@@ -127388,8 +123790,8 @@ var require_util16 = __commonJS({
             callback();
           });
         }).observe(div, { attributes: true });
-        var oldSetImmediate = util.setImmediate;
-        util.setImmediate = function(callback) {
+        var oldSetImmediate = util3.setImmediate;
+        util3.setImmediate = function(callback) {
           if (Date.now() - now > 15) {
             now = Date.now();
             oldSetImmediate(callback);
@@ -127401,36 +123803,36 @@ var require_util16 = __commonJS({
           }
         };
       }
-      util.nextTick = util.setImmediate;
+      util3.nextTick = util3.setImmediate;
     })();
-    util.isNodejs = typeof process !== "undefined" && process.versions && process.versions.node;
-    util.globalScope = (function() {
-      if (util.isNodejs) {
+    util3.isNodejs = typeof process !== "undefined" && process.versions && process.versions.node;
+    util3.globalScope = (function() {
+      if (util3.isNodejs) {
         return global;
       }
       return typeof self === "undefined" ? window : self;
     })();
-    util.isArray = Array.isArray || function(x) {
+    util3.isArray = Array.isArray || function(x) {
       return Object.prototype.toString.call(x) === "[object Array]";
     };
-    util.isArrayBuffer = function(x) {
+    util3.isArrayBuffer = function(x) {
       return typeof ArrayBuffer !== "undefined" && x instanceof ArrayBuffer;
     };
-    util.isArrayBufferView = function(x) {
-      return x && util.isArrayBuffer(x.buffer) && x.byteLength !== void 0;
+    util3.isArrayBufferView = function(x) {
+      return x && util3.isArrayBuffer(x.buffer) && x.byteLength !== void 0;
     };
     function _checkBitsParam(n) {
       if (!(n === 8 || n === 16 || n === 24 || n === 32)) {
         throw new Error("Only 8, 16, 24, or 32 bits supported: " + n);
       }
     }
-    util.ByteBuffer = ByteStringBuffer;
+    util3.ByteBuffer = ByteStringBuffer;
     function ByteStringBuffer(b) {
       this.data = "";
       this.read = 0;
       if (typeof b === "string") {
         this.data = b;
-      } else if (util.isArrayBuffer(b) || util.isArrayBufferView(b)) {
+      } else if (util3.isArrayBuffer(b) || util3.isArrayBufferView(b)) {
         if (typeof Buffer !== "undefined" && b instanceof Buffer) {
           this.data = b.toString("binary");
         } else {
@@ -127449,25 +123851,25 @@ var require_util16 = __commonJS({
       }
       this._constructedStringLength = 0;
     }
-    util.ByteStringBuffer = ByteStringBuffer;
+    util3.ByteStringBuffer = ByteStringBuffer;
     var _MAX_CONSTRUCTED_STRING_LENGTH = 4096;
-    util.ByteStringBuffer.prototype._optimizeConstructedString = function(x) {
+    util3.ByteStringBuffer.prototype._optimizeConstructedString = function(x) {
       this._constructedStringLength += x;
       if (this._constructedStringLength > _MAX_CONSTRUCTED_STRING_LENGTH) {
         this.data.substr(0, 1);
         this._constructedStringLength = 0;
       }
     };
-    util.ByteStringBuffer.prototype.length = function() {
+    util3.ByteStringBuffer.prototype.length = function() {
       return this.data.length - this.read;
     };
-    util.ByteStringBuffer.prototype.isEmpty = function() {
+    util3.ByteStringBuffer.prototype.isEmpty = function() {
       return this.length() <= 0;
     };
-    util.ByteStringBuffer.prototype.putByte = function(b) {
+    util3.ByteStringBuffer.prototype.putByte = function(b) {
       return this.putBytes(String.fromCharCode(b));
     };
-    util.ByteStringBuffer.prototype.fillWithByte = function(b, n) {
+    util3.ByteStringBuffer.prototype.fillWithByte = function(b, n) {
       b = String.fromCharCode(b);
       var d = this.data;
       while (n > 0) {
@@ -127483,45 +123885,45 @@ var require_util16 = __commonJS({
       this._optimizeConstructedString(n);
       return this;
     };
-    util.ByteStringBuffer.prototype.putBytes = function(bytes) {
+    util3.ByteStringBuffer.prototype.putBytes = function(bytes) {
       this.data += bytes;
       this._optimizeConstructedString(bytes.length);
       return this;
     };
-    util.ByteStringBuffer.prototype.putString = function(str) {
-      return this.putBytes(util.encodeUtf8(str));
+    util3.ByteStringBuffer.prototype.putString = function(str) {
+      return this.putBytes(util3.encodeUtf8(str));
     };
-    util.ByteStringBuffer.prototype.putInt16 = function(i) {
+    util3.ByteStringBuffer.prototype.putInt16 = function(i) {
       return this.putBytes(
         String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
       );
     };
-    util.ByteStringBuffer.prototype.putInt24 = function(i) {
+    util3.ByteStringBuffer.prototype.putInt24 = function(i) {
       return this.putBytes(
         String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
       );
     };
-    util.ByteStringBuffer.prototype.putInt32 = function(i) {
+    util3.ByteStringBuffer.prototype.putInt32 = function(i) {
       return this.putBytes(
         String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255)
       );
     };
-    util.ByteStringBuffer.prototype.putInt16Le = function(i) {
+    util3.ByteStringBuffer.prototype.putInt16Le = function(i) {
       return this.putBytes(
         String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255)
       );
     };
-    util.ByteStringBuffer.prototype.putInt24Le = function(i) {
+    util3.ByteStringBuffer.prototype.putInt24Le = function(i) {
       return this.putBytes(
         String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255)
       );
     };
-    util.ByteStringBuffer.prototype.putInt32Le = function(i) {
+    util3.ByteStringBuffer.prototype.putInt32Le = function(i) {
       return this.putBytes(
         String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 24 & 255)
       );
     };
-    util.ByteStringBuffer.prototype.putInt = function(i, n) {
+    util3.ByteStringBuffer.prototype.putInt = function(i, n) {
       _checkBitsParam(n);
       var bytes = "";
       do {
@@ -127530,49 +123932,49 @@ var require_util16 = __commonJS({
       } while (n > 0);
       return this.putBytes(bytes);
     };
-    util.ByteStringBuffer.prototype.putSignedInt = function(i, n) {
+    util3.ByteStringBuffer.prototype.putSignedInt = function(i, n) {
       if (i < 0) {
         i += 2 << n - 1;
       }
       return this.putInt(i, n);
     };
-    util.ByteStringBuffer.prototype.putBuffer = function(buffer) {
+    util3.ByteStringBuffer.prototype.putBuffer = function(buffer) {
       return this.putBytes(buffer.getBytes());
     };
-    util.ByteStringBuffer.prototype.getByte = function() {
+    util3.ByteStringBuffer.prototype.getByte = function() {
       return this.data.charCodeAt(this.read++);
     };
-    util.ByteStringBuffer.prototype.getInt16 = function() {
+    util3.ByteStringBuffer.prototype.getInt16 = function() {
       var rval = this.data.charCodeAt(this.read) << 8 ^ this.data.charCodeAt(this.read + 1);
       this.read += 2;
       return rval;
     };
-    util.ByteStringBuffer.prototype.getInt24 = function() {
+    util3.ByteStringBuffer.prototype.getInt24 = function() {
       var rval = this.data.charCodeAt(this.read) << 16 ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2);
       this.read += 3;
       return rval;
     };
-    util.ByteStringBuffer.prototype.getInt32 = function() {
+    util3.ByteStringBuffer.prototype.getInt32 = function() {
       var rval = this.data.charCodeAt(this.read) << 24 ^ this.data.charCodeAt(this.read + 1) << 16 ^ this.data.charCodeAt(this.read + 2) << 8 ^ this.data.charCodeAt(this.read + 3);
       this.read += 4;
       return rval;
     };
-    util.ByteStringBuffer.prototype.getInt16Le = function() {
+    util3.ByteStringBuffer.prototype.getInt16Le = function() {
       var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8;
       this.read += 2;
       return rval;
     };
-    util.ByteStringBuffer.prototype.getInt24Le = function() {
+    util3.ByteStringBuffer.prototype.getInt24Le = function() {
       var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16;
       this.read += 3;
       return rval;
     };
-    util.ByteStringBuffer.prototype.getInt32Le = function() {
+    util3.ByteStringBuffer.prototype.getInt32Le = function() {
       var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16 ^ this.data.charCodeAt(this.read + 3) << 24;
       this.read += 4;
       return rval;
     };
-    util.ByteStringBuffer.prototype.getInt = function(n) {
+    util3.ByteStringBuffer.prototype.getInt = function(n) {
       _checkBitsParam(n);
       var rval = 0;
       do {
@@ -127581,7 +123983,7 @@ var require_util16 = __commonJS({
       } while (n > 0);
       return rval;
     };
-    util.ByteStringBuffer.prototype.getSignedInt = function(n) {
+    util3.ByteStringBuffer.prototype.getSignedInt = function(n) {
       var x = this.getInt(n);
       var max = 2 << n - 2;
       if (x >= max) {
@@ -127589,7 +123991,7 @@ var require_util16 = __commonJS({
       }
       return x;
     };
-    util.ByteStringBuffer.prototype.getBytes = function(count) {
+    util3.ByteStringBuffer.prototype.getBytes = function(count) {
       var rval;
       if (count) {
         count = Math.min(this.length(), count);
@@ -127603,43 +124005,43 @@ var require_util16 = __commonJS({
       }
       return rval;
     };
-    util.ByteStringBuffer.prototype.bytes = function(count) {
+    util3.ByteStringBuffer.prototype.bytes = function(count) {
       return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
     };
-    util.ByteStringBuffer.prototype.at = function(i) {
+    util3.ByteStringBuffer.prototype.at = function(i) {
       return this.data.charCodeAt(this.read + i);
     };
-    util.ByteStringBuffer.prototype.setAt = function(i, b) {
+    util3.ByteStringBuffer.prototype.setAt = function(i, b) {
       this.data = this.data.substr(0, this.read + i) + String.fromCharCode(b) + this.data.substr(this.read + i + 1);
       return this;
     };
-    util.ByteStringBuffer.prototype.last = function() {
+    util3.ByteStringBuffer.prototype.last = function() {
       return this.data.charCodeAt(this.data.length - 1);
     };
-    util.ByteStringBuffer.prototype.copy = function() {
-      var c = util.createBuffer(this.data);
+    util3.ByteStringBuffer.prototype.copy = function() {
+      var c = util3.createBuffer(this.data);
       c.read = this.read;
       return c;
     };
-    util.ByteStringBuffer.prototype.compact = function() {
+    util3.ByteStringBuffer.prototype.compact = function() {
       if (this.read > 0) {
         this.data = this.data.slice(this.read);
         this.read = 0;
       }
       return this;
     };
-    util.ByteStringBuffer.prototype.clear = function() {
+    util3.ByteStringBuffer.prototype.clear = function() {
       this.data = "";
       this.read = 0;
       return this;
     };
-    util.ByteStringBuffer.prototype.truncate = function(count) {
+    util3.ByteStringBuffer.prototype.truncate = function(count) {
       var len = Math.max(0, this.length() - count);
       this.data = this.data.substr(this.read, len);
       this.read = 0;
       return this;
     };
-    util.ByteStringBuffer.prototype.toHex = function() {
+    util3.ByteStringBuffer.prototype.toHex = function() {
       var rval = "";
       for (var i = this.read; i < this.data.length; ++i) {
         var b = this.data.charCodeAt(i);
@@ -127650,15 +124052,15 @@ var require_util16 = __commonJS({
       }
       return rval;
     };
-    util.ByteStringBuffer.prototype.toString = function() {
-      return util.decodeUtf8(this.bytes());
+    util3.ByteStringBuffer.prototype.toString = function() {
+      return util3.decodeUtf8(this.bytes());
     };
     function DataBuffer(b, options) {
       options = options || {};
       this.read = options.readOffset || 0;
       this.growSize = options.growSize || 1024;
-      var isArrayBuffer = util.isArrayBuffer(b);
-      var isArrayBufferView = util.isArrayBufferView(b);
+      var isArrayBuffer = util3.isArrayBuffer(b);
+      var isArrayBufferView = util3.isArrayBufferView(b);
       if (isArrayBuffer || isArrayBufferView) {
         if (isArrayBuffer) {
           this.data = new DataView(b);
@@ -127677,14 +124079,14 @@ var require_util16 = __commonJS({
         this.write = options.writeOffset;
       }
     }
-    util.DataBuffer = DataBuffer;
-    util.DataBuffer.prototype.length = function() {
+    util3.DataBuffer = DataBuffer;
+    util3.DataBuffer.prototype.length = function() {
       return this.write - this.read;
     };
-    util.DataBuffer.prototype.isEmpty = function() {
+    util3.DataBuffer.prototype.isEmpty = function() {
       return this.length() <= 0;
     };
-    util.DataBuffer.prototype.accommodate = function(amount, growSize) {
+    util3.DataBuffer.prototype.accommodate = function(amount, growSize) {
       if (this.length() >= amount) {
         return this;
       }
@@ -127699,20 +124101,20 @@ var require_util16 = __commonJS({
       this.data = new DataView(dst.buffer);
       return this;
     };
-    util.DataBuffer.prototype.putByte = function(b) {
+    util3.DataBuffer.prototype.putByte = function(b) {
       this.accommodate(1);
       this.data.setUint8(this.write++, b);
       return this;
     };
-    util.DataBuffer.prototype.fillWithByte = function(b, n) {
+    util3.DataBuffer.prototype.fillWithByte = function(b, n) {
       this.accommodate(n);
       for (var i = 0; i < n; ++i) {
         this.data.setUint8(b);
       }
       return this;
     };
-    util.DataBuffer.prototype.putBytes = function(bytes, encoding) {
-      if (util.isArrayBufferView(bytes)) {
+    util3.DataBuffer.prototype.putBytes = function(bytes, encoding) {
+      if (util3.isArrayBufferView(bytes)) {
         var src = new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength);
         var len = src.byteLength - src.byteOffset;
         this.accommodate(len);
@@ -127721,7 +124123,7 @@ var require_util16 = __commonJS({
         this.write += len;
         return this;
       }
-      if (util.isArrayBuffer(bytes)) {
+      if (util3.isArrayBuffer(bytes)) {
         var src = new Uint8Array(bytes);
         this.accommodate(src.byteLength);
         var dst = new Uint8Array(this.data.buffer);
@@ -127729,7 +124131,7 @@ var require_util16 = __commonJS({
         this.write += src.byteLength;
         return this;
       }
-      if (bytes instanceof util.DataBuffer || typeof bytes === "object" && typeof bytes.read === "number" && typeof bytes.write === "number" && util.isArrayBufferView(bytes.data)) {
+      if (bytes instanceof util3.DataBuffer || typeof bytes === "object" && typeof bytes.read === "number" && typeof bytes.write === "number" && util3.isArrayBufferView(bytes.data)) {
         var src = new Uint8Array(bytes.data.byteLength, bytes.read, bytes.length());
         this.accommodate(src.byteLength);
         var dst = new Uint8Array(bytes.data.byteLength, this.write);
@@ -127737,7 +124139,7 @@ var require_util16 = __commonJS({
         this.write += src.byteLength;
         return this;
       }
-      if (bytes instanceof util.ByteStringBuffer) {
+      if (bytes instanceof util3.ByteStringBuffer) {
         bytes = bytes.data;
         encoding = "binary";
       }
@@ -127747,82 +124149,82 @@ var require_util16 = __commonJS({
         if (encoding === "hex") {
           this.accommodate(Math.ceil(bytes.length / 2));
           view = new Uint8Array(this.data.buffer, this.write);
-          this.write += util.binary.hex.decode(bytes, view, this.write);
+          this.write += util3.binary.hex.decode(bytes, view, this.write);
           return this;
         }
         if (encoding === "base64") {
           this.accommodate(Math.ceil(bytes.length / 4) * 3);
           view = new Uint8Array(this.data.buffer, this.write);
-          this.write += util.binary.base64.decode(bytes, view, this.write);
+          this.write += util3.binary.base64.decode(bytes, view, this.write);
           return this;
         }
         if (encoding === "utf8") {
-          bytes = util.encodeUtf8(bytes);
+          bytes = util3.encodeUtf8(bytes);
           encoding = "binary";
         }
         if (encoding === "binary" || encoding === "raw") {
           this.accommodate(bytes.length);
           view = new Uint8Array(this.data.buffer, this.write);
-          this.write += util.binary.raw.decode(view);
+          this.write += util3.binary.raw.decode(view);
           return this;
         }
         if (encoding === "utf16") {
           this.accommodate(bytes.length * 2);
           view = new Uint16Array(this.data.buffer, this.write);
-          this.write += util.text.utf16.encode(view);
+          this.write += util3.text.utf16.encode(view);
           return this;
         }
         throw new Error("Invalid encoding: " + encoding);
       }
       throw Error("Invalid parameter: " + bytes);
     };
-    util.DataBuffer.prototype.putBuffer = function(buffer) {
+    util3.DataBuffer.prototype.putBuffer = function(buffer) {
       this.putBytes(buffer);
       buffer.clear();
       return this;
     };
-    util.DataBuffer.prototype.putString = function(str) {
+    util3.DataBuffer.prototype.putString = function(str) {
       return this.putBytes(str, "utf16");
     };
-    util.DataBuffer.prototype.putInt16 = function(i) {
+    util3.DataBuffer.prototype.putInt16 = function(i) {
       this.accommodate(2);
       this.data.setInt16(this.write, i);
       this.write += 2;
       return this;
     };
-    util.DataBuffer.prototype.putInt24 = function(i) {
+    util3.DataBuffer.prototype.putInt24 = function(i) {
       this.accommodate(3);
       this.data.setInt16(this.write, i >> 8 & 65535);
       this.data.setInt8(this.write, i >> 16 & 255);
       this.write += 3;
       return this;
     };
-    util.DataBuffer.prototype.putInt32 = function(i) {
+    util3.DataBuffer.prototype.putInt32 = function(i) {
       this.accommodate(4);
       this.data.setInt32(this.write, i);
       this.write += 4;
       return this;
     };
-    util.DataBuffer.prototype.putInt16Le = function(i) {
+    util3.DataBuffer.prototype.putInt16Le = function(i) {
       this.accommodate(2);
       this.data.setInt16(this.write, i, true);
       this.write += 2;
       return this;
     };
-    util.DataBuffer.prototype.putInt24Le = function(i) {
+    util3.DataBuffer.prototype.putInt24Le = function(i) {
       this.accommodate(3);
       this.data.setInt8(this.write, i >> 16 & 255);
       this.data.setInt16(this.write, i >> 8 & 65535, true);
       this.write += 3;
       return this;
     };
-    util.DataBuffer.prototype.putInt32Le = function(i) {
+    util3.DataBuffer.prototype.putInt32Le = function(i) {
       this.accommodate(4);
       this.data.setInt32(this.write, i, true);
       this.write += 4;
       return this;
     };
-    util.DataBuffer.prototype.putInt = function(i, n) {
+    util3.DataBuffer.prototype.putInt = function(i, n) {
       _checkBitsParam(n);
       this.accommodate(n / 8);
       do {
@@ -127831,7 +124233,7 @@ var require_util16 = __commonJS({
       } while (n > 0);
       return this;
     };
-    util.DataBuffer.prototype.putSignedInt = function(i, n) {
+    util3.DataBuffer.prototype.putSignedInt = function(i, n) {
       _checkBitsParam(n);
       this.accommodate(n / 8);
       if (i < 0) {
@@ -127839,40 +124241,40 @@ var require_util16 = __commonJS({
       }
       return this.putInt(i, n);
     };
-    util.DataBuffer.prototype.getByte = function() {
+    util3.DataBuffer.prototype.getByte = function() {
       return this.data.getInt8(this.read++);
     };
-    util.DataBuffer.prototype.getInt16 = function() {
+    util3.DataBuffer.prototype.getInt16 = function() {
       var rval = this.data.getInt16(this.read);
       this.read += 2;
       return rval;
     };
-    util.DataBuffer.prototype.getInt24 = function() {
+    util3.DataBuffer.prototype.getInt24 = function() {
       var rval = this.data.getInt16(this.read) << 8 ^ this.data.getInt8(this.read + 2);
       this.read += 3;
       return rval;
     };
-    util.DataBuffer.prototype.getInt32 = function() {
+    util3.DataBuffer.prototype.getInt32 = function() {
       var rval = this.data.getInt32(this.read);
       this.read += 4;
       return rval;
     };
-    util.DataBuffer.prototype.getInt16Le = function() {
+    util3.DataBuffer.prototype.getInt16Le = function() {
       var rval = this.data.getInt16(this.read, true);
       this.read += 2;
       return rval;
     };
-    util.DataBuffer.prototype.getInt24Le = function() {
+    util3.DataBuffer.prototype.getInt24Le = function() {
       var rval = this.data.getInt8(this.read) ^ this.data.getInt16(this.read + 1, true) << 8;
       this.read += 3;
       return rval;
     };
-    util.DataBuffer.prototype.getInt32Le = function() {
+    util3.DataBuffer.prototype.getInt32Le = function() {
       var rval = this.data.getInt32(this.read, true);
       this.read += 4;
       return rval;
     };
-    util.DataBuffer.prototype.getInt = function(n) {
+    util3.DataBuffer.prototype.getInt = function(n) {
       _checkBitsParam(n);
       var rval = 0;
       do {
@@ -127881,7 +124283,7 @@ var require_util16 = __commonJS({
       } while (n > 0);
       return rval;
     };
-    util.DataBuffer.prototype.getSignedInt = function(n) {
+    util3.DataBuffer.prototype.getSignedInt = function(n) {
       var x = this.getInt(n);
       var max = 2 << n - 2;
       if (x >= max) {
@@ -127889,7 +124291,7 @@ var require_util16 = __commonJS({
       }
       return x;
     };
-    util.DataBuffer.prototype.getBytes = function(count) {
+    util3.DataBuffer.prototype.getBytes = function(count) {
       var rval;
       if (count) {
         count = Math.min(this.length(), count);
@@ -127903,23 +124305,23 @@ var require_util16 = __commonJS({
       }
       return rval;
     };
-    util.DataBuffer.prototype.bytes = function(count) {
+    util3.DataBuffer.prototype.bytes = function(count) {
       return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
     };
-    util.DataBuffer.prototype.at = function(i) {
+    util3.DataBuffer.prototype.at = function(i) {
       return this.data.getUint8(this.read + i);
     };
-    util.DataBuffer.prototype.setAt = function(i, b) {
+    util3.DataBuffer.prototype.setAt = function(i, b) {
       this.data.setUint8(i, b);
       return this;
     };
-    util.DataBuffer.prototype.last = function() {
+    util3.DataBuffer.prototype.last = function() {
       return this.data.getUint8(this.write - 1);
     };
-    util.DataBuffer.prototype.copy = function() {
-      return new util.DataBuffer(this);
+    util3.DataBuffer.prototype.copy = function() {
+      return new util3.DataBuffer(this);
     };
-    util.DataBuffer.prototype.compact = function() {
+    util3.DataBuffer.prototype.compact = function() {
       if (this.read > 0) {
         var src = new Uint8Array(this.data.buffer, this.read);
         var dst = new Uint8Array(src.byteLength);
@@ -127930,17 +124332,17 @@ var require_util16 = __commonJS({
       }
       return this;
     };
-    util.DataBuffer.prototype.clear = function() {
+    util3.DataBuffer.prototype.clear = function() {
       this.data = new DataView(new ArrayBuffer(0));
       this.read = this.write = 0;
       return this;
     };
-    util.DataBuffer.prototype.truncate = function(count) {
+    util3.DataBuffer.prototype.truncate = function(count) {
       this.write = Math.max(0, this.length() - count);
       this.read = Math.min(this.read, this.write);
       return this;
     };
-    util.DataBuffer.prototype.toHex = function() {
+    util3.DataBuffer.prototype.toHex = function() {
       var rval = "";
       for (var i = this.read; i < this.data.byteLength; ++i) {
         var b = this.data.getUint8(i);
@@ -127951,34 +124353,34 @@ var require_util16 = __commonJS({
       }
       return rval;
     };
-    util.DataBuffer.prototype.toString = function(encoding) {
+    util3.DataBuffer.prototype.toString = function(encoding) {
       var view = new Uint8Array(this.data, this.read, this.length());
       encoding = encoding || "utf8";
       if (encoding === "binary" || encoding === "raw") {
-        return util.binary.raw.encode(view);
+        return util3.binary.raw.encode(view);
       }
       if (encoding === "hex") {
-        return util.binary.hex.encode(view);
+        return util3.binary.hex.encode(view);
       }
       if (encoding === "base64") {
-        return util.binary.base64.encode(view);
+        return util3.binary.base64.encode(view);
       }
       if (encoding === "utf8") {
-        return util.text.utf8.decode(view);
+        return util3.text.utf8.decode(view);
       }
       if (encoding === "utf16") {
-        return util.text.utf16.decode(view);
+        return util3.text.utf16.decode(view);
       }
       throw new Error("Invalid encoding: " + encoding);
     };
-    util.createBuffer = function(input, encoding) {
+    util3.createBuffer = function(input, encoding) {
       encoding = encoding || "raw";
       if (input !== void 0 && encoding === "utf8") {
-        input = util.encodeUtf8(input);
+        input = util3.encodeUtf8(input);
       }
-      return new util.ByteBuffer(input);
+      return new util3.ByteBuffer(input);
     };
-    util.fillString = function(c, n) {
+    util3.fillString = function(c, n) {
       var s = "";
       while (n > 0) {
         if (n & 1) {
@@ -127991,7 +124393,7 @@ var require_util16 = __commonJS({
       }
       return s;
     };
-    util.xorBytes = function(s1, s2, n) {
+    util3.xorBytes = function(s1, s2, n) {
       var s3 = "";
       var b = "";
       var t = "";
@@ -128010,7 +124412,7 @@ var require_util16 = __commonJS({
       s3 += t;
       return s3;
     };
-    util.hexToBytes = function(hex) {
+    util3.hexToBytes = function(hex) {
       var rval = "";
       var i = 0;
       if (hex.length & true) {
@@ -128022,10 +124424,10 @@ var require_util16 = __commonJS({
       }
       return rval;
     };
-    util.bytesToHex = function(bytes) {
-      return util.createBuffer(bytes).toHex();
+    util3.bytesToHex = function(bytes) {
+      return util3.createBuffer(bytes).toHex();
     };
-    util.int32ToBytes = function(i) {
+    util3.int32ToBytes = function(i) {
       return String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255);
     };
     var _base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
@@ -128124,7 +124526,7 @@ var require_util16 = __commonJS({
       51
     ];
     var _base58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
-    util.encode64 = function(input, maxline) {
+    util3.encode64 = function(input, maxline) {
       var line = "";
       var output = "";
       var chr1, chr2, chr3;
@@ -128149,7 +124551,7 @@ var require_util16 = __commonJS({
       output += line;
       return output;
     };
-    util.decode64 = function(input) {
+    util3.decode64 = function(input) {
       input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
       var output = "";
       var enc1, enc2, enc3, enc4;
@@ -128169,13 +124571,13 @@ var require_util16 = __commonJS({
       }
       return output;
     };
-    util.encodeUtf8 = function(str) {
+    util3.encodeUtf8 = function(str) {
       return unescape(encodeURIComponent(str));
     };
-    util.decodeUtf8 = function(str) {
+    util3.decodeUtf8 = function(str) {
       return decodeURIComponent(escape(str));
     };
-    util.binary = {
+    util3.binary = {
       raw: {},
       hex: {},
       base64: {},
@@ -128185,10 +124587,10 @@ var require_util16 = __commonJS({
         decode: baseN.decode
       }
     };
-    util.binary.raw.encode = function(bytes) {
+    util3.binary.raw.encode = function(bytes) {
       return String.fromCharCode.apply(null, bytes);
     };
-    util.binary.raw.decode = function(str, output, offset) {
+    util3.binary.raw.decode = function(str, output, offset) {
       var out = output;
       if (!out) {
         out = new Uint8Array(str.length);
@@ -128200,8 +124602,8 @@ var require_util16 = __commonJS({
       }
       return output ? j - offset : out;
     };
-    util.binary.hex.encode = util.bytesToHex;
-    util.binary.hex.decode = function(hex, output, offset) {
+    util3.binary.hex.encode = util3.bytesToHex;
+    util3.binary.hex.decode = function(hex, output, offset) {
       var out = output;
       if (!out) {
         out = new Uint8Array(Math.ceil(hex.length / 2));
@@ -128217,7 +124619,7 @@ var require_util16 = __commonJS({
       }
       return output ? j - offset : out;
     };
-    util.binary.base64.encode = function(input, maxline) {
+    util3.binary.base64.encode = function(input, maxline) {
       var line = "";
       var output = "";
       var chr1, chr2, chr3;
@@ -128242,7 +124644,7 @@ var require_util16 = __commonJS({
       output += line;
       return output;
     };
-    util.binary.base64.decode = function(input, output, offset) {
+    util3.binary.base64.decode = function(input, output, offset) {
       var out = output;
       if (!out) {
         out = new Uint8Array(Math.ceil(input.length / 4) * 3);
@@ -128266,18 +124668,18 @@ var require_util16 = __commonJS({
       }
       return output ? j - offset : out.subarray(0, j);
     };
-    util.binary.base58.encode = function(input, maxline) {
-      return util.binary.baseN.encode(input, _base58, maxline);
+    util3.binary.base58.encode = function(input, maxline) {
+      return util3.binary.baseN.encode(input, _base58, maxline);
     };
-    util.binary.base58.decode = function(input, maxline) {
-      return util.binary.baseN.decode(input, _base58, maxline);
+    util3.binary.base58.decode = function(input, maxline) {
+      return util3.binary.baseN.decode(input, _base58, maxline);
     };
-    util.text = {
+    util3.text = {
       utf8: {},
       utf16: {}
     };
-    util.text.utf8.encode = function(str, output, offset) {
-      str = util.encodeUtf8(str);
+    util3.text.utf8.encode = function(str, output, offset) {
+      str = util3.encodeUtf8(str);
       var out = output;
       if (!out) {
         out = new Uint8Array(str.length);
@@ -128289,10 +124691,10 @@ var require_util16 = __commonJS({
       }
       return output ? j - offset : out;
     };
-    util.text.utf8.decode = function(bytes) {
-      return util.decodeUtf8(String.fromCharCode.apply(null, bytes));
+    util3.text.utf8.decode = function(bytes) {
+      return util3.decodeUtf8(String.fromCharCode.apply(null, bytes));
     };
-    util.text.utf16.encode = function(str, output, offset) {
+    util3.text.utf16.encode = function(str, output, offset) {
       var out = output;
       if (!out) {
         out = new Uint8Array(str.length * 2);
@@ -128307,11 +124709,11 @@ var require_util16 = __commonJS({
       }
       return output ? j - offset : out;
     };
-    util.text.utf16.decode = function(bytes) {
+    util3.text.utf16.decode = function(bytes) {
       return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));
     };
-    util.deflate = function(api, bytes, raw) {
-      bytes = util.decode64(api.deflate(util.encode64(bytes)).rval);
+    util3.deflate = function(api, bytes, raw) {
+      bytes = util3.decode64(api.deflate(util3.encode64(bytes)).rval);
       if (raw) {
         var start = 2;
         var flg = bytes.charCodeAt(1);
@@ -128322,9 +124724,9 @@ var require_util16 = __commonJS({
       }
       return bytes;
     };
-    util.inflate = function(api, bytes, raw) {
-      var rval = api.inflate(util.encode64(bytes)).rval;
-      return rval === null ? null : util.decode64(rval);
+    util3.inflate = function(api, bytes, raw) {
+      var rval = api.inflate(util3.encode64(bytes)).rval;
+      return rval === null ? null : util3.decode64(rval);
     };
     var _setStorageObject = function(api, id, obj) {
       if (!api) {
@@ -128334,7 +124736,7 @@ var require_util16 = __commonJS({
       if (obj === null) {
         rval = api.removeItem(id);
       } else {
-        obj = util.encode64(JSON.stringify(obj));
+        obj = util3.encode64(JSON.stringify(obj));
         rval = api.setItem(id, obj);
       }
       if (typeof rval !== "undefined" && rval.rval !== true) {
@@ -128363,7 +124765,7 @@ var require_util16 = __commonJS({
         }
       }
       if (rval !== null) {
-        rval = JSON.parse(util.decode64(rval));
+        rval = JSON.parse(util3.decode64(rval));
       }
       return rval;
     };
@@ -128435,19 +124837,19 @@ var require_util16 = __commonJS({
       }
       return rval;
     };
-    util.setItem = function(api, id, key, data, location) {
+    util3.setItem = function(api, id, key, data, location) {
       _callStorageFunction(_setItem, arguments, location);
     };
-    util.getItem = function(api, id, key, location) {
+    util3.getItem = function(api, id, key, location) {
       return _callStorageFunction(_getItem, arguments, location);
     };
-    util.removeItem = function(api, id, key, location) {
+    util3.removeItem = function(api, id, key, location) {
       _callStorageFunction(_removeItem, arguments, location);
     };
-    util.clearItems = function(api, id, location) {
+    util3.clearItems = function(api, id, location) {
       _callStorageFunction(_clearItems, arguments, location);
     };
-    util.isEmpty = function(obj) {
+    util3.isEmpty = function(obj) {
       for (var prop in obj) {
         if (obj.hasOwnProperty(prop)) {
           return false;
@@ -128455,20 +124857,20 @@ var require_util16 = __commonJS({
       }
       return true;
     };
-    util.format = function(format) {
+    util3.format = function(format) {
       var re = /%./g;
-      var match;
+      var match2;
       var part;
       var argi = 0;
       var parts = [];
       var last = 0;
-      while (match = re.exec(format)) {
+      while (match2 = re.exec(format)) {
         part = format.substring(last, re.lastIndex - 2);
         if (part.length > 0) {
           parts.push(part);
         }
         last = re.lastIndex;
-        var code = match[0][1];
+        var code = match2[0][1];
         switch (code) {
           case "s":
           case "o":
@@ -128491,7 +124893,7 @@ var require_util16 = __commonJS({
       parts.push(format.substring(last));
       return parts.join("");
     };
-    util.formatNumber = function(number2, decimals, dec_point, thousands_sep) {
+    util3.formatNumber = function(number2, decimals, dec_point, thousands_sep) {
       var n = number2, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
       var d = dec_point === void 0 ? "," : dec_point;
       var t = thousands_sep === void 0 ? "." : thousands_sep, s = n < 0 ? "-" : "";
@@ -128499,33 +124901,33 @@ var require_util16 = __commonJS({
       var j = i.length > 3 ? i.length % 3 : 0;
       return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
     };
-    util.formatSize = function(size) {
+    util3.formatSize = function(size) {
       if (size >= 1073741824) {
-        size = util.formatNumber(size / 1073741824, 2, ".", "") + " GiB";
+        size = util3.formatNumber(size / 1073741824, 2, ".", "") + " GiB";
       } else if (size >= 1048576) {
-        size = util.formatNumber(size / 1048576, 2, ".", "") + " MiB";
+        size = util3.formatNumber(size / 1048576, 2, ".", "") + " MiB";
       } else if (size >= 1024) {
-        size = util.formatNumber(size / 1024, 0) + " KiB";
+        size = util3.formatNumber(size / 1024, 0) + " KiB";
       } else {
-        size = util.formatNumber(size, 0) + " bytes";
+        size = util3.formatNumber(size, 0) + " bytes";
       }
       return size;
     };
-    util.bytesFromIP = function(ip) {
+    util3.bytesFromIP = function(ip) {
       if (ip.indexOf(".") !== -1) {
-        return util.bytesFromIPv4(ip);
+        return util3.bytesFromIPv4(ip);
       }
       if (ip.indexOf(":") !== -1) {
-        return util.bytesFromIPv6(ip);
+        return util3.bytesFromIPv6(ip);
       }
       return null;
     };
-    util.bytesFromIPv4 = function(ip) {
+    util3.bytesFromIPv4 = function(ip) {
       ip = ip.split(".");
       if (ip.length !== 4) {
         return null;
       }
-      var b = util.createBuffer();
+      var b = util3.createBuffer();
       for (var i = 0; i < ip.length; ++i) {
         var num = parseInt(ip[i], 10);
         if (isNaN(num)) {
@@ -128535,21 +124937,21 @@ var require_util16 = __commonJS({
       }
       return b.getBytes();
     };
-    util.bytesFromIPv6 = function(ip) {
+    util3.bytesFromIPv6 = function(ip) {
       var blanks = 0;
       ip = ip.split(":").filter(function(e) {
         if (e.length === 0) ++blanks;
         return true;
       });
       var zeros = (8 - ip.length + blanks) * 2;
-      var b = util.createBuffer();
+      var b = util3.createBuffer();
       for (var i = 0; i < 8; ++i) {
         if (!ip[i] || ip[i].length === 0) {
           b.fillWithByte(0, zeros);
           zeros = 0;
           continue;
         }
-        var bytes = util.hexToBytes(ip[i]);
+        var bytes = util3.hexToBytes(ip[i]);
         if (bytes.length < 2) {
           b.putByte(0);
         }
@@ -128557,16 +124959,16 @@ var require_util16 = __commonJS({
       }
       return b.getBytes();
     };
-    util.bytesToIP = function(bytes) {
+    util3.bytesToIP = function(bytes) {
       if (bytes.length === 4) {
-        return util.bytesToIPv4(bytes);
+        return util3.bytesToIPv4(bytes);
       }
       if (bytes.length === 16) {
-        return util.bytesToIPv6(bytes);
+        return util3.bytesToIPv6(bytes);
       }
       return null;
     };
-    util.bytesToIPv4 = function(bytes) {
+    util3.bytesToIPv4 = function(bytes) {
       if (bytes.length !== 4) {
         return null;
       }
@@ -128576,7 +124978,7 @@ var require_util16 = __commonJS({
       }
       return ip.join(".");
     };
-    util.bytesToIPv6 = function(bytes) {
+    util3.bytesToIPv6 = function(bytes) {
       if (bytes.length !== 16) {
         return null;
       }
@@ -128584,7 +124986,7 @@ var require_util16 = __commonJS({
       var zeroGroups = [];
       var zeroMaxGroup = 0;
       for (var i = 0; i < bytes.length; i += 2) {
-        var hex = util.bytesToHex(bytes[i] + bytes[i + 1]);
+        var hex = util3.bytesToHex(bytes[i] + bytes[i + 1]);
         while (hex[0] === "0" && hex !== "0") {
           hex = hex.substr(1);
         }
@@ -128616,26 +125018,26 @@ var require_util16 = __commonJS({
       }
       return ip.join(":");
     };
-    util.estimateCores = function(options, callback) {
+    util3.estimateCores = function(options, callback) {
       if (typeof options === "function") {
         callback = options;
         options = {};
       }
       options = options || {};
-      if ("cores" in util && !options.update) {
-        return callback(null, util.cores);
+      if ("cores" in util3 && !options.update) {
+        return callback(null, util3.cores);
       }
       if (typeof navigator !== "undefined" && "hardwareConcurrency" in navigator && navigator.hardwareConcurrency > 0) {
-        util.cores = navigator.hardwareConcurrency;
-        return callback(null, util.cores);
+        util3.cores = navigator.hardwareConcurrency;
+        return callback(null, util3.cores);
       }
       if (typeof Worker === "undefined") {
-        util.cores = 1;
-        return callback(null, util.cores);
+        util3.cores = 1;
+        return callback(null, util3.cores);
       }
       if (typeof Blob === "undefined") {
-        util.cores = 2;
-        return callback(null, util.cores);
+        util3.cores = 2;
+        return callback(null, util3.cores);
       }
       var blobUrl = URL.createObjectURL(new Blob([
         "(",
@@ -128655,9 +125057,9 @@ var require_util16 = __commonJS({
           var avg = Math.floor(max.reduce(function(avg2, x) {
             return avg2 + x;
           }, 0) / max.length);
-          util.cores = Math.max(1, avg);
+          util3.cores = Math.max(1, avg);
           URL.revokeObjectURL(blobUrl);
-          return callback(null, util.cores);
+          return callback(null, util3.cores);
         }
         map(numWorkers, function(err, results) {
           max.push(reduce(numWorkers, results));
@@ -129519,7 +125921,7 @@ var require_aes = __commonJS({
       });
     };
     forge.aes.Algorithm = function(name, mode) {
-      if (!init) {
+      if (!init2) {
         initialize();
       }
       var self2 = this;
@@ -129572,7 +125974,7 @@ var require_aes = __commonJS({
       this._init = true;
     };
     forge.aes._expandKey = function(key, decrypt) {
-      if (!init) {
+      if (!init2) {
         initialize();
       }
       return _expandKey(key, decrypt);
@@ -129590,7 +125992,7 @@ var require_aes = __commonJS({
       };
       forge.cipher.registerAlgorithm(name, factory);
     }
-    var init = false;
+    var init2 = false;
     var Nb = 4;
     var sbox;
     var isbox;
@@ -129598,7 +126000,7 @@ var require_aes = __commonJS({
     var mix;
     var imix;
     function initialize() {
-      init = true;
+      init2 = true;
       rcon = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
       var xtime = new Array(256);
       for (var i = 0; i < 128; ++i) {
@@ -131141,13 +127543,13 @@ var require_pem = __commonJS({
       var rMessage = /\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g;
       var rHeader = /([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/;
       var rCRLF = /\r?\n/;
-      var match;
+      var match2;
       while (true) {
-        match = rMessage.exec(str);
-        if (!match) {
+        match2 = rMessage.exec(str);
+        if (!match2) {
           break;
         }
-        var type = match[1];
+        var type = match2[1];
         if (type === "NEW CERTIFICATE REQUEST") {
           type = "CERTIFICATE REQUEST";
         }
@@ -131157,15 +127559,15 @@ var require_pem = __commonJS({
           contentDomain: null,
           dekInfo: null,
           headers: [],
-          body: forge.util.decode64(match[3])
+          body: forge.util.decode64(match2[3])
         };
         rval.push(msg);
-        if (!match[2]) {
+        if (!match2[2]) {
           continue;
         }
-        var lines = match[2].split(rCRLF);
+        var lines = match2[2].split(rCRLF);
         var li = 0;
-        while (match && li < lines.length) {
+        while (match2 && li < lines.length) {
           var line = lines[li].replace(/\s+$/, "");
           for (var nl = li + 1; nl < lines.length; ++nl) {
             var next = lines[nl];
@@ -131175,10 +127577,10 @@ var require_pem = __commonJS({
             line += next;
             li = nl;
           }
-          match = line.match(rHeader);
-          if (match) {
-            var header = { name: match[1], values: [] };
-            var values = match[2].split(",");
+          match2 = line.match(rHeader);
+          if (match2) {
+            var header = { name: match2[1], values: [] };
+            var values = match2[2].split(",");
             for (var vi = 0; vi < values.length; ++vi) {
               header.values.push(ltrim(values[vi]));
             }
@@ -131214,7 +127616,7 @@ var require_pem = __commonJS({
     function foldHeader(header) {
       var rval = header.name + ": ";
       var values = [];
-      var insertSpace = function(match, $1) {
+      var insertSpace = function(match2, $1) {
         return " " + $1;
       };
       for (var i = 0; i < header.values.length; ++i) {
@@ -134142,19 +130544,19 @@ var require_pkcs1 = __commonJS({
         error3 |= lHash.charAt(i) !== lHashPrime.charAt(i);
       }
       var in_ps = 1;
-      var index = md2.digestLength;
+      var index2 = md2.digestLength;
       for (var j = md2.digestLength; j < db.length; j++) {
         var code = db.charCodeAt(j);
         var is_0 = code & 1 ^ 1;
         var error_mask = in_ps ? 65534 : 0;
         error3 |= code & error_mask;
         in_ps = in_ps & is_0;
-        index += in_ps;
+        index2 += in_ps;
       }
-      if (error3 || db.charCodeAt(index) !== 1) {
+      if (error3 || db.charCodeAt(index2) !== 1) {
         throw new Error("Invalid RSAES-OAEP padding.");
       }
-      return db.substring(index + 1);
+      return db.substring(index2 + 1);
     };
     function rsa_mgf1(seed, maskLength, hash2) {
       if (!hash2) {
@@ -134265,7 +130667,7 @@ var require_prime = __commonJS({
         var num = generateRandom(bits, rng2);
         var numWorkers = options.workers;
         var workLoad = options.workLoad || 100;
-        var range = workLoad * 30 / 8;
+        var range2 = workLoad * 30 / 8;
         var workerScript = options.workerScript || "forge/prime.worker.js";
         if (numWorkers === -1) {
           return forge.util.estimateCores(function(err, cores) {
@@ -134309,7 +130711,7 @@ var require_prime = __commonJS({
               hex,
               workLoad
             });
-            num.dAddOffset(range, 0);
+            num.dAddOffset(range2, 0);
           }
         }
       }
@@ -134357,7 +130759,7 @@ var require_rsa = __commonJS({
     var BigInteger;
     var _crypto = forge.util.isNodejs ? require("crypto") : null;
     var asn1 = forge.asn1;
-    var util = forge.util;
+    var util3 = forge.util;
     forge.pki = forge.pki || {};
     module2.exports = forge.pki.rsa = forge.rsa = forge.rsa || {};
     var pki2 = forge.pki;
@@ -134897,13 +131299,13 @@ var require_rsa = __commonJS({
             });
           }
           if (_detectSubtleCrypto("generateKey") && _detectSubtleCrypto("exportKey")) {
-            return util.globalScope.crypto.subtle.generateKey({
+            return util3.globalScope.crypto.subtle.generateKey({
               name: "RSASSA-PKCS1-v1_5",
               modulusLength: bits,
               publicExponent: _intToUint8Array(e),
               hash: { name: "SHA-256" }
             }, true, ["sign", "verify"]).then(function(pair) {
-              return util.globalScope.crypto.subtle.exportKey(
+              return util3.globalScope.crypto.subtle.exportKey(
                 "pkcs8",
                 pair.privateKey
               );
@@ -134922,7 +131324,7 @@ var require_rsa = __commonJS({
             });
           }
           if (_detectSubtleMsCrypto("generateKey") && _detectSubtleMsCrypto("exportKey")) {
-            var genOp = util.globalScope.msCrypto.subtle.generateKey({
+            var genOp = util3.globalScope.msCrypto.subtle.generateKey({
               name: "RSASSA-PKCS1-v1_5",
               modulusLength: bits,
               publicExponent: _intToUint8Array(e),
@@ -134930,7 +131332,7 @@ var require_rsa = __commonJS({
             }, true, ["sign", "verify"]);
             genOp.oncomplete = function(e2) {
               var pair = e2.target.result;
-              var exportOp = util.globalScope.msCrypto.subtle.exportKey(
+              var exportOp = util3.globalScope.msCrypto.subtle.exportKey(
                 "pkcs8",
                 pair.privateKey
               );
@@ -135525,10 +131927,10 @@ var require_rsa = __commonJS({
       return forge.util.isNodejs && typeof _crypto[fn] === "function";
     }
     function _detectSubtleCrypto(fn) {
-      return typeof util.globalScope !== "undefined" && typeof util.globalScope.crypto === "object" && typeof util.globalScope.crypto.subtle === "object" && typeof util.globalScope.crypto.subtle[fn] === "function";
+      return typeof util3.globalScope !== "undefined" && typeof util3.globalScope.crypto === "object" && typeof util3.globalScope.crypto.subtle === "object" && typeof util3.globalScope.crypto.subtle[fn] === "function";
     }
     function _detectSubtleMsCrypto(fn) {
-      return typeof util.globalScope !== "undefined" && typeof util.globalScope.msCrypto === "object" && typeof util.globalScope.msCrypto.subtle === "object" && typeof util.globalScope.msCrypto.subtle[fn] === "function";
+      return typeof util3.globalScope !== "undefined" && typeof util3.globalScope.msCrypto === "object" && typeof util3.globalScope.msCrypto.subtle === "object" && typeof util3.globalScope.msCrypto.subtle[fn] === "function";
     }
     function _intToUint8Array(x) {
       var bytes = forge.util.hexToBytes(x.toString(16));
@@ -137516,13 +133918,13 @@ var require_x509 = __commonJS({
           options = { name: options };
         }
         var rval = null;
-        var ext;
+        var ext2;
         for (var i = 0; rval === null && i < cert.extensions.length; ++i) {
-          ext = cert.extensions[i];
-          if (options.id && ext.id === options.id) {
-            rval = ext;
-          } else if (options.name && ext.name === options.name) {
-            rval = ext;
+          ext2 = cert.extensions[i];
+          if (options.id && ext2.id === options.id) {
+            rval = ext2;
+          } else if (options.name && ext2.name === options.name) {
+            rval = ext2;
           }
         }
         return rval;
@@ -137600,10 +134002,10 @@ var require_x509 = __commonJS({
       cert.verifySubjectKeyIdentifier = function() {
         var oid = oids["subjectKeyIdentifier"];
         for (var i = 0; i < cert.extensions.length; ++i) {
-          var ext = cert.extensions[i];
-          if (ext.id === oid) {
+          var ext2 = cert.extensions[i];
+          if (ext2.id === oid) {
             var ski = cert.generateSubjectKeyIdentifier().getBytes();
-            return forge.util.hexToBytes(ext.subjectKeyIdentifier) === ski;
+            return forge.util.hexToBytes(ext2.subjectKeyIdentifier) === ski;
           }
         }
         return false;
@@ -137721,15 +134123,15 @@ var require_x509 = __commonJS({
       }
       return rval;
     };
-    pki2.certificateExtensionFromAsn1 = function(ext) {
+    pki2.certificateExtensionFromAsn1 = function(ext2) {
       var e = {};
-      e.id = asn1.derToOid(ext.value[0].value);
+      e.id = asn1.derToOid(ext2.value[0].value);
       e.critical = false;
-      if (ext.value[1].type === asn1.Type.BOOLEAN) {
-        e.critical = ext.value[1].value.charCodeAt(0) !== 0;
-        e.value = ext.value[2].value;
+      if (ext2.value[1].type === asn1.Type.BOOLEAN) {
+        e.critical = ext2.value[1].value.charCodeAt(0) !== 0;
+        e.value = ext2.value[2].value;
       } else {
-        e.value = ext.value[1].value;
+        e.value = ext2.value[1].value;
       }
       if (e.id in oids) {
         e.name = oids[e.id];
@@ -138588,15 +134990,15 @@ var require_x509 = __commonJS({
       }
       return rval;
     };
-    pki2.certificateExtensionToAsn1 = function(ext) {
+    pki2.certificateExtensionToAsn1 = function(ext2) {
       var extseq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
       extseq.value.push(asn1.create(
         asn1.Class.UNIVERSAL,
         asn1.Type.OID,
         false,
-        asn1.oidToDer(ext.id).getBytes()
+        asn1.oidToDer(ext2.id).getBytes()
       ));
-      if (ext.critical) {
+      if (ext2.critical) {
         extseq.value.push(asn1.create(
           asn1.Class.UNIVERSAL,
           asn1.Type.BOOLEAN,
@@ -138604,8 +135006,8 @@ var require_x509 = __commonJS({
           String.fromCharCode(255)
         ));
       }
-      var value = ext.value;
-      if (typeof ext.value !== "string") {
+      var value = ext2.value;
+      if (typeof ext2.value !== "string") {
         value = asn1.toDer(value).getBytes();
       }
       extseq.value.push(asn1.create(
@@ -138673,16 +135075,16 @@ var require_x509 = __commonJS({
         if (typeof cert2 === "string") {
           cert2 = forge.pki.certificateFromPem(cert2);
         }
-        var match = getBySubject(cert2.subject);
-        if (!match) {
+        var match2 = getBySubject(cert2.subject);
+        if (!match2) {
           return false;
         }
-        if (!forge.util.isArray(match)) {
-          match = [match];
+        if (!forge.util.isArray(match2)) {
+          match2 = [match2];
         }
         var der1 = asn1.toDer(pki2.certificateToAsn1(cert2)).getBytes();
-        for (var i2 = 0; i2 < match.length; ++i2) {
-          var der2 = asn1.toDer(pki2.certificateToAsn1(match[i2])).getBytes();
+        for (var i2 = 0; i2 < match2.length; ++i2) {
+          var der2 = asn1.toDer(pki2.certificateToAsn1(match2[i2])).getBytes();
           if (der1 === der2) {
             return true;
           }
@@ -138714,21 +135116,21 @@ var require_x509 = __commonJS({
         if (!caStore.hasCertificate(cert2)) {
           return null;
         }
-        var match = getBySubject(cert2.subject);
-        if (!forge.util.isArray(match)) {
+        var match2 = getBySubject(cert2.subject);
+        if (!forge.util.isArray(match2)) {
           result = caStore.certs[cert2.subject.hash];
           delete caStore.certs[cert2.subject.hash];
           return result;
         }
         var der1 = asn1.toDer(pki2.certificateToAsn1(cert2)).getBytes();
-        for (var i2 = 0; i2 < match.length; ++i2) {
-          var der2 = asn1.toDer(pki2.certificateToAsn1(match[i2])).getBytes();
+        for (var i2 = 0; i2 < match2.length; ++i2) {
+          var der2 = asn1.toDer(pki2.certificateToAsn1(match2[i2])).getBytes();
           if (der1 === der2) {
-            result = match[i2];
-            match.splice(i2, 1);
+            result = match2[i2];
+            match2.splice(i2, 1);
           }
         }
-        if (match.length === 0) {
+        if (match2.length === 0) {
           delete caStore.certs[cert2.subject.hash];
         }
         return result;
@@ -138838,8 +135240,8 @@ var require_x509 = __commonJS({
             basicConstraints: true
           };
           for (var i = 0; error3 === null && i < cert.extensions.length; ++i) {
-            var ext = cert.extensions[i];
-            if (ext.critical && !(ext.name in se)) {
+            var ext2 = cert.extensions[i];
+            if (ext2.critical && !(ext2.name in se)) {
               error3 = {
                 message: "Certificate has an unsupported critical extension.",
                 error: pki2.certificateError.unsupported_certificate
@@ -139137,20 +135539,20 @@ var require_pkcs12 = __commonJS({
          *           attribute was given but a bag type, the map key will be the
          *           bag type.
          */
-        getBags: function(filter) {
+        getBags: function(filter2) {
           var rval = {};
           var localKeyId;
-          if ("localKeyId" in filter) {
-            localKeyId = filter.localKeyId;
-          } else if ("localKeyIdHex" in filter) {
-            localKeyId = forge.util.hexToBytes(filter.localKeyIdHex);
+          if ("localKeyId" in filter2) {
+            localKeyId = filter2.localKeyId;
+          } else if ("localKeyIdHex" in filter2) {
+            localKeyId = forge.util.hexToBytes(filter2.localKeyIdHex);
           }
-          if (localKeyId === void 0 && !("friendlyName" in filter) && "bagType" in filter) {
-            rval[filter.bagType] = _getBagsByAttribute(
+          if (localKeyId === void 0 && !("friendlyName" in filter2) && "bagType" in filter2) {
+            rval[filter2.bagType] = _getBagsByAttribute(
               pfx.safeContents,
               null,
               null,
-              filter.bagType
+              filter2.bagType
             );
           }
           if (localKeyId !== void 0) {
@@ -139158,15 +135560,15 @@ var require_pkcs12 = __commonJS({
               pfx.safeContents,
               "localKeyId",
               localKeyId,
-              filter.bagType
+              filter2.bagType
             );
           }
-          if ("friendlyName" in filter) {
+          if ("friendlyName" in filter2) {
             rval.friendlyName = _getBagsByAttribute(
               pfx.safeContents,
               "friendlyName",
-              filter.friendlyName,
-              filter.bagType
+              filter2.friendlyName,
+              filter2.bagType
             );
           }
           return rval;
@@ -140112,9 +136514,9 @@ var require_tls = __commonJS({
           }
           if (!client) {
             for (var i = 0; i < msg.extensions.length; ++i) {
-              var ext = msg.extensions[i];
-              if (ext.type[0] === 0 && ext.type[1] === 0) {
-                var snl = readVector(ext.data, 2);
+              var ext2 = msg.extensions[i];
+              if (ext2.type[0] === 0 && ext2.type[1] === 0) {
+                var snl = readVector(ext2.data, 2);
                 while (snl.length() > 0) {
                   var snType = snl.getByte();
                   if (snType !== 0) {
@@ -141110,16 +137512,16 @@ var require_tls = __commonJS({
       var cMethods = compressionMethods.length();
       var extensions = forge.util.createBuffer();
       if (c.virtualHost) {
-        var ext = forge.util.createBuffer();
-        ext.putByte(0);
-        ext.putByte(0);
+        var ext2 = forge.util.createBuffer();
+        ext2.putByte(0);
+        ext2.putByte(0);
         var serverName = forge.util.createBuffer();
         serverName.putByte(0);
         writeVector(serverName, 2, forge.util.createBuffer(c.virtualHost));
         var snList = forge.util.createBuffer();
         writeVector(snList, 2, serverName);
-        writeVector(ext, 2, snList);
-        extensions.putBuffer(ext);
+        writeVector(ext2, 2, snList);
+        extensions.putBuffer(ext2);
       }
       var extLength = extensions.length();
       if (extLength > 0) {
@@ -143188,11 +139590,11 @@ var require_ed25519 = __commonJS({
         q[i] ^= t;
       }
     }
-    function gf(init) {
+    function gf(init2) {
       var i, r = new Float64Array(16);
-      if (init) {
-        for (i = 0; i < init.length; ++i) {
-          r[i] = init[i];
+      if (init2) {
+        for (i = 0; i < init2.length; ++i) {
+          r[i] = init2[i];
         }
       }
       return r;
@@ -144405,14 +140807,14 @@ var require_pkcs7 = __commonJS({
             if (rAttr.length !== sAttr.length) {
               continue;
             }
-            var match = true;
+            var match2 = true;
             for (var j = 0; j < sAttr.length; ++j) {
               if (rAttr[j].type !== sAttr[j].type || rAttr[j].value !== sAttr[j].value) {
-                match = false;
+                match2 = false;
                 break;
               }
             }
-            if (match) {
+            if (match2) {
               return r;
             }
           }
@@ -145047,7 +141449,10 @@ module.exports = __toCommonJS(entry_points_exports);
 var fs23 = __toESM(require("fs"));
 var import_path4 = __toESM(require("path"));
 var import_perf_hooks4 = require("perf_hooks");
-var core15 = __toESM(require_core());
+var core16 = __toESM(require_core());
+
+// src/action-common.ts
+var core8 = __toESM(require_core());
 
 // src/actions-util.ts
 var fs2 = __toESM(require("fs"));
@@ -145057,6 +141462,61 @@ var toolrunner = __toESM(require_toolrunner());
 var github = __toESM(require_github());
 var io2 = __toESM(require_io());
 
+// src/environment.ts
+function getRequiredEnvVar(env, paramName) {
+  const value = env[paramName];
+  if (value === void 0 || value.length === 0) {
+    throw new Error(`${paramName} environment variable must be set`);
+  }
+  return value;
+}
+function getRequiredEnvParam(paramName) {
+  return getRequiredEnvVar(process.env, paramName);
+}
+function getOptionalEnvVarFrom(env, paramName) {
+  const value = env[paramName];
+  if (value?.trim().length === 0) {
+    return void 0;
+  }
+  return value;
+}
+function getOptionalEnvVar(paramName) {
+  return getOptionalEnvVarFrom(process.env, paramName);
+}
+var ReadOnlyEnv = class {
+  constructor(vars) {
+    this.vars = vars;
+  }
+  vars;
+  /** Tries to get the value for `name` and throws if there isn't one. */
+  getRequired(name) {
+    return getRequiredEnvVar(this.vars, name);
+  }
+  /** Gets the value for `name`, or `undefined` if it isn't set or empty. */
+  getOptional(name) {
+    return getOptionalEnvVarFrom(this.vars, name);
+  }
+  /** Gets the entries of the underlying `ProcessEnv`. */
+  entries() {
+    return Object.entries(this.vars);
+  }
+};
+var Env = class extends ReadOnlyEnv {
+  changed = false;
+  /** Sets an environment variable. */
+  set(name, value) {
+    this.vars[name] = value;
+    this.changed = true;
+  }
+  /** Gets a value indicating whether `set` was called at least once. */
+  hasChanged() {
+    return this.changed;
+  }
+};
+function getEnv(env = process.env) {
+  return new Env(env);
+}
+
 // src/util.ts
 var fs = __toESM(require("fs"));
 var fsPromises = __toESM(require("fs/promises"));
@@ -145073,21 +141533,21 @@ async function getFolderSize(itemPath, options) {
 getFolderSize.loose = async (itemPath, options) => await core(itemPath, options);
 getFolderSize.strict = async (itemPath, options) => await core(itemPath, options, { strict: true });
 async function core(rootItemPath, options = {}, returnType = {}) {
-  const fs31 = options.fs || await import("node:fs/promises");
+  const fs32 = options.fs || await import("node:fs/promises");
   let folderSize = 0n;
   const foundInos = /* @__PURE__ */ new Set();
   const errors = [];
   await processItem(rootItemPath);
   async function processItem(itemPath) {
     if (options.ignore?.test(itemPath)) return;
-    const stats = returnType.strict ? await fs31.lstat(itemPath, { bigint: true }) : await fs31.lstat(itemPath, { bigint: true }).catch((error3) => errors.push(error3));
+    const stats = returnType.strict ? await fs32.lstat(itemPath, { bigint: true }) : await fs32.lstat(itemPath, { bigint: true }).catch((error3) => errors.push(error3));
     if (typeof stats !== "object") return;
     if (!foundInos.has(stats.ino)) {
       foundInos.add(stats.ino);
       folderSize += stats.size;
     }
     if (stats.isDirectory()) {
-      const directoryItems = returnType.strict ? await fs31.readdir(itemPath) : await fs31.readdir(itemPath).catch((error3) => errors.push(error3));
+      const directoryItems = returnType.strict ? await fs32.readdir(itemPath) : await fs32.readdir(itemPath).catch((error3) => errors.push(error3));
       if (typeof directoryItems !== "object") return;
       await Promise.all(
         directoryItems.map(
@@ -145121,2373 +141581,2914 @@ async function core(rootItemPath, options = {}, returnType = {}) {
 }
 
 // node_modules/js-yaml/dist/js-yaml.mjs
-var __create2 = Object.create;
-var __defProp2 = Object.defineProperty;
-var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames2 = Object.getOwnPropertyNames;
-var __getProtoOf2 = Object.getPrototypeOf;
-var __hasOwnProp2 = Object.prototype.hasOwnProperty;
-var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
-var __copyProps2 = (to, from, except, desc) => {
-  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames2(from), i = 0, n = keys.length, key; i < n; i++) {
-    key = keys[i];
-    if (!__hasOwnProp2.call(to, key) && key !== except) __defProp2(to, key, {
-      get: ((k) => from[k]).bind(null, key),
-      enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
+var NOT_RESOLVED = /* @__PURE__ */ Symbol("NOT_RESOLVED");
+var MERGE_KEY = /* @__PURE__ */ Symbol("MERGE_KEY");
+function defineScalarTag(tagName, options) {
+  return {
+    tagName,
+    nodeKind: "scalar",
+    implicit: options.implicit ?? false,
+    matchByTagPrefix: options.matchByTagPrefix ?? false,
+    implicitFirstChars: options.implicitFirstChars ?? null,
+    resolve: options.resolve,
+    identify: options.identify ?? null,
+    represent: options.represent ?? ((data) => String(data)),
+    representTagName: options.representTagName ?? null
+  };
+}
+function defineSequenceTag(tagName, options) {
+  const carrierIsResult = options.finalize === void 0;
+  return {
+    tagName,
+    nodeKind: "sequence",
+    implicit: false,
+    matchByTagPrefix: options.matchByTagPrefix ?? false,
+    create: options.create,
+    addItem: options.addItem,
+    finalize: options.finalize ?? ((carrier) => carrier),
+    carrierIsResult,
+    identify: options.identify ?? null,
+    represent: options.represent ?? ((data) => data),
+    representTagName: options.representTagName ?? null
+  };
+}
+function defineMappingTag(tagName, options) {
+  const carrierIsResult = options.finalize === void 0;
+  return {
+    tagName,
+    nodeKind: "mapping",
+    implicit: false,
+    matchByTagPrefix: options.matchByTagPrefix ?? false,
+    create: options.create,
+    addPair: options.addPair,
+    has: options.has,
+    keys: options.keys,
+    get: options.get,
+    finalize: options.finalize ?? ((carrier) => carrier),
+    carrierIsResult,
+    identify: options.identify ?? null,
+    represent: options.represent ?? ((data) => data),
+    representTagName: options.representTagName ?? null
+  };
+}
+var strTag = defineScalarTag("tag:yaml.org,2002:str", {
+  resolve: (source) => source,
+  identify: (data) => typeof data === "string"
+});
+var NULL_VALUES$1 = [
+  "",
+  "~",
+  "null",
+  "Null",
+  "NULL"
+];
+var nullCoreTag = defineScalarTag("tag:yaml.org,2002:null", {
+  implicit: true,
+  implicitFirstChars: [
+    "",
+    "~",
+    "n",
+    "N"
+  ],
+  resolve: (source) => {
+    if (NULL_VALUES$1.indexOf(source) !== -1) return null;
+    return NOT_RESOLVED;
+  },
+  identify: (object) => object === null,
+  represent: () => "null"
+});
+var nullJsonTag = defineScalarTag("tag:yaml.org,2002:null", {
+  implicit: true,
+  implicitFirstChars: ["n"],
+  resolve: (source, isExplicit) => {
+    if (source === "null" || isExplicit && source === "") return null;
+    return NOT_RESOLVED;
+  },
+  identify: (object) => object === null,
+  represent: () => "null"
+});
+var NULL_VALUES = [
+  "",
+  "~",
+  "null",
+  "Null",
+  "NULL"
+];
+var nullYaml11Tag = defineScalarTag("tag:yaml.org,2002:null", {
+  implicit: true,
+  implicitFirstChars: [
+    "",
+    "~",
+    "n",
+    "N"
+  ],
+  resolve: (source) => {
+    if (NULL_VALUES.indexOf(source) !== -1) return null;
+    return NOT_RESOLVED;
+  },
+  identify: (object) => object === null,
+  represent: () => "null"
+});
+var TRUE_VALUES$2 = [
+  "true",
+  "True",
+  "TRUE"
+];
+var FALSE_VALUES$2 = [
+  "false",
+  "False",
+  "FALSE"
+];
+var boolCoreTag = defineScalarTag("tag:yaml.org,2002:bool", {
+  implicit: true,
+  implicitFirstChars: [
+    "t",
+    "T",
+    "f",
+    "F"
+  ],
+  resolve: (source) => {
+    if (TRUE_VALUES$2.indexOf(source) !== -1) return true;
+    if (FALSE_VALUES$2.indexOf(source) !== -1) return false;
+    return NOT_RESOLVED;
+  },
+  identify: (object) => Object.prototype.toString.call(object) === "[object Boolean]",
+  represent: (object) => object ? "true" : "false"
+});
+var TRUE_VALUES$1 = ["true"];
+var FALSE_VALUES$1 = ["false"];
+var boolJsonTag = defineScalarTag("tag:yaml.org,2002:bool", {
+  implicit: true,
+  implicitFirstChars: ["t", "f"],
+  resolve: (source) => {
+    if (TRUE_VALUES$1.indexOf(source) !== -1) return true;
+    if (FALSE_VALUES$1.indexOf(source) !== -1) return false;
+    return NOT_RESOLVED;
+  },
+  identify: (object) => Object.prototype.toString.call(object) === "[object Boolean]",
+  represent: (object) => object ? "true" : "false"
+});
+var TRUE_VALUES = [
+  "true",
+  "True",
+  "TRUE",
+  "y",
+  "Y",
+  "yes",
+  "Yes",
+  "YES",
+  "on",
+  "On",
+  "ON"
+];
+var FALSE_VALUES = [
+  "false",
+  "False",
+  "FALSE",
+  "n",
+  "N",
+  "no",
+  "No",
+  "NO",
+  "off",
+  "Off",
+  "OFF"
+];
+var boolYaml11Tag = defineScalarTag("tag:yaml.org,2002:bool", {
+  implicit: true,
+  implicitFirstChars: [
+    "y",
+    "Y",
+    "n",
+    "N",
+    "t",
+    "T",
+    "f",
+    "F",
+    "o",
+    "O"
+  ],
+  resolve: (source) => {
+    if (TRUE_VALUES.indexOf(source) !== -1) return true;
+    if (FALSE_VALUES.indexOf(source) !== -1) return false;
+    return NOT_RESOLVED;
+  },
+  identify: (object) => Object.prototype.toString.call(object) === "[object Boolean]",
+  represent: (object) => object ? "true" : "false"
+});
+var YAML_INTEGER_IMPLICIT_PATTERN$1 = /* @__PURE__ */ new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$");
+var YAML_INTEGER_EXPLICIT_PATTERN$1 = /* @__PURE__ */ new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");
+function parseYamlInteger$2(source) {
+  let value = source;
+  let sign = 1;
+  if (value[0] === "-" || value[0] === "+") {
+    if (value[0] === "-") sign = -1;
+    value = value.slice(1);
+  }
+  if (value.startsWith("0b")) return sign * parseInt(value.slice(2), 2);
+  if (value.startsWith("0o")) return sign * parseInt(value.slice(2), 8);
+  if (value.startsWith("0x")) return sign * parseInt(value.slice(2), 16);
+  return sign * parseInt(value, 10);
+}
+function resolveYamlInteger$2(source, isExplicit) {
+  if (isExplicit) {
+    if (!YAML_INTEGER_EXPLICIT_PATTERN$1.test(source)) return NOT_RESOLVED;
+  } else if (!YAML_INTEGER_IMPLICIT_PATTERN$1.test(source)) return NOT_RESOLVED;
+  const result = parseYamlInteger$2(source);
+  return Number.isFinite(result) ? result : NOT_RESOLVED;
+}
+var intCoreTag = defineScalarTag("tag:yaml.org,2002:int", {
+  implicit: true,
+  implicitFirstChars: [
+    "-",
+    "+",
+    ..."0123456789"
+  ],
+  resolve: resolveYamlInteger$2,
+  identify: (object) => Object.prototype.toString.call(object) === "[object Number]" && object % 1 === 0 && !Object.is(object, -0),
+  represent: (object) => object.toString(10)
+});
+var YAML_INTEGER_IMPLICIT_PATTERN = /* @__PURE__ */ new RegExp("^-?(?:0|[1-9][0-9]*)$");
+var YAML_INTEGER_EXPLICIT_PATTERN = /* @__PURE__ */ new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");
+function parseYamlInteger$1(source) {
+  let value = source;
+  let sign = 1;
+  if (value[0] === "-" || value[0] === "+") {
+    if (value[0] === "-") sign = -1;
+    value = value.slice(1);
+  }
+  if (value.startsWith("0b")) return sign * parseInt(value.slice(2), 2);
+  if (value.startsWith("0o")) return sign * parseInt(value.slice(2), 8);
+  if (value.startsWith("0x")) return sign * parseInt(value.slice(2), 16);
+  return sign * parseInt(value, 10);
+}
+function resolveYamlInteger$1(source, isExplicit) {
+  if (isExplicit) {
+    if (!YAML_INTEGER_EXPLICIT_PATTERN.test(source)) return NOT_RESOLVED;
+  } else if (!YAML_INTEGER_IMPLICIT_PATTERN.test(source)) return NOT_RESOLVED;
+  const result = parseYamlInteger$1(source);
+  return Number.isFinite(result) ? result : NOT_RESOLVED;
+}
+var intJsonTag = defineScalarTag("tag:yaml.org,2002:int", {
+  implicit: true,
+  implicitFirstChars: ["-", ..."0123456789"],
+  resolve: resolveYamlInteger$1,
+  identify: (object) => Object.prototype.toString.call(object) === "[object Number]" && object % 1 === 0 && !Object.is(object, -0),
+  represent: (object) => object.toString(10)
+});
+var YAML_INTEGER_PATTERN = /* @__PURE__ */ new RegExp("^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?0x[0-9a-fA-F_]+|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+|[-+]?(?:0|[1-9][0-9_]*))$");
+function parseYamlInteger(source) {
+  let value = source.replace(/_/g, "");
+  let sign = 1;
+  if (value[0] === "-" || value[0] === "+") {
+    if (value[0] === "-") sign = -1;
+    value = value.slice(1);
+  }
+  if (value.startsWith("0b")) return sign * parseInt(value.slice(2), 2);
+  if (value.startsWith("0x")) return sign * parseInt(value.slice(2), 16);
+  if (value.includes(":")) {
+    let result = 0;
+    for (const part of value.split(":")) result = result * 60 + Number(part);
+    return sign * result;
+  }
+  if (value !== "0" && value[0] === "0") return sign * parseInt(value, 8);
+  return sign * parseInt(value, 10);
+}
+function resolveYamlInteger(source) {
+  if (!YAML_INTEGER_PATTERN.test(source)) return NOT_RESOLVED;
+  const result = parseYamlInteger(source);
+  return Number.isFinite(result) ? result : NOT_RESOLVED;
+}
+var intYaml11Tag = defineScalarTag("tag:yaml.org,2002:int", {
+  implicit: true,
+  implicitFirstChars: [
+    "-",
+    "+",
+    ..."0123456789"
+  ],
+  resolve: resolveYamlInteger,
+  identify: (object) => Object.prototype.toString.call(object) === "[object Number]" && object % 1 === 0 && !Object.is(object, -0),
+  represent: (object) => object.toString(10)
+});
+var YAML_FLOAT_PATTERN$1 = /* @__PURE__ */ new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
+var YAML_FLOAT_SPECIAL_PATTERN$1 = /* @__PURE__ */ new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
+function resolveYamlFloat$2(source) {
+  if (!YAML_FLOAT_PATTERN$1.test(source)) return NOT_RESOLVED;
+  let value = source.toLowerCase();
+  const sign = value[0] === "-" ? -1 : 1;
+  if ("+-".includes(value[0])) value = value.slice(1);
+  if (value === ".inf") return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
+  if (value === ".nan") return NaN;
+  const result = sign * parseFloat(value);
+  if (Number.isFinite(result) || YAML_FLOAT_SPECIAL_PATTERN$1.test(source)) return result;
+  return NOT_RESOLVED;
+}
+function representYamlFloat$2(object) {
+  if (isNaN(object)) return ".nan";
+  if (object === Number.POSITIVE_INFINITY) return ".inf";
+  if (object === Number.NEGATIVE_INFINITY) return "-.inf";
+  if (Object.is(object, -0)) return "-0.0";
+  const result = object.toString(10);
+  return /^[-+]?[0-9]+e/.test(result) ? result.replace("e", ".e") : result;
+}
+var floatCoreTag = defineScalarTag("tag:yaml.org,2002:float", {
+  implicit: true,
+  implicitFirstChars: [
+    "-",
+    "+",
+    ".",
+    ..."0123456789"
+  ],
+  resolve: resolveYamlFloat$2,
+  identify: (object) => Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || Object.is(object, -0)),
+  represent: representYamlFloat$2
+});
+var YAML_FLOAT_IMPLICIT_PATTERN = /* @__PURE__ */ new RegExp("^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$");
+var YAML_FLOAT_EXPLICIT_PATTERN = /* @__PURE__ */ new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
+function resolveYamlFloat$1(source, isExplicit) {
+  if (isExplicit) {
+    if (!YAML_FLOAT_EXPLICIT_PATTERN.test(source)) return NOT_RESOLVED;
+    let value = source.toLowerCase();
+    const sign = value[0] === "-" ? -1 : 1;
+    if ("+-".includes(value[0])) value = value.slice(1);
+    if (value === ".inf") return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
+    if (value === ".nan") return NaN;
+    const result2 = sign * parseFloat(value);
+    return Number.isFinite(result2) ? result2 : NOT_RESOLVED;
+  }
+  if (!YAML_FLOAT_IMPLICIT_PATTERN.test(source)) return NOT_RESOLVED;
+  const result = Number(source);
+  if (Number.isFinite(result)) return result;
+  return NOT_RESOLVED;
+}
+function representYamlFloat$1(object) {
+  if (isNaN(object)) return ".nan";
+  if (object === Number.POSITIVE_INFINITY) return ".inf";
+  if (object === Number.NEGATIVE_INFINITY) return "-.inf";
+  if (Object.is(object, -0)) return "-0.0";
+  const result = object.toString(10);
+  return /^[-+]?[0-9]+e/.test(result) ? result.replace("e", ".e") : result;
+}
+var floatJsonTag = defineScalarTag("tag:yaml.org,2002:float", {
+  implicit: true,
+  implicitFirstChars: ["-", ..."0123456789"],
+  resolve: resolveYamlFloat$1,
+  identify: (object) => Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || Object.is(object, -0)),
+  represent: representYamlFloat$1
+});
+var YAML_FLOAT_PATTERN = /* @__PURE__ */ new RegExp("^(?:[-+]?(?:(?:[0-9][0-9_]*)?\\.[0-9_]*)(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
+var YAML_FLOAT_SPECIAL_PATTERN = /* @__PURE__ */ new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
+function resolveYamlFloat(source) {
+  if (!YAML_FLOAT_PATTERN.test(source)) return NOT_RESOLVED;
+  let value = source.toLowerCase().replace(/_/g, "");
+  const sign = value[0] === "-" ? -1 : 1;
+  if ("+-".includes(value[0])) value = value.slice(1);
+  if (value === ".inf") return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
+  if (value === ".nan") return NaN;
+  let result = 0;
+  if (value.includes(":")) {
+    for (const part of value.split(":")) result = result * 60 + Number(part);
+    result *= sign;
+  } else result = sign * parseFloat(value);
+  if (Number.isFinite(result) || YAML_FLOAT_SPECIAL_PATTERN.test(source)) return result;
+  return NOT_RESOLVED;
+}
+function representYamlFloat(object) {
+  if (isNaN(object)) return ".nan";
+  if (object === Number.POSITIVE_INFINITY) return ".inf";
+  if (object === Number.NEGATIVE_INFINITY) return "-.inf";
+  if (Object.is(object, -0)) return "-0.0";
+  const result = object.toString(10);
+  return /^[-+]?[0-9]+e/.test(result) ? result.replace("e", ".e") : result;
+}
+var floatYaml11Tag = defineScalarTag("tag:yaml.org,2002:float", {
+  implicit: true,
+  implicitFirstChars: [
+    "-",
+    "+",
+    ".",
+    ..."0123456789"
+  ],
+  resolve: resolveYamlFloat,
+  identify: (object) => Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || Object.is(object, -0)),
+  represent: representYamlFloat
+});
+var mergeTag = defineScalarTag("tag:yaml.org,2002:merge", {
+  implicit: true,
+  implicitFirstChars: ["<"],
+  resolve: (source, isExplicit) => {
+    if (source === "<<" || isExplicit && source === "") return MERGE_KEY;
+    return NOT_RESOLVED;
+  }
+});
+var BASE64_PATTERN = /^[A-Za-z0-9+/]*={0,2}$/;
+function resolveYamlBinary(source) {
+  const input = source.replace(/\s/g, "");
+  if (input.length % 4 !== 0 || !BASE64_PATTERN.test(input)) return NOT_RESOLVED;
+  const binary = atob(input);
+  const result = new Uint8Array(binary.length);
+  for (let index2 = 0; index2 < binary.length; index2++) result[index2] = binary.charCodeAt(index2);
+  return result;
+}
+function representYamlBinary(object) {
+  let binary = "";
+  for (let index2 = 0; index2 < object.length; index2++) binary += String.fromCharCode(object[index2]);
+  return btoa(binary);
+}
+var binaryTag = defineScalarTag("tag:yaml.org,2002:binary", {
+  resolve: resolveYamlBinary,
+  identify: (object) => Object.prototype.toString.call(object) === "[object Uint8Array]",
+  represent: representYamlBinary
+});
+var YAML_DATE_REGEXP = /* @__PURE__ */ new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$");
+var YAML_TIMESTAMP_REGEXP = /* @__PURE__ */ new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");
+function resolveYamlTimestamp(source) {
+  let match2 = YAML_DATE_REGEXP.exec(source);
+  if (match2 === null) match2 = YAML_TIMESTAMP_REGEXP.exec(source);
+  if (match2 === null) return NOT_RESOLVED;
+  const year = +match2[1];
+  const month = +match2[2] - 1;
+  const day = +match2[3];
+  if (!match2[4]) {
+    const date2 = new Date(Date.UTC(year, month, day));
+    if (date2.getUTCFullYear() !== year || date2.getUTCMonth() !== month || date2.getUTCDate() !== day) return NOT_RESOLVED;
+    return date2;
+  }
+  const hour = +match2[4];
+  const minute = +match2[5];
+  const second = +match2[6];
+  let fraction = 0;
+  if (hour > 23 || minute > 59 || second > 59) return NOT_RESOLVED;
+  if (match2[7]) {
+    let value = match2[7].slice(0, 3);
+    while (value.length < 3) value += "0";
+    fraction = +value;
+  }
+  const date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
+  if (date.getUTCFullYear() !== year || date.getUTCMonth() !== month || date.getUTCDate() !== day) return NOT_RESOLVED;
+  if (match2[9]) {
+    const offsetHour = +match2[10];
+    const offsetMinute = +(match2[11] || 0);
+    if (offsetHour > 23 || offsetMinute > 59) return NOT_RESOLVED;
+    const offset = (offsetHour * 60 + offsetMinute) * 6e4;
+    date.setTime(date.getTime() - (match2[9] === "-" ? -offset : offset));
+  }
+  return date;
+}
+var timestampTag = defineScalarTag("tag:yaml.org,2002:timestamp", {
+  implicit: true,
+  implicitFirstChars: [..."0123456789"],
+  resolve: resolveYamlTimestamp,
+  identify: (object) => object instanceof Date,
+  represent: (object) => object.toISOString()
+});
+var seqTag = defineSequenceTag("tag:yaml.org,2002:seq", {
+  create: () => [],
+  addItem: (container, item) => {
+    container.push(item);
+  },
+  identify: Array.isArray
+});
+var omapTag = defineSequenceTag("tag:yaml.org,2002:omap", {
+  create: () => [],
+  addItem: (container, item) => {
+    if (Object.prototype.toString.call(item) !== "[object Object]") return "cannot resolve an ordered map item";
+    const object = item;
+    const itemKeys = Object.keys(object);
+    if (itemKeys.length !== 1) return "cannot resolve an ordered map item";
+    for (const existing of container) if (Object.prototype.hasOwnProperty.call(existing, itemKeys[0])) return "cannot resolve an ordered map item";
+    container.push(object);
+    return "";
+  }
+});
+var pairsTag = defineSequenceTag("tag:yaml.org,2002:pairs", {
+  create: () => [],
+  addItem: (container, item) => {
+    if (item instanceof Map) {
+      if (item.size !== 1) return "cannot resolve a pairs item";
+      container.push(item.entries().next().value);
+      return "";
+    }
+    if (Object.prototype.toString.call(item) !== "[object Object]") return "cannot resolve a pairs item";
+    const object = item;
+    const keys = Object.keys(object);
+    if (keys.length !== 1) return "cannot resolve a pairs item";
+    container.push([keys[0], object[keys[0]]]);
+    return "";
+  }
+});
+function isPlainObject3(data) {
+  if (data === null || typeof data !== "object" || Array.isArray(data)) return false;
+  const prototype = Object.getPrototypeOf(data);
+  return prototype === null || prototype === Object.prototype;
+}
+function pick(object, keys) {
+  const result = {};
+  for (const key of keys) if (object[key] !== void 0) result[key] = object[key];
+  return result;
+}
+var mapTag = defineMappingTag("tag:yaml.org,2002:map", {
+  create: () => ({}),
+  identify: isPlainObject3,
+  represent: (o) => {
+    const map = /* @__PURE__ */ new Map();
+    for (const key of Object.keys(o)) map.set(key, o[key]);
+    return map;
+  },
+  addPair: (container, key, value) => {
+    if (key !== null && typeof key === "object") return "object-based map does not support complex keys";
+    const normalizedKey = String(key);
+    if (normalizedKey === "__proto__") Object.defineProperty(container, normalizedKey, {
+      value,
+      enumerable: true,
+      configurable: true,
+      writable: true
     });
-  }
-  return to;
-};
-var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", {
-  value: mod,
-  enumerable: true
-}) : target, mod));
-var require_common = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  function isNothing(subject) {
-    return typeof subject === "undefined" || subject === null;
-  }
-  function isObject2(subject) {
-    return typeof subject === "object" && subject !== null;
-  }
-  function toArray(sequence) {
-    if (Array.isArray(sequence)) return sequence;
-    else if (isNothing(sequence)) return [];
-    return [sequence];
-  }
-  function extend(target, source) {
-    if (source) {
-      const sourceKeys = Object.keys(source);
-      for (let index = 0, length = sourceKeys.length; index < length; index += 1) {
-        const key = sourceKeys[index];
-        target[key] = source[key];
+    else container[normalizedKey] = value;
+    return "";
+  },
+  has: (container, key) => {
+    if (key !== null && typeof key === "object") return false;
+    return Object.prototype.hasOwnProperty.call(container, String(key));
+  },
+  keys: (container) => Object.keys(container),
+  get: (container, key) => container[String(key)]
+});
+var setTag = defineMappingTag("tag:yaml.org,2002:set", {
+  create: () => /* @__PURE__ */ new Set(),
+  identify: (data) => data instanceof Set,
+  represent: (data) => {
+    const map = /* @__PURE__ */ new Map();
+    for (const key of data) map.set(key, null);
+    return map;
+  },
+  addPair: (container, key, value) => {
+    if (value !== null) return "cannot resolve a set item";
+    container.add(key);
+    return "";
+  },
+  has: (container, key) => container.has(key),
+  keys: (container) => container.keys(),
+  get: () => null
+});
+function createTagDefinitionMap() {
+  return {
+    scalar: {},
+    sequence: {},
+    mapping: {}
+  };
+}
+function createTagDefinitionListMap() {
+  return {
+    scalar: [],
+    sequence: [],
+    mapping: []
+  };
+}
+function compileTags(tags) {
+  const result = [];
+  for (const tag of tags) {
+    let index2 = result.length;
+    for (let previousIndex = 0; previousIndex < result.length; previousIndex++) {
+      const previous = result[previousIndex];
+      if (previous.nodeKind === tag.nodeKind && previous.tagName === tag.tagName && previous.matchByTagPrefix === tag.matchByTagPrefix) {
+        index2 = previousIndex;
+        break;
       }
     }
-    return target;
+    result[index2] = tag;
   }
-  function repeat(string2, count) {
-    let result = "";
-    for (let cycle = 0; cycle < count; cycle += 1) result += string2;
-    return result;
+  return result;
+}
+var Schema = class Schema2 {
+  tags;
+  implicitScalarTags;
+  implicitScalarByFirstChar;
+  implicitScalarAnyFirstChar;
+  defaultScalarTag;
+  defaultSequenceTag;
+  defaultMappingTag;
+  exact;
+  prefix;
+  constructor(tags) {
+    const compiledTags = compileTags(tags);
+    const implicitScalarTags = [];
+    const exact = createTagDefinitionMap();
+    const prefix = createTagDefinitionListMap();
+    for (const tag of compiledTags) {
+      if (tag.nodeKind === "scalar" && tag.implicit) {
+        if (tag.matchByTagPrefix) throw new Error("Implicit scalar tags cannot match by tag prefix");
+        implicitScalarTags.push(tag);
+      }
+      switch (tag.nodeKind) {
+        case "scalar":
+          if (tag.matchByTagPrefix) prefix.scalar.push(tag);
+          else exact.scalar[tag.tagName] = tag;
+          break;
+        case "sequence":
+          if (tag.matchByTagPrefix) prefix.sequence.push(tag);
+          else exact.sequence[tag.tagName] = tag;
+          break;
+        case "mapping":
+          if (tag.matchByTagPrefix) prefix.mapping.push(tag);
+          else exact.mapping[tag.tagName] = tag;
+          break;
+      }
+    }
+    const implicitScalarAnyFirstChar = implicitScalarTags.filter((tag) => tag.implicitFirstChars === null);
+    const keys = /* @__PURE__ */ new Set();
+    for (const tag of implicitScalarTags) if (tag.implicitFirstChars !== null) for (const key of tag.implicitFirstChars) keys.add(key);
+    const implicitScalarByFirstChar = /* @__PURE__ */ new Map();
+    for (const key of keys) implicitScalarByFirstChar.set(key, implicitScalarTags.filter((tag) => tag.implicitFirstChars === null || tag.implicitFirstChars.indexOf(key) !== -1));
+    const defaultScalarTag = exact.scalar["tag:yaml.org,2002:str"];
+    if (!defaultScalarTag) throw new Error("schema does not define the default scalar tag (tag:yaml.org,2002:str)");
+    this.tags = compiledTags;
+    this.implicitScalarTags = implicitScalarTags;
+    this.implicitScalarByFirstChar = implicitScalarByFirstChar;
+    this.implicitScalarAnyFirstChar = implicitScalarAnyFirstChar;
+    this.defaultScalarTag = defaultScalarTag;
+    this.defaultSequenceTag = exact.sequence["tag:yaml.org,2002:seq"];
+    this.defaultMappingTag = exact.mapping["tag:yaml.org,2002:map"];
+    this.exact = exact;
+    this.prefix = prefix;
   }
-  function isNegativeZero(number2) {
-    return number2 === 0 && Number.NEGATIVE_INFINITY === 1 / number2;
+  withTags(...tags) {
+    let flatTags = [];
+    for (const tag of tags) flatTags = flatTags.concat(tag);
+    return new Schema2([...this.tags, ...flatTags]);
   }
-  module2.exports.isNothing = isNothing;
-  module2.exports.isObject = isObject2;
-  module2.exports.toArray = toArray;
-  module2.exports.repeat = repeat;
-  module2.exports.isNegativeZero = isNegativeZero;
-  module2.exports.extend = extend;
-}));
-var require_exception = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  function formatError(exception, compact) {
-    let where = "";
-    const message = exception.reason || "(unknown reason)";
-    if (!exception.mark) return message;
-    if (exception.mark.name) where += 'in "' + exception.mark.name + '" ';
-    where += "(" + (exception.mark.line + 1) + ":" + (exception.mark.column + 1) + ")";
-    if (!compact && exception.mark.snippet) where += "\n\n" + exception.mark.snippet;
-    return message + " " + where;
+};
+var FAILSAFE_SCHEMA = new Schema([
+  strTag,
+  seqTag,
+  mapTag
+]);
+var JSON_SCHEMA = new Schema([
+  ...FAILSAFE_SCHEMA.tags,
+  nullJsonTag,
+  boolJsonTag,
+  intJsonTag,
+  floatJsonTag
+]);
+var CORE_SCHEMA = new Schema([
+  ...FAILSAFE_SCHEMA.tags,
+  nullCoreTag,
+  boolCoreTag,
+  intCoreTag,
+  floatCoreTag
+]);
+var YAML11_SCHEMA = new Schema([
+  ...FAILSAFE_SCHEMA.tags,
+  nullYaml11Tag,
+  boolYaml11Tag,
+  intYaml11Tag,
+  floatYaml11Tag,
+  timestampTag,
+  mergeTag,
+  binaryTag,
+  omapTag,
+  pairsTag,
+  setTag
+]);
+var realMapTag = defineMappingTag("tag:yaml.org,2002:map", {
+  create: () => /* @__PURE__ */ new Map(),
+  addPair: (container, key, value) => {
+    container.set(key, value);
+    return "";
+  },
+  has: (container, key) => container.has(key),
+  keys: (container) => container.keys(),
+  get: (container, key) => container.get(key),
+  identify: (data) => data instanceof Map || isPlainObject3(data),
+  represent: (data) => {
+    if (data instanceof Map) return data;
+    const map = /* @__PURE__ */ new Map();
+    const obj = data;
+    for (const key of Object.keys(obj)) map.set(key, obj[key]);
+    return map;
   }
-  function YAMLException2(reason, mark) {
-    Error.call(this);
+});
+function normalizeKey(key) {
+  if (Array.isArray(key)) {
+    const array = Array.prototype.slice.call(key);
+    for (let index2 = 0; index2 < array.length; index2++) {
+      if (Array.isArray(array[index2])) return null;
+      if (typeof array[index2] === "object" && Object.prototype.toString.call(array[index2]) === "[object Object]") array[index2] = "[object Object]";
+    }
+    return String(array);
+  }
+  if (typeof key === "object" && Object.prototype.toString.call(key) === "[object Object]") return "[object Object]";
+  return String(key);
+}
+var legacyMapTag = defineMappingTag("tag:yaml.org,2002:map", {
+  create: () => ({}),
+  identify: isPlainObject3,
+  represent: (o) => {
+    const map = /* @__PURE__ */ new Map();
+    for (const key of Object.keys(o)) map.set(key, o[key]);
+    return map;
+  },
+  addPair: (container, key, value) => {
+    const normalizedKey = normalizeKey(key);
+    if (normalizedKey === null) return "nested arrays are not supported inside keys";
+    if (normalizedKey === "__proto__") Object.defineProperty(container, normalizedKey, {
+      value,
+      enumerable: true,
+      configurable: true,
+      writable: true
+    });
+    else container[normalizedKey] = value;
+    return "";
+  },
+  has: (container, key) => {
+    const normalizedKey = normalizeKey(key);
+    return normalizedKey !== null && Object.prototype.hasOwnProperty.call(container, normalizedKey);
+  },
+  keys: (container) => Object.keys(container),
+  get: (container, key) => container[String(key)]
+});
+var DEFAULT_SNIPPET_OPTIONS = {
+  maxLength: 79,
+  indent: 1,
+  linesBefore: 3,
+  linesAfter: 2
+};
+function getLine(buffer, lineStart, lineEnd, position, maxLineLength) {
+  let head = "";
+  let tail = "";
+  const maxHalfLength = Math.floor(maxLineLength / 2) - 1;
+  if (position - lineStart > maxHalfLength) {
+    head = " ... ";
+    lineStart = position - maxHalfLength + head.length;
+  }
+  if (lineEnd - position > maxHalfLength) {
+    tail = " ...";
+    lineEnd = position + maxHalfLength - tail.length;
+  }
+  return {
+    str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, "\u2192") + tail,
+    pos: position - lineStart + head.length
+  };
+}
+function padStart(string2, max) {
+  return " ".repeat(Math.max(max - string2.length, 0)) + string2;
+}
+function makeSnippet(mark, options) {
+  if (!mark.buffer) return null;
+  const opts = {
+    ...DEFAULT_SNIPPET_OPTIONS,
+    ...options
+  };
+  const re = /\r?\n|\r|\0/g;
+  const lineStarts = [0];
+  const lineEnds = [];
+  let match2;
+  let foundLineNo = -1;
+  while (match2 = re.exec(mark.buffer)) {
+    lineEnds.push(match2.index);
+    lineStarts.push(match2.index + match2[0].length);
+    if (mark.position <= match2.index && foundLineNo < 0) foundLineNo = lineStarts.length - 2;
+  }
+  if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;
+  let result = "";
+  const lineNoLength = Math.min(mark.line + opts.linesAfter, lineEnds.length).toString().length;
+  const maxLineLength = opts.maxLength - (opts.indent + lineNoLength + 3);
+  for (let i = 1; i <= opts.linesBefore; i++) {
+    if (foundLineNo - i < 0) break;
+    const line2 = getLine(mark.buffer, lineStarts[foundLineNo - i], lineEnds[foundLineNo - i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), maxLineLength);
+    result = `${" ".repeat(opts.indent)}${padStart((mark.line - i + 1).toString(), lineNoLength)} | ${line2.str}
+${result}`;
+  }
+  const line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);
+  result += `${" ".repeat(opts.indent)}${padStart((mark.line + 1).toString(), lineNoLength)} | ${line.str}
+`;
+  result += `${"-".repeat(opts.indent + lineNoLength + 3 + line.pos)}^
+`;
+  for (let i = 1; i <= opts.linesAfter; i++) {
+    if (foundLineNo + i >= lineEnds.length) break;
+    const line2 = getLine(mark.buffer, lineStarts[foundLineNo + i], lineEnds[foundLineNo + i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), maxLineLength);
+    result += `${" ".repeat(opts.indent)}${padStart((mark.line + i + 1).toString(), lineNoLength)} | ${line2.str}
+`;
+  }
+  return result.replace(/\n$/, "");
+}
+function formatError(exception, compact) {
+  let where = "";
+  if (!exception.mark) return exception.reason;
+  if (exception.mark.name) where += `in "${exception.mark.name}" `;
+  where += `(${exception.mark.line + 1}:${exception.mark.column + 1})`;
+  if (!compact && exception.mark.snippet) where += `
+
+${exception.mark.snippet}`;
+  return `${exception.reason} ${where}`;
+}
+var YAMLException = class extends Error {
+  reason;
+  mark;
+  constructor(reason, mark) {
+    super();
     this.name = "YAMLException";
     this.reason = reason;
     this.mark = mark;
     this.message = formatError(this, false);
     if (Error.captureStackTrace) Error.captureStackTrace(this, this.constructor);
-    else this.stack = (/* @__PURE__ */ new Error()).stack || "";
   }
-  YAMLException2.prototype = Object.create(Error.prototype);
-  YAMLException2.prototype.constructor = YAMLException2;
-  YAMLException2.prototype.toString = function toString2(compact) {
-    return this.name + ": " + formatError(this, compact);
+  toString(compact) {
+    return `${this.name}: ${formatError(this, compact)}`;
+  }
+};
+function throwErrorAt(source, position, message, filename = "") {
+  let line = 0;
+  let lineStart = 0;
+  for (let index2 = 0; index2 < position; index2++) {
+    const ch = source.charCodeAt(index2);
+    if (ch === 10) {
+      line++;
+      lineStart = index2 + 1;
+    } else if (ch === 13) {
+      line++;
+      if (source.charCodeAt(index2 + 1) === 10) index2++;
+      lineStart = index2 + 1;
+    }
+  }
+  const mark = {
+    name: filename,
+    buffer: source,
+    position,
+    line,
+    column: position - lineStart
   };
-  module2.exports = YAMLException2;
-}));
-var require_snippet = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var common = require_common();
-  function getLine(buffer, lineStart, lineEnd, position, maxLineLength) {
-    let head = "";
-    let tail = "";
-    const maxHalfLength = Math.floor(maxLineLength / 2) - 1;
-    if (position - lineStart > maxHalfLength) {
-      head = " ... ";
-      lineStart = position - maxHalfLength + head.length;
-    }
-    if (lineEnd - position > maxHalfLength) {
-      tail = " ...";
-      lineEnd = position + maxHalfLength - tail.length;
-    }
-    return {
-      str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, "\u2192") + tail,
-      pos: position - lineStart + head.length
-    };
+  mark.snippet = makeSnippet(mark);
+  throw new YAMLException(message, mark);
+}
+var NO_RANGE$3 = -1;
+function simpleEscapeSequence(c) {
+  switch (c) {
+    case 48:
+      return "\0";
+    case 97:
+      return "\x07";
+    case 98:
+      return "\b";
+    case 116:
+      return "	";
+    case 9:
+      return "	";
+    case 110:
+      return "\n";
+    case 118:
+      return "\v";
+    case 102:
+      return "\f";
+    case 114:
+      return "\r";
+    case 101:
+      return "\x1B";
+    case 32:
+      return " ";
+    case 34:
+      return '"';
+    case 47:
+      return "/";
+    case 92:
+      return "\\";
+    case 78:
+      return "\x85";
+    case 95:
+      return "\xA0";
+    case 76:
+      return "\u2028";
+    case 80:
+      return "\u2029";
+    default:
+      return "";
   }
-  function padStart(string2, max) {
-    return common.repeat(" ", max - string2.length) + string2;
+}
+var simpleEscapeCheck = new Array(256);
+var simpleEscapeMap = new Array(256);
+for (let i = 0; i < 256; i++) {
+  simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
+  simpleEscapeMap[i] = simpleEscapeSequence(i);
+}
+function charFromCodepoint(c) {
+  if (c <= 65535) return String.fromCharCode(c);
+  return String.fromCharCode((c - 65536 >> 10) + 55296, (c - 65536 & 1023) + 56320);
+}
+function fromHexCode$1(c) {
+  if (c >= 48 && c <= 57) return c - 48;
+  return (c | 32) - 97 + 10;
+}
+function escapedHexLen$1(c) {
+  if (c === 120) return 2;
+  if (c === 117) return 4;
+  return 8;
+}
+function skipFoldedBreaks(input, position, end) {
+  let breaks = 0;
+  while (position < end) {
+    const ch = input.charCodeAt(position);
+    if (ch === 10) {
+      breaks++;
+      position++;
+    } else if (ch === 13) {
+      breaks++;
+      position++;
+      if (input.charCodeAt(position) === 10) position++;
+    } else if (ch === 32 || ch === 9) position++;
+    else break;
   }
-  function makeSnippet(mark, options) {
-    options = Object.create(options || null);
-    if (!mark.buffer) return null;
-    if (!options.maxLength) options.maxLength = 79;
-    if (typeof options.indent !== "number") options.indent = 1;
-    if (typeof options.linesBefore !== "number") options.linesBefore = 3;
-    if (typeof options.linesAfter !== "number") options.linesAfter = 2;
-    const re = /\r?\n|\r|\0/g;
-    const lineStarts = [0];
-    const lineEnds = [];
-    let match;
-    let foundLineNo = -1;
-    while (match = re.exec(mark.buffer)) {
-      lineEnds.push(match.index);
-      lineStarts.push(match.index + match[0].length);
-      if (mark.position <= match.index && foundLineNo < 0) foundLineNo = lineStarts.length - 2;
-    }
-    if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;
-    let result = "";
-    const lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;
-    const maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);
-    for (let i = 1; i <= options.linesBefore; i++) {
-      if (foundLineNo - i < 0) break;
-      const line2 = getLine(mark.buffer, lineStarts[foundLineNo - i], lineEnds[foundLineNo - i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), maxLineLength);
-      result = common.repeat(" ", options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + " | " + line2.str + "\n" + result;
-    }
-    const line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);
-    result += common.repeat(" ", options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + " | " + line.str + "\n";
-    result += common.repeat("-", options.indent + lineNoLength + 3 + line.pos) + "^\n";
-    for (let i = 1; i <= options.linesAfter; i++) {
-      if (foundLineNo + i >= lineEnds.length) break;
-      const line2 = getLine(mark.buffer, lineStarts[foundLineNo + i], lineEnds[foundLineNo + i], mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), maxLineLength);
-      result += common.repeat(" ", options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + " | " + line2.str + "\n";
-    }
-    return result.replace(/\n$/, "");
-  }
-  module2.exports = makeSnippet;
-}));
-var require_type = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var YAMLException2 = require_exception();
-  var TYPE_CONSTRUCTOR_OPTIONS = [
-    "kind",
-    "multi",
-    "resolve",
-    "construct",
-    "instanceOf",
-    "predicate",
-    "represent",
-    "representName",
-    "defaultStyle",
-    "styleAliases"
-  ];
-  var YAML_NODE_KINDS = [
-    "scalar",
-    "sequence",
-    "mapping"
-  ];
-  function compileStyleAliases(map) {
-    const result = {};
-    if (map !== null) Object.keys(map).forEach(function(style) {
-      map[style].forEach(function(alias) {
-        result[String(alias)] = style;
-      });
-    });
-    return result;
-  }
-  function Type2(tag, options) {
-    options = options || {};
-    Object.keys(options).forEach(function(name) {
-      if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) throw new YAMLException2('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
-    });
-    this.options = options;
-    this.tag = tag;
-    this.kind = options["kind"] || null;
-    this.resolve = options["resolve"] || function() {
-      return true;
-    };
-    this.construct = options["construct"] || function(data) {
-      return data;
-    };
-    this.instanceOf = options["instanceOf"] || null;
-    this.predicate = options["predicate"] || null;
-    this.represent = options["represent"] || null;
-    this.representName = options["representName"] || null;
-    this.defaultStyle = options["defaultStyle"] || null;
-    this.multi = options["multi"] || false;
-    this.styleAliases = compileStyleAliases(options["styleAliases"] || null);
-    if (YAML_NODE_KINDS.indexOf(this.kind) === -1) throw new YAMLException2('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.');
-  }
-  module2.exports = Type2;
-}));
-var require_schema = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var YAMLException2 = require_exception();
-  var Type2 = require_type();
-  function compileList(schema, name) {
-    const result = [];
-    schema[name].forEach(function(currentType) {
-      let newIndex = result.length;
-      result.forEach(function(previousType, previousIndex) {
-        if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) newIndex = previousIndex;
-      });
-      result[newIndex] = currentType;
-    });
-    return result;
-  }
-  function compileMap() {
-    const result = {
-      scalar: {},
-      sequence: {},
-      mapping: {},
-      fallback: {},
-      multi: {
-        scalar: [],
-        sequence: [],
-        mapping: [],
-        fallback: []
-      }
-    };
-    function collectType(type) {
-      if (type.multi) {
-        result.multi[type.kind].push(type);
-        result.multi["fallback"].push(type);
-      } else result[type.kind][type.tag] = result["fallback"][type.tag] = type;
-    }
-    for (let index = 0, length = arguments.length; index < length; index += 1) arguments[index].forEach(collectType);
-    return result;
-  }
-  function Schema2(definition) {
-    return this.extend(definition);
-  }
-  Schema2.prototype.extend = function extend(definition) {
-    let implicit = [];
-    let explicit = [];
-    if (definition instanceof Type2) explicit.push(definition);
-    else if (Array.isArray(definition)) explicit = explicit.concat(definition);
-    else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {
-      if (definition.implicit) implicit = implicit.concat(definition.implicit);
-      if (definition.explicit) explicit = explicit.concat(definition.explicit);
-    } else throw new YAMLException2("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
-    implicit.forEach(function(type) {
-      if (!(type instanceof Type2)) throw new YAMLException2("Specified list of YAML types (or a single Type object) contains a non-Type object.");
-      if (type.loadKind && type.loadKind !== "scalar") throw new YAMLException2("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
-      if (type.multi) throw new YAMLException2("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
-    });
-    explicit.forEach(function(type) {
-      if (!(type instanceof Type2)) throw new YAMLException2("Specified list of YAML types (or a single Type object) contains a non-Type object.");
-    });
-    const result = Object.create(Schema2.prototype);
-    result.implicit = (this.implicit || []).concat(implicit);
-    result.explicit = (this.explicit || []).concat(explicit);
-    result.compiledImplicit = compileList(result, "implicit");
-    result.compiledExplicit = compileList(result, "explicit");
-    result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit);
-    return result;
+  return {
+    position,
+    breaks
   };
-  module2.exports = Schema2;
-}));
-var require_str = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  module2.exports = new (require_type())("tag:yaml.org,2002:str", {
-    kind: "scalar",
-    construct: function(data) {
-      return data !== null ? data : "";
-    }
-  });
-}));
-var require_seq = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  module2.exports = new (require_type())("tag:yaml.org,2002:seq", {
-    kind: "sequence",
-    construct: function(data) {
-      return data !== null ? data : [];
-    }
-  });
-}));
-var require_map = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  module2.exports = new (require_type())("tag:yaml.org,2002:map", {
-    kind: "mapping",
-    construct: function(data) {
-      return data !== null ? data : {};
-    }
-  });
-}));
-var require_failsafe = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  module2.exports = new (require_schema())({ explicit: [
-    require_str(),
-    require_seq(),
-    require_map()
-  ] });
-}));
-var require_null = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  function resolveYamlNull(data) {
-    if (data === null) return true;
-    const max = data.length;
-    return max === 1 && data === "~" || max === 4 && (data === "null" || data === "Null" || data === "NULL");
-  }
-  function constructYamlNull() {
-    return null;
-  }
-  function isNull(object2) {
-    return object2 === null;
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:null", {
-    kind: "scalar",
-    resolve: resolveYamlNull,
-    construct: constructYamlNull,
-    predicate: isNull,
-    represent: {
-      canonical: function() {
-        return "~";
-      },
-      lowercase: function() {
-        return "null";
-      },
-      uppercase: function() {
-        return "NULL";
-      },
-      camelcase: function() {
-        return "Null";
-      },
-      empty: function() {
-        return "";
-      }
-    },
-    defaultStyle: "lowercase"
-  });
-}));
-var require_bool = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  function resolveYamlBoolean(data) {
-    if (data === null) return false;
-    const max = data.length;
-    return max === 4 && (data === "true" || data === "True" || data === "TRUE") || max === 5 && (data === "false" || data === "False" || data === "FALSE");
-  }
-  function constructYamlBoolean(data) {
-    return data === "true" || data === "True" || data === "TRUE";
-  }
-  function isBoolean(object2) {
-    return Object.prototype.toString.call(object2) === "[object Boolean]";
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:bool", {
-    kind: "scalar",
-    resolve: resolveYamlBoolean,
-    construct: constructYamlBoolean,
-    predicate: isBoolean,
-    represent: {
-      lowercase: function(object2) {
-        return object2 ? "true" : "false";
-      },
-      uppercase: function(object2) {
-        return object2 ? "TRUE" : "FALSE";
-      },
-      camelcase: function(object2) {
-        return object2 ? "True" : "False";
-      }
-    },
-    defaultStyle: "lowercase"
-  });
-}));
-var require_int = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var common = require_common();
-  var Type2 = require_type();
-  function isHexCode(c) {
-    return c >= 48 && c <= 57 || c >= 65 && c <= 70 || c >= 97 && c <= 102;
-  }
-  function isOctCode(c) {
-    return c >= 48 && c <= 55;
-  }
-  function isDecCode(c) {
-    return c >= 48 && c <= 57;
-  }
-  function resolveYamlInteger(data) {
-    if (data === null) return false;
-    const max = data.length;
-    let index = 0;
-    let hasDigits = false;
-    if (!max) return false;
-    let ch = data[index];
-    if (ch === "-" || ch === "+") ch = data[++index];
-    if (ch === "0") {
-      if (index + 1 === max) return true;
-      ch = data[++index];
-      if (ch === "b") {
-        index++;
-        for (; index < max; index++) {
-          ch = data[index];
-          if (ch !== "0" && ch !== "1") return false;
-          hasDigits = true;
-        }
-        return hasDigits && Number.isFinite(parseYamlInteger(data));
-      }
-      if (ch === "x") {
-        index++;
-        for (; index < max; index++) {
-          if (!isHexCode(data.charCodeAt(index))) return false;
-          hasDigits = true;
-        }
-        return hasDigits && Number.isFinite(parseYamlInteger(data));
-      }
-      if (ch === "o") {
-        index++;
-        for (; index < max; index++) {
-          if (!isOctCode(data.charCodeAt(index))) return false;
-          hasDigits = true;
-        }
-        return hasDigits && Number.isFinite(parseYamlInteger(data));
-      }
-    }
-    for (; index < max; index++) {
-      if (!isDecCode(data.charCodeAt(index))) return false;
-      hasDigits = true;
-    }
-    if (!hasDigits) return false;
-    return Number.isFinite(parseYamlInteger(data));
-  }
-  function parseYamlInteger(data) {
-    let value = data;
-    let sign = 1;
-    let ch = value[0];
-    if (ch === "-" || ch === "+") {
-      if (ch === "-") sign = -1;
-      value = value.slice(1);
-      ch = value[0];
-    }
-    if (value === "0") return 0;
-    if (ch === "0") {
-      if (value[1] === "b") return sign * parseInt(value.slice(2), 2);
-      if (value[1] === "x") return sign * parseInt(value.slice(2), 16);
-      if (value[1] === "o") return sign * parseInt(value.slice(2), 8);
-    }
-    return sign * parseInt(value, 10);
-  }
-  function constructYamlInteger(data) {
-    return parseYamlInteger(data);
-  }
-  function isInteger(object2) {
-    return Object.prototype.toString.call(object2) === "[object Number]" && object2 % 1 === 0 && !common.isNegativeZero(object2);
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:int", {
-    kind: "scalar",
-    resolve: resolveYamlInteger,
-    construct: constructYamlInteger,
-    predicate: isInteger,
-    represent: {
-      binary: function(obj) {
-        return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1);
-      },
-      octal: function(obj) {
-        return obj >= 0 ? "0o" + obj.toString(8) : "-0o" + obj.toString(8).slice(1);
-      },
-      decimal: function(obj) {
-        return obj.toString(10);
-      },
-      hexadecimal: function(obj) {
-        return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1);
-      }
-    },
-    defaultStyle: "decimal",
-    styleAliases: {
-      binary: [2, "bin"],
-      octal: [8, "oct"],
-      decimal: [10, "dec"],
-      hexadecimal: [16, "hex"]
-    }
-  });
-}));
-var require_float = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var common = require_common();
-  var Type2 = require_type();
-  var YAML_FLOAT_PATTERN = /* @__PURE__ */ new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
-  var YAML_FLOAT_SPECIAL_PATTERN = /* @__PURE__ */ new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
-  function resolveYamlFloat(data) {
-    if (data === null) return false;
-    if (!YAML_FLOAT_PATTERN.test(data)) return false;
-    if (Number.isFinite(parseFloat(data, 10))) return true;
-    return YAML_FLOAT_SPECIAL_PATTERN.test(data);
-  }
-  function constructYamlFloat(data) {
-    let value = data.toLowerCase();
-    const sign = value[0] === "-" ? -1 : 1;
-    if ("+-".indexOf(value[0]) >= 0) value = value.slice(1);
-    if (value === ".inf") return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
-    else if (value === ".nan") return NaN;
-    return sign * parseFloat(value, 10);
-  }
-  var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;
-  function representYamlFloat(object2, style) {
-    if (isNaN(object2)) switch (style) {
-      case "lowercase":
-        return ".nan";
-      case "uppercase":
-        return ".NAN";
-      case "camelcase":
-        return ".NaN";
-    }
-    else if (Number.POSITIVE_INFINITY === object2) switch (style) {
-      case "lowercase":
-        return ".inf";
-      case "uppercase":
-        return ".INF";
-      case "camelcase":
-        return ".Inf";
-    }
-    else if (Number.NEGATIVE_INFINITY === object2) switch (style) {
-      case "lowercase":
-        return "-.inf";
-      case "uppercase":
-        return "-.INF";
-      case "camelcase":
-        return "-.Inf";
-    }
-    else if (common.isNegativeZero(object2)) return "-0.0";
-    const res = object2.toString(10);
-    return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res;
-  }
-  function isFloat(object2) {
-    return Object.prototype.toString.call(object2) === "[object Number]" && (object2 % 1 !== 0 || common.isNegativeZero(object2));
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:float", {
-    kind: "scalar",
-    resolve: resolveYamlFloat,
-    construct: constructYamlFloat,
-    predicate: isFloat,
-    represent: representYamlFloat,
-    defaultStyle: "lowercase"
-  });
-}));
-var require_json = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  module2.exports = require_failsafe().extend({ implicit: [
-    require_null(),
-    require_bool(),
-    require_int(),
-    require_float()
-  ] });
-}));
-var require_core2 = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  module2.exports = require_json();
-}));
-var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  var YAML_DATE_REGEXP = /* @__PURE__ */ new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$");
-  var YAML_TIMESTAMP_REGEXP = /* @__PURE__ */ new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");
-  function resolveYamlTimestamp(data) {
-    if (data === null) return false;
-    if (YAML_DATE_REGEXP.exec(data) !== null) return true;
-    if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
-    return false;
-  }
-  function constructYamlTimestamp(data) {
-    let fraction = 0;
-    let delta = null;
-    let match = YAML_DATE_REGEXP.exec(data);
-    if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
-    if (match === null) throw new Error("Date resolve error");
-    const year = +match[1];
-    const month = +match[2] - 1;
-    const day = +match[3];
-    if (!match[4]) return new Date(Date.UTC(year, month, day));
-    const hour = +match[4];
-    const minute = +match[5];
-    const second = +match[6];
-    if (match[7]) {
-      fraction = match[7].slice(0, 3);
-      while (fraction.length < 3) fraction += "0";
-      fraction = +fraction;
-    }
-    if (match[9]) {
-      const tzHour = +match[10];
-      const tzMinute = +(match[11] || 0);
-      delta = (tzHour * 60 + tzMinute) * 6e4;
-      if (match[9] === "-") delta = -delta;
-    }
-    const date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
-    if (delta) date.setTime(date.getTime() - delta);
-    return date;
-  }
-  function representYamlTimestamp(object2) {
-    return object2.toISOString();
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:timestamp", {
-    kind: "scalar",
-    resolve: resolveYamlTimestamp,
-    construct: constructYamlTimestamp,
-    instanceOf: Date,
-    represent: representYamlTimestamp
-  });
-}));
-var require_merge = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  function resolveYamlMerge(data) {
-    return data === "<<" || data === null;
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:merge", {
-    kind: "scalar",
-    resolve: resolveYamlMerge
-  });
-}));
-var require_binary = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
-  function resolveYamlBinary(data) {
-    if (data === null) return false;
-    let bitlen = 0;
-    const max = data.length;
-    const map = BASE64_MAP;
-    for (let idx = 0; idx < max; idx++) {
-      const code = map.indexOf(data.charAt(idx));
-      if (code > 64) continue;
-      if (code < 0) return false;
-      bitlen += 6;
-    }
-    return bitlen % 8 === 0;
-  }
-  function constructYamlBinary(data) {
-    const input = data.replace(/[\r\n=]/g, "");
-    const max = input.length;
-    const map = BASE64_MAP;
-    let bits = 0;
-    const result = [];
-    for (let idx = 0; idx < max; idx++) {
-      if (idx % 4 === 0 && idx) {
-        result.push(bits >> 16 & 255);
-        result.push(bits >> 8 & 255);
-        result.push(bits & 255);
-      }
-      bits = bits << 6 | map.indexOf(input.charAt(idx));
-    }
-    const tailbits = max % 4 * 6;
-    if (tailbits === 0) {
-      result.push(bits >> 16 & 255);
-      result.push(bits >> 8 & 255);
-      result.push(bits & 255);
-    } else if (tailbits === 18) {
-      result.push(bits >> 10 & 255);
-      result.push(bits >> 2 & 255);
-    } else if (tailbits === 12) result.push(bits >> 4 & 255);
-    return new Uint8Array(result);
-  }
-  function representYamlBinary(object2) {
-    let result = "";
-    let bits = 0;
-    const max = object2.length;
-    const map = BASE64_MAP;
-    for (let idx = 0; idx < max; idx++) {
-      if (idx % 3 === 0 && idx) {
-        result += map[bits >> 18 & 63];
-        result += map[bits >> 12 & 63];
-        result += map[bits >> 6 & 63];
-        result += map[bits & 63];
-      }
-      bits = (bits << 8) + object2[idx];
-    }
-    const tail = max % 3;
-    if (tail === 0) {
-      result += map[bits >> 18 & 63];
-      result += map[bits >> 12 & 63];
-      result += map[bits >> 6 & 63];
-      result += map[bits & 63];
-    } else if (tail === 2) {
-      result += map[bits >> 10 & 63];
-      result += map[bits >> 4 & 63];
-      result += map[bits << 2 & 63];
-      result += map[64];
-    } else if (tail === 1) {
-      result += map[bits >> 2 & 63];
-      result += map[bits << 4 & 63];
-      result += map[64];
-      result += map[64];
-    }
-    return result;
-  }
-  function isBinary(obj) {
-    return Object.prototype.toString.call(obj) === "[object Uint8Array]";
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:binary", {
-    kind: "scalar",
-    resolve: resolveYamlBinary,
-    construct: constructYamlBinary,
-    predicate: isBinary,
-    represent: representYamlBinary
-  });
-}));
-var require_omap = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  var _hasOwnProperty = Object.prototype.hasOwnProperty;
-  var _toString = Object.prototype.toString;
-  function resolveYamlOmap(data) {
-    if (data === null) return true;
-    const objectKeys = [];
-    const object2 = data;
-    for (let index = 0, length = object2.length; index < length; index += 1) {
-      const pair = object2[index];
-      let pairHasKey = false;
-      if (_toString.call(pair) !== "[object Object]") return false;
-      let pairKey;
-      for (pairKey in pair) if (_hasOwnProperty.call(pair, pairKey)) if (!pairHasKey) pairHasKey = true;
-      else return false;
-      if (!pairHasKey) return false;
-      if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
-      else return false;
-    }
-    return true;
-  }
-  function constructYamlOmap(data) {
-    return data !== null ? data : [];
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:omap", {
-    kind: "sequence",
-    resolve: resolveYamlOmap,
-    construct: constructYamlOmap
-  });
-}));
-var require_pairs = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  var _toString = Object.prototype.toString;
-  function resolveYamlPairs(data) {
-    if (data === null) return true;
-    const object2 = data;
-    const result = new Array(object2.length);
-    for (let index = 0, length = object2.length; index < length; index += 1) {
-      const pair = object2[index];
-      if (_toString.call(pair) !== "[object Object]") return false;
-      const keys = Object.keys(pair);
-      if (keys.length !== 1) return false;
-      result[index] = [keys[0], pair[keys[0]]];
-    }
-    return true;
-  }
-  function constructYamlPairs(data) {
-    if (data === null) return [];
-    const object2 = data;
-    const result = new Array(object2.length);
-    for (let index = 0, length = object2.length; index < length; index += 1) {
-      const pair = object2[index];
-      const keys = Object.keys(pair);
-      result[index] = [keys[0], pair[keys[0]]];
-    }
-    return result;
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:pairs", {
-    kind: "sequence",
-    resolve: resolveYamlPairs,
-    construct: constructYamlPairs
-  });
-}));
-var require_set = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var Type2 = require_type();
-  var _hasOwnProperty = Object.prototype.hasOwnProperty;
-  function resolveYamlSet(data) {
-    if (data === null) return true;
-    const object2 = data;
-    for (const key in object2) if (_hasOwnProperty.call(object2, key)) {
-      if (object2[key] !== null) return false;
-    }
-    return true;
-  }
-  function constructYamlSet(data) {
-    return data !== null ? data : {};
-  }
-  module2.exports = new Type2("tag:yaml.org,2002:set", {
-    kind: "mapping",
-    resolve: resolveYamlSet,
-    construct: constructYamlSet
-  });
-}));
-var require_default = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  module2.exports = require_core2().extend({
-    implicit: [require_timestamp(), require_merge()],
-    explicit: [
-      require_binary(),
-      require_omap(),
-      require_pairs(),
-      require_set()
-    ]
-  });
-}));
-var require_loader = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var common = require_common();
-  var YAMLException2 = require_exception();
-  var makeSnippet = require_snippet();
-  var DEFAULT_SCHEMA2 = require_default();
-  var _hasOwnProperty = Object.prototype.hasOwnProperty;
-  var CONTEXT_FLOW_IN = 1;
-  var CONTEXT_FLOW_OUT = 2;
-  var CONTEXT_BLOCK_IN = 3;
-  var CONTEXT_BLOCK_OUT = 4;
-  var CHOMPING_CLIP = 1;
-  var CHOMPING_STRIP = 2;
-  var CHOMPING_KEEP = 3;
-  var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
-  var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
-  var PATTERN_FLOW_INDICATORS = /[,\[\]{}]/;
-  var PATTERN_TAG_HANDLE = /^(?:!|!!|![0-9A-Za-z-]+!)$/;
-  var PATTERN_TAG_URI = /^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;
-  function _class(obj) {
-    return Object.prototype.toString.call(obj);
-  }
-  function isEol(c) {
-    return c === 10 || c === 13;
-  }
-  function isWhiteSpace(c) {
-    return c === 9 || c === 32;
-  }
-  function isWsOrEol(c) {
-    return c === 9 || c === 32 || c === 10 || c === 13;
-  }
-  function isFlowIndicator(c) {
-    return c === 44 || c === 91 || c === 93 || c === 123 || c === 125;
-  }
-  function fromHexCode(c) {
-    if (c >= 48 && c <= 57) return c - 48;
-    const lc = c | 32;
-    if (lc >= 97 && lc <= 102) return lc - 97 + 10;
-    return -1;
-  }
-  function escapedHexLen(c) {
-    if (c === 120) return 2;
-    if (c === 117) return 4;
-    if (c === 85) return 8;
-    return 0;
-  }
-  function fromDecimalCode(c) {
-    if (c >= 48 && c <= 57) return c - 48;
-    return -1;
-  }
-  function simpleEscapeSequence(c) {
-    switch (c) {
-      case 48:
-        return "\0";
-      case 97:
-        return "\x07";
-      case 98:
-        return "\b";
-      case 116:
-        return "	";
-      case 9:
-        return "	";
-      case 110:
-        return "\n";
-      case 118:
-        return "\v";
-      case 102:
-        return "\f";
-      case 114:
-        return "\r";
-      case 101:
-        return "\x1B";
-      case 32:
-        return " ";
-      case 34:
-        return '"';
-      case 47:
-        return "/";
-      case 92:
-        return "\\";
-      case 78:
-        return "\x85";
-      case 95:
-        return "\xA0";
-      case 76:
-        return "\u2028";
-      case 80:
-        return "\u2029";
-      default:
-        return "";
+}
+function foldedBreaks(count) {
+  if (count === 1) return " ";
+  return "\n".repeat(count - 1);
+}
+function getPlainValue(input, start, end) {
+  let result = "";
+  let position = start;
+  let captureStart = start;
+  let captureEnd = start;
+  while (position < end) {
+    const ch = input.charCodeAt(position);
+    if (ch === 10 || ch === 13) {
+      result += input.slice(captureStart, captureEnd);
+      const fold = skipFoldedBreaks(input, position, end);
+      result += foldedBreaks(fold.breaks);
+      position = captureStart = captureEnd = fold.position;
+    } else {
+      position++;
+      if (ch !== 32 && ch !== 9) captureEnd = position;
     }
   }
-  function charFromCodepoint(c) {
-    if (c <= 65535) return String.fromCharCode(c);
-    return String.fromCharCode((c - 65536 >> 10) + 55296, (c - 65536 & 1023) + 56320);
-  }
-  function setProperty2(object2, key, value) {
-    if (key === "__proto__") Object.defineProperty(object2, key, {
-      configurable: true,
-      enumerable: true,
-      writable: true,
-      value
-    });
-    else object2[key] = value;
-  }
-  var simpleEscapeCheck = new Array(256);
-  var simpleEscapeMap = new Array(256);
-  for (let i = 0; i < 256; i++) {
-    simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
-    simpleEscapeMap[i] = simpleEscapeSequence(i);
-  }
-  function State(input, options) {
-    this.input = input;
-    this.filename = options["filename"] || null;
-    this.schema = options["schema"] || DEFAULT_SCHEMA2;
-    this.onWarning = options["onWarning"] || null;
-    this.legacy = options["legacy"] || false;
-    this.json = options["json"] || false;
-    this.listener = options["listener"] || null;
-    this.maxDepth = typeof options["maxDepth"] === "number" ? options["maxDepth"] : 100;
-    this.maxMergeSeqLength = typeof options["maxMergeSeqLength"] === "number" ? options["maxMergeSeqLength"] : 20;
-    this.implicitTypes = this.schema.compiledImplicit;
-    this.typeMap = this.schema.compiledTypeMap;
-    this.length = input.length;
-    this.position = 0;
-    this.line = 0;
-    this.lineStart = 0;
-    this.lineIndent = 0;
-    this.depth = 0;
-    this.firstTabInLine = -1;
-    this.documents = [];
-    this.anchorMapTransactions = [];
-  }
-  function generateError(state, message) {
-    const mark = {
-      name: state.filename,
-      buffer: state.input.slice(0, -1),
-      position: state.position,
-      line: state.line,
-      column: state.position - state.lineStart
-    };
-    mark.snippet = makeSnippet(mark);
-    return new YAMLException2(message, mark);
-  }
-  function throwError(state, message) {
-    throw generateError(state, message);
-  }
-  function throwWarning(state, message) {
-    if (state.onWarning) state.onWarning.call(null, generateError(state, message));
-  }
-  function storeAnchor(state, name, value) {
-    const transactions = state.anchorMapTransactions;
-    if (transactions.length !== 0) {
-      const transaction = transactions[transactions.length - 1];
-      if (!_hasOwnProperty.call(transaction, name)) transaction[name] = {
-        existed: _hasOwnProperty.call(state.anchorMap, name),
-        value: state.anchorMap[name]
-      };
-    }
-    state.anchorMap[name] = value;
-  }
-  function beginAnchorTransaction(state) {
-    state.anchorMapTransactions.push(/* @__PURE__ */ Object.create(null));
-  }
-  function commitAnchorTransaction(state) {
-    const transaction = state.anchorMapTransactions.pop();
-    const transactions = state.anchorMapTransactions;
-    if (transactions.length === 0) return;
-    const parent = transactions[transactions.length - 1];
-    const names = Object.keys(transaction);
-    for (let index = 0, length = names.length; index < length; index += 1) {
-      const name = names[index];
-      if (!_hasOwnProperty.call(parent, name)) parent[name] = transaction[name];
+  return result + input.slice(captureStart, captureEnd);
+}
+function getSingleQuotedValue(input, start, end) {
+  let result = "";
+  let position = start;
+  let captureStart = start;
+  let captureEnd = start;
+  while (position < end) {
+    const ch = input.charCodeAt(position);
+    if (ch === 39) {
+      result += input.slice(captureStart, position) + "'";
+      position += 2;
+      captureStart = captureEnd = position;
+    } else if (ch === 10 || ch === 13) {
+      result += input.slice(captureStart, captureEnd);
+      const fold = skipFoldedBreaks(input, position, end);
+      result += foldedBreaks(fold.breaks);
+      position = captureStart = captureEnd = fold.position;
+    } else {
+      position++;
+      if (ch !== 32 && ch !== 9) captureEnd = position;
     }
   }
-  function rollbackAnchorTransaction(state) {
-    const transaction = state.anchorMapTransactions.pop();
-    const names = Object.keys(transaction);
-    for (let index = names.length - 1; index >= 0; index -= 1) {
-      const entry = transaction[names[index]];
-      if (entry.existed) state.anchorMap[names[index]] = entry.value;
-      else delete state.anchorMap[names[index]];
-    }
-  }
-  function snapshotState(state) {
-    return {
-      position: state.position,
-      line: state.line,
-      lineStart: state.lineStart,
-      lineIndent: state.lineIndent,
-      firstTabInLine: state.firstTabInLine,
-      tag: state.tag,
-      anchor: state.anchor,
-      kind: state.kind,
-      result: state.result
-    };
-  }
-  function restoreState(state, snapshot) {
-    state.position = snapshot.position;
-    state.line = snapshot.line;
-    state.lineStart = snapshot.lineStart;
-    state.lineIndent = snapshot.lineIndent;
-    state.firstTabInLine = snapshot.firstTabInLine;
-    state.tag = snapshot.tag;
-    state.anchor = snapshot.anchor;
-    state.kind = snapshot.kind;
-    state.result = snapshot.result;
-  }
-  var directiveHandlers = {
-    YAML: function handleYamlDirective(state, name, args) {
-      if (state.version !== null) throwError(state, "duplication of %YAML directive");
-      if (args.length !== 1) throwError(state, "YAML directive accepts exactly one argument");
-      const match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
-      if (match === null) throwError(state, "ill-formed argument of the YAML directive");
-      const major = parseInt(match[1], 10);
-      const minor = parseInt(match[2], 10);
-      if (major !== 1) throwError(state, "unacceptable YAML version of the document");
-      state.version = args[0];
-      state.checkLineBreaks = minor < 2;
-      if (minor !== 1 && minor !== 2) throwWarning(state, "unsupported YAML version of the document");
-    },
-    TAG: function handleTagDirective(state, name, args) {
-      let prefix;
-      if (args.length !== 2) throwError(state, "TAG directive accepts exactly two arguments");
-      const handle = args[0];
-      prefix = args[1];
-      if (!PATTERN_TAG_HANDLE.test(handle)) throwError(state, "ill-formed tag handle (first argument) of the TAG directive");
-      if (_hasOwnProperty.call(state.tagMap, handle)) throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
-      if (!PATTERN_TAG_URI.test(prefix)) throwError(state, "ill-formed tag prefix (second argument) of the TAG directive");
-      try {
-        prefix = decodeURIComponent(prefix);
-      } catch (err) {
-        throwError(state, "tag prefix is malformed: " + prefix);
-      }
-      state.tagMap[handle] = prefix;
-    }
-  };
-  function captureSegment(state, start, end, checkJson) {
-    if (start < end) {
-      const _result = state.input.slice(start, end);
-      if (checkJson) for (let _position = 0, _length = _result.length; _position < _length; _position += 1) {
-        const _character = _result.charCodeAt(_position);
-        if (!(_character === 9 || _character >= 32 && _character <= 1114111)) throwError(state, "expected valid JSON character");
-      }
-      else if (PATTERN_NON_PRINTABLE.test(_result)) throwError(state, "the stream contains non-printable characters");
-      state.result += _result;
-    }
-  }
-  function mergeMappings(state, destination, source, overridableKeys) {
-    if (!common.isObject(source)) throwError(state, "cannot merge mappings; the provided source object is unacceptable");
-    const sourceKeys = Object.keys(source);
-    for (let index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
-      const key = sourceKeys[index];
-      if (!_hasOwnProperty.call(destination, key)) {
-        setProperty2(destination, key, source[key]);
-        overridableKeys[key] = true;
-      }
-    }
-  }
-  function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) {
-    if (Array.isArray(keyNode)) {
-      keyNode = Array.prototype.slice.call(keyNode);
-      for (let index = 0, quantity = keyNode.length; index < quantity; index += 1) {
-        if (Array.isArray(keyNode[index])) throwError(state, "nested arrays are not supported inside keys");
-        if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") keyNode[index] = "[object Object]";
-      }
-    }
-    if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") keyNode = "[object Object]";
-    keyNode = String(keyNode);
-    if (_result === null) _result = {};
-    if (keyTag === "tag:yaml.org,2002:merge") if (Array.isArray(valueNode)) {
-      if (valueNode.length > state.maxMergeSeqLength) throwError(state, "merge sequence length exceeded maxMergeSeqLength (" + state.maxMergeSeqLength + ")");
-      const seen = /* @__PURE__ */ new Set();
-      for (let index = 0, quantity = valueNode.length; index < quantity; index += 1) {
-        const src = valueNode[index];
-        if (seen.has(src)) continue;
-        seen.add(src);
-        mergeMappings(state, _result, src, overridableKeys);
-      }
-    } else mergeMappings(state, _result, valueNode, overridableKeys);
-    else {
-      if (!state.json && !_hasOwnProperty.call(overridableKeys, keyNode) && _hasOwnProperty.call(_result, keyNode)) {
-        state.line = startLine || state.line;
-        state.lineStart = startLineStart || state.lineStart;
-        state.position = startPos || state.position;
-        throwError(state, "duplicated mapping key");
-      }
-      setProperty2(_result, keyNode, valueNode);
-      delete overridableKeys[keyNode];
-    }
-    return _result;
-  }
-  function readLineBreak(state) {
-    const ch = state.input.charCodeAt(state.position);
-    if (ch === 10) state.position++;
-    else if (ch === 13) {
-      state.position++;
-      if (state.input.charCodeAt(state.position) === 10) state.position++;
-    } else throwError(state, "a line break is expected");
-    state.line += 1;
-    state.lineStart = state.position;
-    state.firstTabInLine = -1;
-  }
-  function skipSeparationSpace(state, allowComments, checkIndent) {
-    let lineBreaks = 0;
-    let ch = state.input.charCodeAt(state.position);
-    while (ch !== 0) {
-      while (isWhiteSpace(ch)) {
-        if (ch === 9 && state.firstTabInLine === -1) state.firstTabInLine = state.position;
-        ch = state.input.charCodeAt(++state.position);
-      }
-      if (allowComments && ch === 35) do
-        ch = state.input.charCodeAt(++state.position);
-      while (ch !== 10 && ch !== 13 && ch !== 0);
-      if (isEol(ch)) {
-        readLineBreak(state);
-        ch = state.input.charCodeAt(state.position);
-        lineBreaks++;
-        state.lineIndent = 0;
-        while (ch === 32) {
-          state.lineIndent++;
-          ch = state.input.charCodeAt(++state.position);
-        }
-      } else break;
-    }
-    if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) throwWarning(state, "deficient indentation");
-    return lineBreaks;
-  }
-  function testDocumentSeparator(state) {
-    let _position = state.position;
-    let ch = state.input.charCodeAt(_position);
-    if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
-      _position += 3;
-      ch = state.input.charCodeAt(_position);
-      if (ch === 0 || isWsOrEol(ch)) return true;
-    }
-    return false;
-  }
-  function writeFoldedLines(state, count) {
-    if (count === 1) state.result += " ";
-    else if (count > 1) state.result += common.repeat("\n", count - 1);
-  }
-  function readPlainScalar(state, nodeIndent, withinFlowCollection) {
-    let captureStart;
-    let captureEnd;
-    let hasPendingContent;
-    let _line;
-    let _lineStart;
-    let _lineIndent;
-    const _kind = state.kind;
-    const _result = state.result;
-    let ch = state.input.charCodeAt(state.position);
-    if (isWsOrEol(ch) || isFlowIndicator(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) return false;
-    if (ch === 63 || ch === 45) {
-      const following = state.input.charCodeAt(state.position + 1);
-      if (isWsOrEol(following) || withinFlowCollection && isFlowIndicator(following)) return false;
-    }
-    state.kind = "scalar";
-    state.result = "";
-    captureStart = captureEnd = state.position;
-    hasPendingContent = false;
-    while (ch !== 0) {
-      if (ch === 58) {
-        const following = state.input.charCodeAt(state.position + 1);
-        if (isWsOrEol(following) || withinFlowCollection && isFlowIndicator(following)) break;
-      } else if (ch === 35) {
-        if (isWsOrEol(state.input.charCodeAt(state.position - 1))) break;
-      } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && isFlowIndicator(ch)) break;
-      else if (isEol(ch)) {
-        _line = state.line;
-        _lineStart = state.lineStart;
-        _lineIndent = state.lineIndent;
-        skipSeparationSpace(state, false, -1);
-        if (state.lineIndent >= nodeIndent) {
-          hasPendingContent = true;
-          ch = state.input.charCodeAt(state.position);
-          continue;
-        } else {
-          state.position = captureEnd;
-          state.line = _line;
-          state.lineStart = _lineStart;
-          state.lineIndent = _lineIndent;
-          break;
-        }
-      }
-      if (hasPendingContent) {
-        captureSegment(state, captureStart, captureEnd, false);
-        writeFoldedLines(state, state.line - _line);
-        captureStart = captureEnd = state.position;
-        hasPendingContent = false;
-      }
-      if (!isWhiteSpace(ch)) captureEnd = state.position + 1;
-      ch = state.input.charCodeAt(++state.position);
-    }
-    captureSegment(state, captureStart, captureEnd, false);
-    if (state.result) return true;
-    state.kind = _kind;
-    state.result = _result;
-    return false;
-  }
-  function readSingleQuotedScalar(state, nodeIndent) {
-    let captureStart;
-    let captureEnd;
-    let ch = state.input.charCodeAt(state.position);
-    if (ch !== 39) return false;
-    state.kind = "scalar";
-    state.result = "";
-    state.position++;
-    captureStart = captureEnd = state.position;
-    while ((ch = state.input.charCodeAt(state.position)) !== 0) if (ch === 39) {
-      captureSegment(state, captureStart, state.position, true);
-      ch = state.input.charCodeAt(++state.position);
-      if (ch === 39) {
-        captureStart = state.position;
-        state.position++;
-        captureEnd = state.position;
-      } else return true;
-    } else if (isEol(ch)) {
-      captureSegment(state, captureStart, captureEnd, true);
-      writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
-      captureStart = captureEnd = state.position;
-    } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError(state, "unexpected end of the document within a single quoted scalar");
-    else {
-      state.position++;
-      if (!isWhiteSpace(ch)) captureEnd = state.position;
-    }
-    throwError(state, "unexpected end of the stream within a single quoted scalar");
-  }
-  function readDoubleQuotedScalar(state, nodeIndent) {
-    let captureStart;
-    let captureEnd;
-    let tmp;
-    let ch = state.input.charCodeAt(state.position);
-    if (ch !== 34) return false;
-    state.kind = "scalar";
-    state.result = "";
-    state.position++;
-    captureStart = captureEnd = state.position;
-    while ((ch = state.input.charCodeAt(state.position)) !== 0) if (ch === 34) {
-      captureSegment(state, captureStart, state.position, true);
-      state.position++;
-      return true;
-    } else if (ch === 92) {
-      captureSegment(state, captureStart, state.position, true);
-      ch = state.input.charCodeAt(++state.position);
-      if (isEol(ch)) skipSeparationSpace(state, false, nodeIndent);
-      else if (ch < 256 && simpleEscapeCheck[ch]) {
-        state.result += simpleEscapeMap[ch];
-        state.position++;
-      } else if ((tmp = escapedHexLen(ch)) > 0) {
-        let hexLength = tmp;
+  return result + input.slice(captureStart, end);
+}
+function getDoubleQuotedValue(input, start, end) {
+  let result = "";
+  let position = start;
+  let captureStart = start;
+  let captureEnd = start;
+  while (position < end) {
+    const ch = input.charCodeAt(position);
+    if (ch === 92) {
+      result += input.slice(captureStart, position);
+      position++;
+      const escaped = input.charCodeAt(position);
+      if (escaped === 10 || escaped === 13) position = skipFoldedBreaks(input, position, end).position;
+      else if (escaped < 256 && simpleEscapeCheck[escaped]) {
+        result += simpleEscapeMap[escaped];
+        position++;
+      } else {
+        let hexLength = escapedHexLen$1(escaped);
         let hexResult = 0;
         for (; hexLength > 0; hexLength--) {
-          ch = state.input.charCodeAt(++state.position);
-          if ((tmp = fromHexCode(ch)) >= 0) hexResult = (hexResult << 4) + tmp;
-          else throwError(state, "expected hexadecimal character");
+          position++;
+          const digit = fromHexCode$1(input.charCodeAt(position));
+          hexResult = (hexResult << 4) + digit;
         }
-        state.result += charFromCodepoint(hexResult);
-        state.position++;
-      } else throwError(state, "unknown escape sequence");
-      captureStart = captureEnd = state.position;
-    } else if (isEol(ch)) {
-      captureSegment(state, captureStart, captureEnd, true);
-      writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
-      captureStart = captureEnd = state.position;
-    } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError(state, "unexpected end of the document within a double quoted scalar");
-    else {
-      state.position++;
-      if (!isWhiteSpace(ch)) captureEnd = state.position;
+        result += charFromCodepoint(hexResult);
+        position++;
+      }
+      captureStart = captureEnd = position;
+    } else if (ch === 10 || ch === 13) {
+      result += input.slice(captureStart, captureEnd);
+      const fold = skipFoldedBreaks(input, position, end);
+      result += foldedBreaks(fold.breaks);
+      position = captureStart = captureEnd = fold.position;
+    } else {
+      position++;
+      if (ch !== 32 && ch !== 9) captureEnd = position;
     }
-    throwError(state, "unexpected end of the stream within a double quoted scalar");
   }
-  function readFlowCollection(state, nodeIndent) {
-    let readNext = true;
-    let _line;
-    let _lineStart;
-    let _pos;
-    const _tag = state.tag;
-    let _result;
-    const _anchor = state.anchor;
-    let terminator;
-    let isPair;
-    let isExplicitPair;
-    let isMapping;
-    const overridableKeys = /* @__PURE__ */ Object.create(null);
-    let keyNode;
-    let keyTag;
-    let valueNode;
-    let ch = state.input.charCodeAt(state.position);
-    if (ch === 91) {
-      terminator = 93;
-      isMapping = false;
-      _result = [];
-    } else if (ch === 123) {
-      terminator = 125;
-      isMapping = true;
-      _result = {};
-    } else return false;
-    if (state.anchor !== null) storeAnchor(state, state.anchor, _result);
-    ch = state.input.charCodeAt(++state.position);
-    while (ch !== 0) {
-      skipSeparationSpace(state, true, nodeIndent);
-      ch = state.input.charCodeAt(state.position);
-      if (ch === terminator) {
-        state.position++;
-        state.tag = _tag;
-        state.anchor = _anchor;
-        state.kind = isMapping ? "mapping" : "sequence";
-        state.result = _result;
-        return true;
-      } else if (!readNext) throwError(state, "missed comma between flow collection entries");
-      else if (ch === 44) throwError(state, "expected the node content, but found ','");
-      keyTag = keyNode = valueNode = null;
-      isPair = isExplicitPair = false;
-      if (ch === 63) {
-        if (isWsOrEol(state.input.charCodeAt(state.position + 1))) {
-          isPair = isExplicitPair = true;
-          state.position++;
-          skipSeparationSpace(state, true, nodeIndent);
-        }
-      }
-      _line = state.line;
-      _lineStart = state.lineStart;
-      _pos = state.position;
-      composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
-      keyTag = state.tag;
-      keyNode = state.result;
-      skipSeparationSpace(state, true, nodeIndent);
-      ch = state.input.charCodeAt(state.position);
-      if ((isExplicitPair || state.line === _line) && ch === 58) {
-        isPair = true;
-        ch = state.input.charCodeAt(++state.position);
-        skipSeparationSpace(state, true, nodeIndent);
-        composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
-        valueNode = state.result;
-      }
-      if (isMapping) storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);
-      else if (isPair) _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));
-      else _result.push(keyNode);
-      skipSeparationSpace(state, true, nodeIndent);
-      ch = state.input.charCodeAt(state.position);
-      if (ch === 44) {
-        readNext = true;
-        ch = state.input.charCodeAt(++state.position);
-      } else readNext = false;
+  return result + input.slice(captureStart, end);
+}
+function getBlockValue(input, start, end, indent, chomping, folded) {
+  const textIndent = indent < 0 ? 0 : indent;
+  const region = input.slice(start, end).replace(/\r\n?/g, "\n");
+  const lines = region === "" ? [] : (region.endsWith("\n") ? region.slice(0, -1) : region).split("\n");
+  let result = "";
+  let didReadContent = false;
+  let emptyLines = 0;
+  let atMoreIndented = false;
+  for (const line of lines) {
+    let column = 0;
+    while (column < textIndent && line.charCodeAt(column) === 32) column++;
+    if (indent < 0 || column >= line.length) {
+      emptyLines++;
+      continue;
     }
-    throwError(state, "unexpected end of the stream within a flow collection");
+    const content = line.slice(textIndent);
+    const first = content.charCodeAt(0);
+    if (folded) if (first === 32 || first === 9) {
+      atMoreIndented = true;
+      result += "\n".repeat(didReadContent ? 1 + emptyLines : emptyLines);
+    } else if (atMoreIndented) {
+      atMoreIndented = false;
+      result += "\n".repeat(emptyLines + 1);
+    } else if (emptyLines === 0) {
+      if (didReadContent) result += " ";
+    } else result += "\n".repeat(emptyLines);
+    else result += "\n".repeat(didReadContent ? 1 + emptyLines : emptyLines);
+    result += content;
+    didReadContent = true;
+    emptyLines = 0;
   }
-  function readBlockScalar(state, nodeIndent) {
-    let folding;
-    let chomping = CHOMPING_CLIP;
-    let didReadContent = false;
-    let detectedIndent = false;
-    let textIndent = nodeIndent;
-    let emptyLines = 0;
-    let atMoreIndented = false;
-    let tmp;
-    let ch = state.input.charCodeAt(state.position);
-    if (ch === 124) folding = false;
-    else if (ch === 62) folding = true;
-    else return false;
-    state.kind = "scalar";
-    state.result = "";
-    while (ch !== 0) {
-      ch = state.input.charCodeAt(++state.position);
-      if (ch === 43 || ch === 45) if (CHOMPING_CLIP === chomping) chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;
-      else throwError(state, "repeat of a chomping mode identifier");
-      else if ((tmp = fromDecimalCode(ch)) >= 0) if (tmp === 0) throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
-      else if (!detectedIndent) {
-        textIndent = nodeIndent + tmp - 1;
-        detectedIndent = true;
-      } else throwError(state, "repeat of an indentation width identifier");
-      else break;
+  if (chomping === 3) result += "\n".repeat(didReadContent ? 1 + emptyLines : emptyLines);
+  else if (chomping !== 2) {
+    if (didReadContent) result += "\n";
+  }
+  return result;
+}
+function getScalarValue(input, scalar) {
+  if (scalar.valueStart === NO_RANGE$3) return "";
+  const { valueStart, valueEnd } = scalar;
+  if (scalar.fast) return input.slice(valueStart, valueEnd);
+  switch (scalar.style) {
+    case 2:
+      return getSingleQuotedValue(input, valueStart, valueEnd);
+    case 3:
+      return getDoubleQuotedValue(input, valueStart, valueEnd);
+    case 4:
+      return getBlockValue(input, valueStart, valueEnd, scalar.indent, scalar.chomping, false);
+    case 5:
+      return getBlockValue(input, valueStart, valueEnd, scalar.indent, scalar.chomping, true);
+    default:
+      return getPlainValue(input, valueStart, valueEnd);
+  }
+}
+var DEFAULT_TAG_HANDLERS = {
+  "!": "!",
+  "!!": "tag:yaml.org,2002:"
+};
+function tagPercentEncode(source) {
+  return encodeURI(source).replace(/!/g, "%21");
+}
+function tagNameFull(rawTag, tagHandlers) {
+  if (rawTag.startsWith("!<") && rawTag.endsWith(">")) return decodeURIComponent(rawTag.slice(2, -1));
+  const handleEnd = rawTag.indexOf("!", 1);
+  const handle = handleEnd === -1 ? "!" : rawTag.slice(0, handleEnd + 1);
+  const prefix = tagHandlers?.[handle] ?? DEFAULT_TAG_HANDLERS[handle] ?? handle;
+  return decodeURIComponent(prefix) + decodeURIComponent(rawTag.slice(handle.length));
+}
+function tagNameShort(fullTag) {
+  let tag = fullTag;
+  if (tag.charCodeAt(0) === 33) {
+    tag = tag.slice(1);
+    return `!${tagPercentEncode(tag)}`;
+  }
+  if (tag.slice(0, 18) === "tag:yaml.org,2002:") return `!!${tagPercentEncode(tag.slice(18))}`;
+  return `!<${tagPercentEncode(tag)}>`;
+}
+var NO_RANGE$2 = -1;
+var DEFAULT_CONSTRUCTOR_OPTIONS = {
+  filename: "",
+  schema: CORE_SCHEMA,
+  json: false,
+  maxMergeSeqLength: 20
+};
+function eventPosition$1(event) {
+  if ("tagStart" in event && event.tagStart !== NO_RANGE$2) return event.tagStart;
+  if ("anchorStart" in event && event.anchorStart !== NO_RANGE$2) return event.anchorStart;
+  if ("valueStart" in event && event.valueStart !== NO_RANGE$2) return event.valueStart;
+  if ("start" in event) return event.start;
+  return 0;
+}
+function throwError$1(state, message) {
+  throwErrorAt(state.source, state.position, message, state.filename);
+}
+function finalizeCollection(state, position, tag, carrier) {
+  try {
+    return tag.finalize(carrier);
+  } catch (error3) {
+    if (error3 instanceof YAMLException) throw error3;
+    throwErrorAt(state.source, position, error3 instanceof Error ? error3.message : String(error3), state.filename);
+  }
+}
+function lookupTag(exact, prefix, tagName) {
+  const exactTag = exact[tagName];
+  if (exactTag) return exactTag;
+  for (const tag of prefix) if (tagName.startsWith(tag.tagName)) return tag;
+}
+function findExplicitTag(state, exact, prefix, tagName, nodeKind) {
+  const tag = lookupTag(exact, prefix, tagName);
+  if (tag) return tag;
+  throwError$1(state, `unknown ${nodeKind} tag !<${tagName}>`);
+}
+function constructScalar(state, event) {
+  const source = getScalarValue(state.source, event);
+  const rawTag = event.tagStart === NO_RANGE$2 ? "" : state.source.slice(event.tagStart, event.tagEnd);
+  const strTag2 = state.schema.defaultScalarTag;
+  if (rawTag !== "") {
+    if (rawTag === "!") return {
+      value: source,
+      tag: strTag2
+    };
+    const tagName = tagNameFull(rawTag, state.tagHandlers);
+    const scalarTag = lookupTag(state.schema.exact.scalar, state.schema.prefix.scalar, tagName);
+    if (scalarTag) {
+      const result = scalarTag.resolve(source, true, tagName);
+      if (result === NOT_RESOLVED) throwError$1(state, `cannot resolve a node with !<${tagName}> explicit tag`);
+      return {
+        value: result,
+        tag: scalarTag
+      };
     }
-    if (isWhiteSpace(ch)) {
-      do
-        ch = state.input.charCodeAt(++state.position);
-      while (isWhiteSpace(ch));
-      if (ch === 35) do
-        ch = state.input.charCodeAt(++state.position);
-      while (!isEol(ch) && ch !== 0);
+    const collectionTagDef = lookupTag(state.schema.exact.mapping, state.schema.prefix.mapping, tagName) ?? lookupTag(state.schema.exact.sequence, state.schema.prefix.sequence, tagName);
+    if (collectionTagDef) {
+      if (source !== "") throwError$1(state, `cannot resolve a node with !<${tagName}> explicit tag`);
+      const carrier = collectionTagDef.create(tagName);
+      return {
+        value: collectionTagDef.carrierIsResult ? carrier : finalizeCollection(state, state.position, collectionTagDef, carrier),
+        tag: collectionTagDef
+      };
     }
-    while (ch !== 0) {
-      readLineBreak(state);
-      state.lineIndent = 0;
-      ch = state.input.charCodeAt(state.position);
-      while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {
-        state.lineIndent++;
-        ch = state.input.charCodeAt(++state.position);
+    throwError$1(state, `unknown scalar tag !<${tagName}>`);
+  }
+  if (event.style === 1) {
+    const candidates = state.schema.implicitScalarByFirstChar.get(source.charAt(0)) ?? state.schema.implicitScalarAnyFirstChar;
+    for (const tag of candidates) {
+      const result = tag.resolve(source, false, tag.tagName);
+      if (result !== NOT_RESOLVED) return {
+        value: result,
+        tag
+      };
+    }
+  }
+  return {
+    value: strTag2.resolve(source, false, strTag2.tagName),
+    tag: strTag2
+  };
+}
+function collectionTag(state, event, exact, prefix, defaultTagName, nodeKind) {
+  const rawTag = event.tagStart === NO_RANGE$2 ? "" : state.source.slice(event.tagStart, event.tagEnd);
+  const tagName = rawTag === "" || rawTag === "!" ? defaultTagName : tagNameFull(rawTag, state.tagHandlers);
+  return {
+    tagName,
+    tag: findExplicitTag(state, exact, prefix, tagName, nodeKind)
+  };
+}
+function isMappingTag(tag) {
+  return tag.nodeKind === "mapping";
+}
+function mergeKeys(state, frame, source, sourceTag) {
+  for (const sourceKey of sourceTag.keys(source)) {
+    if (frame.tag.has(frame.value, sourceKey)) continue;
+    const err = frame.tag.addPair(frame.value, sourceKey, sourceTag.get(source, sourceKey));
+    if (err) throwError$1(state, err);
+    (frame.overridable ??= /* @__PURE__ */ new Set()).add(sourceKey);
+  }
+}
+function mergeSource(state, frame, source, sourceTag) {
+  state.position = frame.keyPosition;
+  if (isMappingTag(sourceTag)) mergeKeys(state, frame, source, sourceTag);
+  else if (sourceTag.nodeKind === "sequence" && Array.isArray(source)) {
+    const seen = /* @__PURE__ */ new Set();
+    for (const element of source) {
+      if (seen.has(element)) continue;
+      seen.add(element);
+      mergeKeys(state, frame, element, frame.tag);
+    }
+  } else throwError$1(state, "cannot merge mappings; the provided source object is unacceptable");
+}
+function addMappingValue(state, frame, key, value, tag) {
+  state.position = frame.keyPosition;
+  if (key === MERGE_KEY) {
+    mergeSource(state, frame, value, tag);
+    return;
+  }
+  if (!state.json && frame.tag.has(frame.value, key) && !frame.overridable?.has(key)) throwError$1(state, "duplicated mapping key");
+  const err = frame.tag.addPair(frame.value, key, value);
+  if (err) throwError$1(state, err);
+  frame.overridable?.delete(key);
+}
+function addValue(state, value, tag) {
+  const frame = state.frames[state.frames.length - 1];
+  if (frame.kind === "document") {
+    frame.value = value;
+    frame.hasValue = true;
+  } else if (frame.kind === "sequence") {
+    if (frame.merge) {
+      if (!isMappingTag(tag)) throwError$1(state, "cannot merge mappings; the provided source object is unacceptable");
+      if (frame.index >= state.maxMergeSeqLength) throwError$1(state, `merge sequence length exceeded maxMergeSeqLength (${state.maxMergeSeqLength})`);
+    }
+    const err = frame.tag.addItem(frame.value, value, frame.index++);
+    if (err) throwError$1(state, err);
+  } else if (frame.hasKey) {
+    const key = frame.key;
+    frame.key = void 0;
+    frame.hasKey = false;
+    addMappingValue(state, frame, key, value, tag);
+  } else {
+    frame.key = value;
+    frame.keyPosition = state.position;
+    frame.hasKey = true;
+  }
+}
+function storeAnchor(state, event, value, tag, isValueFinal) {
+  if (event.anchorStart !== NO_RANGE$2) {
+    const anchor = {
+      value,
+      tag,
+      isValueFinal
+    };
+    state.anchors.set(state.source.slice(event.anchorStart, event.anchorEnd), anchor);
+    return anchor;
+  }
+  return null;
+}
+function constructFromEvents(events, options) {
+  const state = {
+    ...DEFAULT_CONSTRUCTOR_OPTIONS,
+    ...options,
+    events,
+    documents: [],
+    eventIndex: 0,
+    position: 0,
+    frames: [],
+    anchors: /* @__PURE__ */ new Map(),
+    tagHandlers: /* @__PURE__ */ Object.create(null)
+  };
+  while (state.eventIndex < state.events.length) {
+    const event = state.events[state.eventIndex++];
+    state.position = eventPosition$1(event);
+    switch (event.type) {
+      case 1:
+        state.anchors = /* @__PURE__ */ new Map();
+        state.tagHandlers = /* @__PURE__ */ Object.create(null);
+        for (const directive of event.directives) if (directive.kind === "tag") state.tagHandlers[directive.handle] = directive.prefix;
+        state.frames.push({
+          kind: "document",
+          position: state.position,
+          value: void 0,
+          hasValue: false
+        });
+        break;
+      case 4: {
+        const { value, tag } = constructScalar(state, event);
+        storeAnchor(state, event, value, tag, true);
+        addValue(state, value, tag);
+        break;
       }
-      if (!detectedIndent && state.lineIndent > textIndent) textIndent = state.lineIndent;
-      if (isEol(ch)) {
-        emptyLines++;
-        continue;
+      case 2: {
+        const definition = collectionTag(state, event, state.schema.exact.sequence, state.schema.prefix.sequence, "tag:yaml.org,2002:seq", "sequence");
+        const value = definition.tag.create(definition.tagName);
+        const anchor = storeAnchor(state, event, value, definition.tag, definition.tag.carrierIsResult);
+        const parent = state.frames[state.frames.length - 1];
+        const merge2 = parent !== void 0 && parent.kind === "mapping" && parent.hasKey && parent.key === MERGE_KEY;
+        state.frames.push({
+          kind: "sequence",
+          position: state.position,
+          value,
+          tag: definition.tag,
+          anchor,
+          index: 0,
+          merge: merge2
+        });
+        break;
       }
-      if (!detectedIndent && textIndent === 0) throwError(state, "missing indentation for block scalar");
-      if (state.lineIndent < textIndent) {
-        if (chomping === CHOMPING_KEEP) state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
-        else if (chomping === CHOMPING_CLIP) {
-          if (didReadContent) state.result += "\n";
+      case 3: {
+        const definition = collectionTag(state, event, state.schema.exact.mapping, state.schema.prefix.mapping, "tag:yaml.org,2002:map", "mapping");
+        const value = definition.tag.create(definition.tagName);
+        const anchor = storeAnchor(state, event, value, definition.tag, definition.tag.carrierIsResult);
+        state.frames.push({
+          kind: "mapping",
+          position: state.position,
+          value,
+          tag: definition.tag,
+          anchor,
+          key: void 0,
+          keyPosition: state.position,
+          hasKey: false,
+          overridable: null
+        });
+        break;
+      }
+      case 5: {
+        const name = state.source.slice(event.anchorStart, event.anchorEnd);
+        const anchor = state.anchors.get(name);
+        if (!anchor) throwError$1(state, `unidentified alias "${name}"`);
+        if (!anchor.isValueFinal) throwError$1(state, `recursive alias "${name}" is not supported for tag ${anchor.tag.tagName} because it uses finalize()`);
+        addValue(state, anchor.value, anchor.tag);
+        break;
+      }
+      case 6: {
+        const frame = state.frames.pop();
+        if (frame.kind === "document") state.documents.push(frame.value);
+        else {
+          const value = frame.tag.carrierIsResult ? frame.value : finalizeCollection(state, frame.position, frame.tag, frame.value);
+          if (frame.anchor) {
+            frame.anchor.value = value;
+            frame.anchor.isValueFinal = true;
+          }
+          addValue(state, value, frame.tag);
         }
         break;
       }
-      if (folding) if (isWhiteSpace(ch)) {
-        atMoreIndented = true;
-        state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
-      } else if (atMoreIndented) {
-        atMoreIndented = false;
-        state.result += common.repeat("\n", emptyLines + 1);
-      } else if (emptyLines === 0) {
-        if (didReadContent) state.result += " ";
-      } else state.result += common.repeat("\n", emptyLines);
-      else state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
-      didReadContent = true;
-      detectedIndent = true;
-      emptyLines = 0;
-      const captureStart = state.position;
-      while (!isEol(ch) && ch !== 0) ch = state.input.charCodeAt(++state.position);
-      captureSegment(state, captureStart, state.position, false);
     }
-    return true;
   }
-  function readBlockSequence(state, nodeIndent) {
-    const _tag = state.tag;
-    const _anchor = state.anchor;
-    const _result = [];
-    let detected = false;
-    if (state.firstTabInLine !== -1) return false;
-    if (state.anchor !== null) storeAnchor(state, state.anchor, _result);
-    let ch = state.input.charCodeAt(state.position);
-    while (ch !== 0) {
-      if (state.firstTabInLine !== -1) {
-        state.position = state.firstTabInLine;
-        throwError(state, "tab characters must not be used in indentation");
-      }
-      if (ch !== 45) break;
-      if (!isWsOrEol(state.input.charCodeAt(state.position + 1))) break;
-      detected = true;
-      state.position++;
-      if (skipSeparationSpace(state, true, -1)) {
-        if (state.lineIndent <= nodeIndent) {
-          _result.push(null);
-          ch = state.input.charCodeAt(state.position);
-          continue;
-        }
-      }
-      const _line = state.line;
-      composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
-      _result.push(state.result);
-      skipSeparationSpace(state, true, -1);
-      ch = state.input.charCodeAt(state.position);
-      if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) throwError(state, "bad indentation of a sequence entry");
-      else if (state.lineIndent < nodeIndent) break;
+  return state.documents;
+}
+var NO_RANGE$1 = -1;
+var HAS_OWN = Object.prototype.hasOwnProperty;
+var CONTEXT_FLOW_IN = 1;
+var CONTEXT_FLOW_OUT = 2;
+var CONTEXT_BLOCK_IN = 3;
+var CONTEXT_BLOCK_OUT = 4;
+var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
+var PATTERN_FLOW_INDICATORS = /[,\[\]{}]/;
+var PATTERN_TAG_HANDLE = /^(?:!|!!|![0-9A-Za-z-]+!)$/;
+var NS_URI_CHAR = String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`;
+var NS_TAG_CHAR = String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`;
+var PATTERN_TAG_URI = new RegExp(`^(?:${NS_URI_CHAR})*$`);
+var PATTERN_TAG_SUFFIX = new RegExp(`^(?:${NS_TAG_CHAR})+$`);
+var PATTERN_TAG_PREFIX = new RegExp(`^(?:!(?:${NS_URI_CHAR})*|${NS_TAG_CHAR}(?:${NS_URI_CHAR})*)$`);
+var DEFAULT_PARSER_OPTIONS = {
+  filename: "",
+  maxDepth: 100
+};
+function addDocumentEvent(state, explicitStart, explicitEnd) {
+  state.events.push({
+    type: 1,
+    explicitStart,
+    explicitEnd,
+    directives: state.directives
+  });
+}
+function addSequenceEvent(state, start, anchorStart, anchorEnd, tagStart, tagEnd, style) {
+  state.events.push({
+    type: 2,
+    start,
+    anchorStart,
+    anchorEnd,
+    tagStart,
+    tagEnd,
+    style
+  });
+}
+function addMappingEvent(state, start, anchorStart, anchorEnd, tagStart, tagEnd, style) {
+  state.events.push({
+    type: 3,
+    start,
+    anchorStart,
+    anchorEnd,
+    tagStart,
+    tagEnd,
+    style
+  });
+}
+function addScalarEvent(state, valueStart, valueEnd, anchorStart, anchorEnd, tagStart, tagEnd, style, chomping = 1, indent = -1, fast = false) {
+  state.events.push({
+    type: 4,
+    valueStart,
+    valueEnd,
+    anchorStart,
+    anchorEnd,
+    tagStart,
+    tagEnd,
+    style,
+    chomping,
+    indent,
+    fast
+  });
+}
+function addAliasEvent(state, anchorStart, anchorEnd) {
+  state.events.push({
+    type: 5,
+    anchorStart,
+    anchorEnd
+  });
+}
+function addPopEvent(state) {
+  state.events.push({ type: 6 });
+}
+function addEmptyScalarEvent(state) {
+  addScalarEvent(state, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, 1);
+}
+function emptyProperties() {
+  return {
+    anchorStart: NO_RANGE$1,
+    anchorEnd: NO_RANGE$1,
+    tagStart: NO_RANGE$1,
+    tagEnd: NO_RANGE$1
+  };
+}
+function snapshotState(state) {
+  return {
+    position: state.position,
+    line: state.line,
+    lineStart: state.lineStart,
+    lineIndent: state.lineIndent,
+    firstTabInLine: state.firstTabInLine,
+    eventsLength: state.events.length
+  };
+}
+function restoreState(state, snapshot) {
+  state.position = snapshot.position;
+  state.line = snapshot.line;
+  state.lineStart = snapshot.lineStart;
+  state.lineIndent = snapshot.lineIndent;
+  state.firstTabInLine = snapshot.firstTabInLine;
+  state.events.length = snapshot.eventsLength;
+}
+function throwError(state, message) {
+  throwErrorAt(state.input.slice(0, state.length), state.position, message, state.filename);
+}
+function isEol(c) {
+  return c === 10 || c === 13;
+}
+function isWhiteSpace(c) {
+  return c === 9 || c === 32;
+}
+function isWsOrEol(c) {
+  return isWhiteSpace(c) || isEol(c);
+}
+function isWsOrEolOrEnd(c) {
+  return c === 0 || isWsOrEol(c);
+}
+function isFlowIndicator(c) {
+  return c === 44 || c === 91 || c === 93 || c === 123 || c === 125;
+}
+function fromDecimalCode(c) {
+  return c >= 48 && c <= 57 ? c - 48 : -1;
+}
+function fromHexCode(c) {
+  if (c >= 48 && c <= 57) return c - 48;
+  const lc = c | 32;
+  if (lc >= 97 && lc <= 102) return lc - 97 + 10;
+  return -1;
+}
+function escapedHexLen(c) {
+  if (c === 120) return 2;
+  if (c === 117) return 4;
+  if (c === 85) return 8;
+  return 0;
+}
+function isSimpleEscape(c) {
+  return c === 48 || c === 97 || c === 98 || c === 116 || c === 9 || c === 110 || c === 118 || c === 102 || c === 114 || c === 101 || c === 32 || c === 34 || c === 47 || c === 92 || c === 78 || c === 95 || c === 76 || c === 80;
+}
+function consumeLineBreak(state) {
+  if (state.input.charCodeAt(state.position) === 10) state.position++;
+  else {
+    state.position++;
+    if (state.input.charCodeAt(state.position) === 10) state.position++;
+  }
+  state.line++;
+  state.lineStart = state.position;
+  state.lineIndent = 0;
+  state.firstTabInLine = -1;
+}
+function skipSeparationSpace(state, allowComments) {
+  let lineBreaks = 0;
+  let ch = state.input.charCodeAt(state.position);
+  let hasSeparation = state.position === state.lineStart || isWsOrEol(state.input.charCodeAt(state.position - 1));
+  while (ch !== 0) {
+    while (isWhiteSpace(ch)) {
+      hasSeparation = true;
+      if (ch === 9 && state.firstTabInLine === -1) state.firstTabInLine = state.position;
+      ch = state.input.charCodeAt(++state.position);
     }
-    if (detected) {
-      state.tag = _tag;
-      state.anchor = _anchor;
-      state.kind = "sequence";
-      state.result = _result;
+    if (allowComments && hasSeparation && ch === 35) do
+      ch = state.input.charCodeAt(++state.position);
+    while (!isEol(ch) && ch !== 0);
+    if (!isEol(ch)) break;
+    consumeLineBreak(state);
+    lineBreaks++;
+    hasSeparation = true;
+    ch = state.input.charCodeAt(state.position);
+    while (ch === 32) {
+      state.lineIndent++;
+      ch = state.input.charCodeAt(++state.position);
+    }
+  }
+  return lineBreaks;
+}
+function testDocumentSeparator(state, position = state.position) {
+  const ch = state.input.charCodeAt(position);
+  if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(position + 1) && ch === state.input.charCodeAt(position + 2)) {
+    const following = state.input.charCodeAt(position + 3);
+    return following === 0 || isWsOrEol(following);
+  }
+  return false;
+}
+function skipUntilLineEnd(state) {
+  let ch = state.input.charCodeAt(state.position);
+  while (ch !== 0 && !isEol(ch)) ch = state.input.charCodeAt(++state.position);
+}
+function checkPrintable(state, start, end) {
+  if (PATTERN_NON_PRINTABLE.test(state.input.slice(start, end))) throwError(state, "the stream contains non-printable characters");
+}
+function readTagProperty(state, props, inFlow) {
+  if (state.input.charCodeAt(state.position) !== 33) return false;
+  if (props.tagStart !== NO_RANGE$1) throwError(state, "duplication of a tag property");
+  const start = state.position;
+  let isVerbatim = false;
+  let isNamed = false;
+  let tagHandle = "!";
+  let ch = state.input.charCodeAt(++state.position);
+  if (ch === 60) {
+    isVerbatim = true;
+    ch = state.input.charCodeAt(++state.position);
+  } else if (ch === 33) {
+    isNamed = true;
+    tagHandle = "!!";
+    ch = state.input.charCodeAt(++state.position);
+  }
+  let suffixStart = state.position;
+  let tagName;
+  if (isVerbatim) {
+    while (ch !== 0 && ch !== 62) ch = state.input.charCodeAt(++state.position);
+    if (ch !== 62) throwError(state, "unexpected end of the stream within a verbatim tag");
+    tagName = state.input.slice(suffixStart, state.position);
+    state.position++;
+  } else {
+    while (ch !== 0 && !isWsOrEol(ch) && !(inFlow && isFlowIndicator(ch))) {
+      if (ch === 33) if (!isNamed) {
+        tagHandle = state.input.slice(suffixStart - 1, state.position + 1);
+        if (!PATTERN_TAG_HANDLE.test(tagHandle)) throwError(state, "named tag handle cannot contain such characters");
+        isNamed = true;
+        suffixStart = state.position + 1;
+      } else throwError(state, "tag suffix cannot contain exclamation marks");
+      ch = state.input.charCodeAt(++state.position);
+    }
+    tagName = state.input.slice(suffixStart, state.position);
+    if (PATTERN_FLOW_INDICATORS.test(tagName)) throwError(state, "tag suffix cannot contain flow indicator characters");
+  }
+  if (tagName && !(isVerbatim ? PATTERN_TAG_URI.test(tagName) : PATTERN_TAG_SUFFIX.test(tagName))) throwError(state, `tag name cannot contain such characters: ${tagName}`);
+  if (!isVerbatim && tagHandle !== "!" && tagHandle !== "!!" && !HAS_OWN.call(state.tagHandlers, tagHandle)) throwError(state, `undeclared tag handle "${tagHandle}"`);
+  props.tagStart = start;
+  props.tagEnd = state.position;
+  return true;
+}
+function readAnchorProperty(state, props) {
+  if (state.input.charCodeAt(state.position) !== 38) return false;
+  if (props.anchorStart !== NO_RANGE$1) throwError(state, "duplication of an anchor property");
+  state.position++;
+  const start = state.position;
+  while (state.input.charCodeAt(state.position) !== 0 && !isWsOrEol(state.input.charCodeAt(state.position)) && !isFlowIndicator(state.input.charCodeAt(state.position))) state.position++;
+  if (state.position === start) throwError(state, "name of an anchor node must contain at least one character");
+  props.anchorStart = start;
+  props.anchorEnd = state.position;
+  return true;
+}
+function readAlias(state, props) {
+  if (state.input.charCodeAt(state.position) !== 42) return false;
+  if (props.anchorStart !== NO_RANGE$1 || props.tagStart !== NO_RANGE$1) throwError(state, "alias node should not have any properties");
+  state.position++;
+  const start = state.position;
+  while (state.input.charCodeAt(state.position) !== 0 && !isWsOrEol(state.input.charCodeAt(state.position)) && !isFlowIndicator(state.input.charCodeAt(state.position))) state.position++;
+  if (state.position === start) throwError(state, "name of an alias node must contain at least one character");
+  addAliasEvent(state, start, state.position);
+  return true;
+}
+function readFlowScalarBreak(state, nodeIndent) {
+  skipSeparationSpace(state, false);
+  if (state.lineIndent < nodeIndent) throwError(state, "deficient indentation");
+}
+function readSingleQuotedScalar(state, nodeIndent, props) {
+  if (state.input.charCodeAt(state.position) !== 39) return false;
+  state.position++;
+  const start = state.position;
+  let simple = true;
+  while (state.input.charCodeAt(state.position) !== 0) {
+    const ch = state.input.charCodeAt(state.position);
+    if (ch === 39) {
+      if (state.input.charCodeAt(state.position + 1) === 39) {
+        simple = false;
+        state.position += 2;
+        continue;
+      }
+      const end = state.position;
+      state.position++;
+      addScalarEvent(state, start, end, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 2, 1, -1, simple);
       return true;
     }
-    return false;
+    if (isEol(ch)) {
+      simple = false;
+      readFlowScalarBreak(state, nodeIndent);
+    } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError(state, "unexpected end of the document within a single quoted scalar");
+    else if (ch !== 9 && ch < 32) throwError(state, "expected valid JSON character");
+    else state.position++;
   }
-  function readBlockMapping(state, nodeIndent, flowIndent) {
-    let allowCompact;
-    let _keyLine;
-    let _keyLineStart;
-    let _keyPos;
-    const _tag = state.tag;
-    const _anchor = state.anchor;
-    const _result = {};
-    const overridableKeys = /* @__PURE__ */ Object.create(null);
-    let keyTag = null;
-    let keyNode = null;
-    let valueNode = null;
-    let atExplicitKey = false;
-    let detected = false;
-    if (state.firstTabInLine !== -1) return false;
-    if (state.anchor !== null) storeAnchor(state, state.anchor, _result);
-    let ch = state.input.charCodeAt(state.position);
-    while (ch !== 0) {
-      if (!atExplicitKey && state.firstTabInLine !== -1) {
-        state.position = state.firstTabInLine;
+  throwError(state, "unexpected end of the stream within a single quoted scalar");
+}
+function readDoubleQuotedScalar(state, nodeIndent, props) {
+  if (state.input.charCodeAt(state.position) !== 34) return false;
+  state.position++;
+  const start = state.position;
+  let simple = true;
+  while (state.input.charCodeAt(state.position) !== 0) {
+    const ch = state.input.charCodeAt(state.position);
+    if (ch === 34) {
+      const end = state.position;
+      state.position++;
+      addScalarEvent(state, start, end, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 3, 1, -1, simple);
+      return true;
+    }
+    if (ch === 92) {
+      simple = false;
+      const escaped = state.input.charCodeAt(++state.position);
+      if (isEol(escaped)) readFlowScalarBreak(state, nodeIndent);
+      else if (isSimpleEscape(escaped)) state.position++;
+      else {
+        let hexLength = escapedHexLen(escaped);
+        if (hexLength === 0) throwError(state, "unknown escape sequence");
+        while (hexLength-- > 0) {
+          state.position++;
+          if (fromHexCode(state.input.charCodeAt(state.position)) < 0) throwError(state, "expected hexadecimal character");
+        }
+        state.position++;
+      }
+    } else if (isEol(ch)) {
+      simple = false;
+      readFlowScalarBreak(state, nodeIndent);
+    } else if (state.position === state.lineStart && testDocumentSeparator(state)) throwError(state, "unexpected end of the document within a double quoted scalar");
+    else if (ch !== 9 && ch < 32) throwError(state, "expected valid JSON character");
+    else state.position++;
+  }
+  throwError(state, "unexpected end of the stream within a double quoted scalar");
+}
+function readBlockScalar(state, parentIndent, props) {
+  const ch = state.input.charCodeAt(state.position);
+  let chomping = 1;
+  let indent = -1;
+  let detectedIndent = false;
+  if (ch !== 124 && ch !== 62) return false;
+  const style = ch === 124 ? 4 : 5;
+  state.position++;
+  while (state.input.charCodeAt(state.position) !== 0) {
+    const current = state.input.charCodeAt(state.position);
+    const digit = fromDecimalCode(current);
+    if (current === 43 || current === 45) {
+      if (chomping !== 1) throwError(state, "repeat of a chomping mode identifier");
+      chomping = current === 43 ? 3 : 2;
+      state.position++;
+    } else if (digit >= 0) {
+      if (digit === 0) throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
+      if (detectedIndent) throwError(state, "repeat of an indentation width identifier");
+      indent = parentIndent + digit - 1;
+      detectedIndent = true;
+      state.position++;
+    } else break;
+  }
+  let hadWhitespace = false;
+  while (isWhiteSpace(state.input.charCodeAt(state.position))) {
+    hadWhitespace = true;
+    state.position++;
+  }
+  if (hadWhitespace && state.input.charCodeAt(state.position) === 35) skipUntilLineEnd(state);
+  if (isEol(state.input.charCodeAt(state.position))) consumeLineBreak(state);
+  else if (state.input.charCodeAt(state.position) !== 0) throwError(state, "a line break is expected");
+  let contentIndent = detectedIndent ? indent : -1;
+  let maxLeadingIndent = 0;
+  const valueStart = state.position;
+  let valueEnd = state.position;
+  while (state.input.charCodeAt(state.position) !== 0) {
+    const linePosition = state.position;
+    let column = 0;
+    while (state.input.charCodeAt(linePosition + column) === 32) column++;
+    const first = state.input.charCodeAt(linePosition + column);
+    if (first === 0) {
+      if (contentIndent >= 0) {
+        if (column > contentIndent) valueEnd = linePosition + column;
+      } else if (column > 0) valueEnd = linePosition + column;
+      break;
+    }
+    if (linePosition === state.lineStart && testDocumentSeparator(state, linePosition)) break;
+    if (!detectedIndent && contentIndent === -1 && isEol(first)) maxLeadingIndent = Math.max(maxLeadingIndent, column);
+    if (!detectedIndent && contentIndent === -1 && !isEol(first)) {
+      if (first === 9 && column < parentIndent) {
+        state.position = linePosition + column;
         throwError(state, "tab characters must not be used in indentation");
       }
+      if (column < maxLeadingIndent) {
+        state.position = linePosition + column;
+        throwError(state, "bad indentation of a mapping entry");
+      }
+    }
+    if (contentIndent === -1 && first !== 0 && !isEol(first) && column < parentIndent) {
+      state.lineIndent = column;
+      state.position = linePosition + column;
+      break;
+    }
+    if (!detectedIndent && first !== 0 && !isEol(first) && contentIndent === -1) contentIndent = column;
+    const requiredIndent = contentIndent === -1 ? parentIndent + 1 : contentIndent;
+    if (first !== 0 && !isEol(first) && column < requiredIndent) {
+      state.lineIndent = column;
+      state.position = linePosition + column;
+      break;
+    }
+    skipUntilLineEnd(state);
+    valueEnd = state.position;
+    if (isEol(state.input.charCodeAt(state.position))) {
+      consumeLineBreak(state);
+      valueEnd = state.position;
+    }
+  }
+  checkPrintable(state, valueStart, valueEnd);
+  addScalarEvent(state, valueStart, valueEnd, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, style, chomping, contentIndent);
+  return true;
+}
+function canStartPlainScalar(state, nodeContext) {
+  const ch = state.input.charCodeAt(state.position);
+  const inFlow = nodeContext === CONTEXT_FLOW_IN;
+  if (ch === 0 || isWsOrEol(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96 || inFlow && isFlowIndicator(ch)) return false;
+  if (ch === 63 || ch === 45) {
+    const following = state.input.charCodeAt(state.position + 1);
+    if (isWsOrEolOrEnd(following) || inFlow && isFlowIndicator(following)) return false;
+  }
+  return true;
+}
+function readPlainScalar(state, nodeIndent, nodeContext, props) {
+  if (!canStartPlainScalar(state, nodeContext)) return false;
+  const start = state.position;
+  let end = state.position;
+  let ch = state.input.charCodeAt(state.position);
+  const inFlow = nodeContext === CONTEXT_FLOW_IN;
+  let multiline = false;
+  while (ch !== 0) {
+    if (state.position === state.lineStart && testDocumentSeparator(state)) break;
+    if (ch === 58) {
       const following = state.input.charCodeAt(state.position + 1);
-      const _line = state.line;
-      if ((ch === 63 || ch === 58) && isWsOrEol(following)) {
-        if (ch === 63) {
-          if (atExplicitKey) {
-            storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
-            keyTag = keyNode = valueNode = null;
+      if (isWsOrEolOrEnd(following) || inFlow && isFlowIndicator(following)) break;
+    } else if (ch === 35) {
+      if (isWsOrEol(state.input.charCodeAt(state.position - 1))) break;
+    } else if (inFlow && isFlowIndicator(ch)) break;
+    else if (isEol(ch)) {
+      const savedPosition = state.position;
+      const savedLine = state.line;
+      const savedLineStart = state.lineStart;
+      const savedLineIndent = state.lineIndent;
+      skipSeparationSpace(state, false);
+      if (state.lineIndent >= nodeIndent) {
+        multiline = true;
+        ch = state.input.charCodeAt(state.position);
+        continue;
+      }
+      state.position = savedPosition;
+      state.line = savedLine;
+      state.lineStart = savedLineStart;
+      state.lineIndent = savedLineIndent;
+      break;
+    }
+    if (!isWhiteSpace(ch)) end = state.position + 1;
+    ch = state.input.charCodeAt(++state.position);
+  }
+  if (end === start) return false;
+  checkPrintable(state, start, end);
+  addScalarEvent(state, start, end, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 1, 1, -1, !multiline);
+  return true;
+}
+function skipFlowSeparationSpace(state, nodeIndent) {
+  const startLine = state.line;
+  skipSeparationSpace(state, true);
+  if (state.line > startLine && state.lineIndent < nodeIndent || state.firstTabInLine !== -1 && state.lineIndent < nodeIndent) throwError(state, "deficient indentation");
+}
+function readFlowCollection(state, nodeIndent, props) {
+  const ch = state.input.charCodeAt(state.position);
+  const isMapping = ch === 123;
+  const start = state.position;
+  let readNext = true;
+  if (ch !== 91 && ch !== 123) return false;
+  const terminator = isMapping ? 125 : 93;
+  if (isMapping) addMappingEvent(state, start, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 2);
+  else addSequenceEvent(state, start, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 2);
+  state.position++;
+  while (state.input.charCodeAt(state.position) !== 0) {
+    skipFlowSeparationSpace(state, nodeIndent);
+    let ch2 = state.input.charCodeAt(state.position);
+    if (ch2 === terminator) {
+      state.position++;
+      addPopEvent(state);
+      return true;
+    } else if (!readNext) throwError(state, "missed comma between flow collection entries");
+    else if (ch2 === 44) throwError(state, "expected the node content, but found ','");
+    let isPair = false;
+    let isExplicitPair = false;
+    if (ch2 === 63 && isWsOrEol(state.input.charCodeAt(state.position + 1))) {
+      isPair = isExplicitPair = true;
+      state.position += 1;
+      skipFlowSeparationSpace(state, nodeIndent);
+    }
+    const entryLine = state.line;
+    const entryStart = snapshotState(state);
+    const keyWasRead = parseNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
+    skipFlowSeparationSpace(state, nodeIndent);
+    ch2 = state.input.charCodeAt(state.position);
+    if ((isMapping || isExplicitPair || state.line === entryLine) && ch2 === 58) {
+      isPair = true;
+      state.position++;
+      skipFlowSeparationSpace(state, nodeIndent);
+      if (!isMapping) {
+        restoreState(state, entryStart);
+        addMappingEvent(state, entryStart.position, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, 2);
+        if (!parseNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true)) addEmptyScalarEvent(state);
+        skipFlowSeparationSpace(state, nodeIndent);
+        state.position++;
+        skipFlowSeparationSpace(state, nodeIndent);
+      } else if (!keyWasRead) addEmptyScalarEvent(state);
+      if (!parseNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true)) addEmptyScalarEvent(state);
+      skipFlowSeparationSpace(state, nodeIndent);
+      if (!isMapping) addPopEvent(state);
+    } else if (isMapping && isPair) {
+      if (!keyWasRead) addEmptyScalarEvent(state);
+      addEmptyScalarEvent(state);
+    } else if (isMapping) addEmptyScalarEvent(state);
+    else if (isPair) {
+      restoreState(state, entryStart);
+      addMappingEvent(state, entryStart.position, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, NO_RANGE$1, 2);
+      parseNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
+      addEmptyScalarEvent(state);
+      addPopEvent(state);
+    }
+    ch2 = state.input.charCodeAt(state.position);
+    if (ch2 === 44) {
+      readNext = true;
+      state.position++;
+    } else readNext = false;
+  }
+  throwError(state, "unexpected end of the stream within a flow collection");
+}
+function readBlockSequence(state, nodeIndent, props) {
+  if (state.firstTabInLine !== -1 || state.input.charCodeAt(state.position) !== 45 || !isWsOrEolOrEnd(state.input.charCodeAt(state.position + 1))) return false;
+  addSequenceEvent(state, state.position, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 1);
+  while (state.input.charCodeAt(state.position) === 45 && isWsOrEolOrEnd(state.input.charCodeAt(state.position + 1))) {
+    if (state.firstTabInLine !== -1) {
+      state.position = state.firstTabInLine;
+      throwError(state, "tab characters must not be used in indentation");
+    }
+    const entryLine = state.line;
+    state.position++;
+    const hadBreak = skipSeparationSpace(state, true) > 0;
+    if (state.firstTabInLine !== -1 && state.input.charCodeAt(state.position) === 45 && isWsOrEolOrEnd(state.input.charCodeAt(state.position + 1))) throwError(state, "bad indentation of a sequence entry");
+    if (hadBreak && state.lineIndent <= nodeIndent) addEmptyScalarEvent(state);
+    else parseNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
+    skipSeparationSpace(state, true);
+    if (state.lineIndent < nodeIndent || state.position >= state.length) break;
+    if (state.lineIndent > nodeIndent) throwError(state, "bad indentation of a sequence entry");
+    if (state.line === entryLine && state.input.charCodeAt(state.position) === 45 && isWsOrEolOrEnd(state.input.charCodeAt(state.position + 1))) throwError(state, "bad indentation of a sequence entry");
+  }
+  addPopEvent(state);
+  return true;
+}
+function readBlockMapping(state, nodeIndent, flowIndent, props) {
+  let atExplicitKey = false;
+  let detected = false;
+  let mappingOpened = false;
+  let pendingExplicitKey = false;
+  if (state.firstTabInLine !== -1) return false;
+  let ch = state.input.charCodeAt(state.position);
+  while (ch !== 0) {
+    if (!atExplicitKey && state.firstTabInLine !== -1) {
+      state.position = state.firstTabInLine;
+      throwError(state, "tab characters must not be used in indentation");
+    }
+    const following = state.input.charCodeAt(state.position + 1);
+    const entryLine = state.line;
+    if ((ch === 63 || ch === 58) && isWsOrEolOrEnd(following)) {
+      if (!mappingOpened) {
+        addMappingEvent(state, state.position, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 1);
+        mappingOpened = true;
+      }
+      if (ch === 63) {
+        if (atExplicitKey) addEmptyScalarEvent(state);
+        detected = true;
+        atExplicitKey = true;
+      } else if (atExplicitKey) atExplicitKey = false;
+      else {
+        addEmptyScalarEvent(state);
+        detected = true;
+        atExplicitKey = false;
+      }
+      state.position += 1;
+      pendingExplicitKey = true;
+    } else {
+      if (atExplicitKey) {
+        addEmptyScalarEvent(state);
+        atExplicitKey = false;
+      }
+      const beforeKey = snapshotState(state);
+      if (!parseNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) break;
+      if (state.line === entryLine) {
+        ch = state.input.charCodeAt(state.position);
+        while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
+        if (ch === 58) {
+          ch = state.input.charCodeAt(++state.position);
+          if (!isWsOrEolOrEnd(ch)) throwError(state, "a whitespace character is expected after the key-value separator within a block mapping");
+          if (!mappingOpened) {
+            restoreState(state, beforeKey);
+            addMappingEvent(state, beforeKey.position, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 1);
+            mappingOpened = true;
+            parseNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true);
+            ch = state.input.charCodeAt(state.position);
+            while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
+            state.position++;
           }
           detected = true;
-          atExplicitKey = true;
-          allowCompact = true;
-        } else if (atExplicitKey) {
           atExplicitKey = false;
-          allowCompact = true;
-        } else throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
-        state.position += 1;
-        ch = following;
-      } else {
-        _keyLine = state.line;
-        _keyLineStart = state.lineStart;
-        _keyPos = state.position;
-        if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) break;
-        if (state.line === _line) {
-          ch = state.input.charCodeAt(state.position);
-          while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
-          if (ch === 58) {
-            ch = state.input.charCodeAt(++state.position);
-            if (!isWsOrEol(ch)) throwError(state, "a whitespace character is expected after the key-value separator within a block mapping");
-            if (atExplicitKey) {
-              storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
-              keyTag = keyNode = valueNode = null;
-            }
-            detected = true;
-            atExplicitKey = false;
-            allowCompact = false;
-            keyTag = state.tag;
-            keyNode = state.result;
-          } else if (detected) throwError(state, "can not read an implicit mapping pair; a colon is missed");
-          else {
-            state.tag = _tag;
-            state.anchor = _anchor;
-            return true;
-          }
-        } else if (detected) throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
+          pendingExplicitKey = false;
+        } else if (detected) throwError(state, "expected ':' after a mapping key");
         else {
-          state.tag = _tag;
-          state.anchor = _anchor;
+          if (props.anchorStart !== NO_RANGE$1 || props.tagStart !== NO_RANGE$1) {
+            restoreState(state, beforeKey);
+            return false;
+          }
           return true;
         }
-      }
-      if (state.line === _line || state.lineIndent > nodeIndent) {
-        if (atExplicitKey) {
-          _keyLine = state.line;
-          _keyLineStart = state.lineStart;
-          _keyPos = state.position;
-        }
-        if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) if (atExplicitKey) keyNode = state.result;
-        else valueNode = state.result;
-        if (!atExplicitKey) {
-          storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);
-          keyTag = keyNode = valueNode = null;
-        }
-        skipSeparationSpace(state, true, -1);
-        ch = state.input.charCodeAt(state.position);
-      }
-      if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) throwError(state, "bad indentation of a mapping entry");
-      else if (state.lineIndent < nodeIndent) break;
-    }
-    if (atExplicitKey) storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
-    if (detected) {
-      state.tag = _tag;
-      state.anchor = _anchor;
-      state.kind = "mapping";
-      state.result = _result;
-    }
-    return detected;
-  }
-  function readTagProperty(state) {
-    let isVerbatim = false;
-    let isNamed = false;
-    let tagHandle;
-    let tagName;
-    let ch = state.input.charCodeAt(state.position);
-    if (ch !== 33) return false;
-    if (state.tag !== null) throwError(state, "duplication of a tag property");
-    ch = state.input.charCodeAt(++state.position);
-    if (ch === 60) {
-      isVerbatim = true;
-      ch = state.input.charCodeAt(++state.position);
-    } else if (ch === 33) {
-      isNamed = true;
-      tagHandle = "!!";
-      ch = state.input.charCodeAt(++state.position);
-    } else tagHandle = "!";
-    let _position = state.position;
-    if (isVerbatim) {
-      do
-        ch = state.input.charCodeAt(++state.position);
-      while (ch !== 0 && ch !== 62);
-      if (state.position < state.length) {
-        tagName = state.input.slice(_position, state.position);
-        ch = state.input.charCodeAt(++state.position);
-      } else throwError(state, "unexpected end of the stream within a verbatim tag");
-    } else {
-      while (ch !== 0 && !isWsOrEol(ch)) {
-        if (ch === 33) if (!isNamed) {
-          tagHandle = state.input.slice(_position - 1, state.position + 1);
-          if (!PATTERN_TAG_HANDLE.test(tagHandle)) throwError(state, "named tag handle cannot contain such characters");
-          isNamed = true;
-          _position = state.position + 1;
-        } else throwError(state, "tag suffix cannot contain exclamation marks");
-        ch = state.input.charCodeAt(++state.position);
-      }
-      tagName = state.input.slice(_position, state.position);
-      if (PATTERN_FLOW_INDICATORS.test(tagName)) throwError(state, "tag suffix cannot contain flow indicator characters");
-    }
-    if (tagName && !PATTERN_TAG_URI.test(tagName)) throwError(state, "tag name cannot contain such characters: " + tagName);
-    try {
-      tagName = decodeURIComponent(tagName);
-    } catch (err) {
-      throwError(state, "tag name is malformed: " + tagName);
-    }
-    if (isVerbatim) state.tag = tagName;
-    else if (_hasOwnProperty.call(state.tagMap, tagHandle)) state.tag = state.tagMap[tagHandle] + tagName;
-    else if (tagHandle === "!") state.tag = "!" + tagName;
-    else if (tagHandle === "!!") state.tag = "tag:yaml.org,2002:" + tagName;
-    else throwError(state, 'undeclared tag handle "' + tagHandle + '"');
-    return true;
-  }
-  function readAnchorProperty(state) {
-    let ch = state.input.charCodeAt(state.position);
-    if (ch !== 38) return false;
-    if (state.anchor !== null) throwError(state, "duplication of an anchor property");
-    ch = state.input.charCodeAt(++state.position);
-    const _position = state.position;
-    while (ch !== 0 && !isWsOrEol(ch) && !isFlowIndicator(ch)) ch = state.input.charCodeAt(++state.position);
-    if (state.position === _position) throwError(state, "name of an anchor node must contain at least one character");
-    state.anchor = state.input.slice(_position, state.position);
-    return true;
-  }
-  function readAlias(state) {
-    let ch = state.input.charCodeAt(state.position);
-    if (ch !== 42) return false;
-    ch = state.input.charCodeAt(++state.position);
-    const _position = state.position;
-    while (ch !== 0 && !isWsOrEol(ch) && !isFlowIndicator(ch)) ch = state.input.charCodeAt(++state.position);
-    if (state.position === _position) throwError(state, "name of an alias node must contain at least one character");
-    const alias = state.input.slice(_position, state.position);
-    if (!_hasOwnProperty.call(state.anchorMap, alias)) throwError(state, 'unidentified alias "' + alias + '"');
-    state.result = state.anchorMap[alias];
-    skipSeparationSpace(state, true, -1);
-    return true;
-  }
-  function tryReadBlockMappingFromProperty(state, propertyStart, nodeIndent, flowIndent) {
-    const fallbackState = snapshotState(state);
-    beginAnchorTransaction(state);
-    restoreState(state, propertyStart);
-    state.tag = null;
-    state.anchor = null;
-    state.kind = null;
-    state.result = null;
-    if (readBlockMapping(state, nodeIndent, flowIndent) && state.kind === "mapping") {
-      commitAnchorTransaction(state);
-      return true;
-    }
-    rollbackAnchorTransaction(state);
-    restoreState(state, fallbackState);
-    return false;
-  }
-  function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
-    let allowBlockScalars;
-    let allowBlockCollections;
-    let indentStatus = 1;
-    let atNewLine = false;
-    let hasContent = false;
-    let propertyStart = null;
-    let type;
-    let flowIndent;
-    let blockIndent;
-    if (state.depth >= state.maxDepth) throwError(state, "nesting exceeded maxDepth (" + state.maxDepth + ")");
-    state.depth += 1;
-    if (state.listener !== null) state.listener("open", state);
-    state.tag = null;
-    state.anchor = null;
-    state.kind = null;
-    state.result = null;
-    const allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;
-    if (allowToSeek) {
-      if (skipSeparationSpace(state, true, -1)) {
-        atNewLine = true;
-        if (state.lineIndent > parentIndent) indentStatus = 1;
-        else if (state.lineIndent === parentIndent) indentStatus = 0;
-        else if (state.lineIndent < parentIndent) indentStatus = -1;
-      }
-    }
-    if (indentStatus === 1) while (true) {
-      const ch = state.input.charCodeAt(state.position);
-      const propertyState = snapshotState(state);
-      if (atNewLine && (ch === 33 && state.tag !== null || ch === 38 && state.anchor !== null)) break;
-      if (!readTagProperty(state) && !readAnchorProperty(state)) break;
-      if (propertyStart === null) propertyStart = propertyState;
-      if (skipSeparationSpace(state, true, -1)) {
-        atNewLine = true;
-        allowBlockCollections = allowBlockStyles;
-        if (state.lineIndent > parentIndent) indentStatus = 1;
-        else if (state.lineIndent === parentIndent) indentStatus = 0;
-        else if (state.lineIndent < parentIndent) indentStatus = -1;
-      } else allowBlockCollections = false;
-    }
-    if (allowBlockCollections) allowBlockCollections = atNewLine || allowCompact;
-    if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
-      if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) flowIndent = parentIndent;
-      else flowIndent = parentIndent + 1;
-      blockIndent = state.position - state.lineStart;
-      if (indentStatus === 1) if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) hasContent = true;
+      } else if (detected) throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
       else {
-        const ch = state.input.charCodeAt(state.position);
-        if (propertyStart !== null && allowBlockStyles && !allowBlockCollections && ch !== 124 && ch !== 62 && tryReadBlockMappingFromProperty(state, propertyStart, propertyStart.position - propertyStart.lineStart, flowIndent)) hasContent = true;
-        else if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) hasContent = true;
-        else if (readAlias(state)) {
-          hasContent = true;
-          if (state.tag !== null || state.anchor !== null) throwError(state, "alias node should not have any properties");
-        } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
-          hasContent = true;
-          if (state.tag === null) state.tag = "?";
-        }
-        if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
-      }
-      else if (indentStatus === 0) hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);
-    }
-    if (state.tag === null) {
-      if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
-    } else if (state.tag === "?") {
-      if (state.result !== null && state.kind !== "scalar") throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"');
-      for (let typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
-        type = state.implicitTypes[typeIndex];
-        if (type.resolve(state.result)) {
-          state.result = type.construct(state.result);
-          state.tag = type.tag;
-          if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
-          break;
-        }
-      }
-    } else if (state.tag !== "!") {
-      if (_hasOwnProperty.call(state.typeMap[state.kind || "fallback"], state.tag)) type = state.typeMap[state.kind || "fallback"][state.tag];
-      else {
-        type = null;
-        const typeList = state.typeMap.multi[state.kind || "fallback"];
-        for (let typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {
-          type = typeList[typeIndex];
-          break;
-        }
-      }
-      if (!type) throwError(state, "unknown tag !<" + state.tag + ">");
-      if (state.result !== null && type.kind !== state.kind) throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
-      if (!type.resolve(state.result, state.tag)) throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
-      else {
-        state.result = type.construct(state.result, state.tag);
-        if (state.anchor !== null) storeAnchor(state, state.anchor, state.result);
-      }
-    }
-    if (state.listener !== null) state.listener("close", state);
-    state.depth -= 1;
-    return state.tag !== null || state.anchor !== null || hasContent;
-  }
-  function readDocument(state) {
-    const documentStart = state.position;
-    let hasDirectives = false;
-    let ch;
-    state.version = null;
-    state.checkLineBreaks = state.legacy;
-    state.tagMap = /* @__PURE__ */ Object.create(null);
-    state.anchorMap = /* @__PURE__ */ Object.create(null);
-    while ((ch = state.input.charCodeAt(state.position)) !== 0) {
-      skipSeparationSpace(state, true, -1);
-      ch = state.input.charCodeAt(state.position);
-      if (state.lineIndent > 0 || ch !== 37) break;
-      hasDirectives = true;
-      ch = state.input.charCodeAt(++state.position);
-      let _position = state.position;
-      while (ch !== 0 && !isWsOrEol(ch)) ch = state.input.charCodeAt(++state.position);
-      const directiveName = state.input.slice(_position, state.position);
-      const directiveArgs = [];
-      if (directiveName.length < 1) throwError(state, "directive name must not be less than one character in length");
-      while (ch !== 0) {
-        while (isWhiteSpace(ch)) ch = state.input.charCodeAt(++state.position);
-        if (ch === 35) {
-          do
-            ch = state.input.charCodeAt(++state.position);
-          while (ch !== 0 && !isEol(ch));
-          break;
-        }
-        if (isEol(ch)) break;
-        _position = state.position;
-        while (ch !== 0 && !isWsOrEol(ch)) ch = state.input.charCodeAt(++state.position);
-        directiveArgs.push(state.input.slice(_position, state.position));
-      }
-      if (ch !== 0) readLineBreak(state);
-      if (_hasOwnProperty.call(directiveHandlers, directiveName)) directiveHandlers[directiveName](state, directiveName, directiveArgs);
-      else throwWarning(state, 'unknown document directive "' + directiveName + '"');
-    }
-    skipSeparationSpace(state, true, -1);
-    if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
-      state.position += 3;
-      skipSeparationSpace(state, true, -1);
-    } else if (hasDirectives) throwError(state, "directives end mark is expected");
-    composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
-    skipSeparationSpace(state, true, -1);
-    if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) throwWarning(state, "non-ASCII line breaks are interpreted as content");
-    state.documents.push(state.result);
-    if (state.position === state.lineStart && testDocumentSeparator(state)) {
-      if (state.input.charCodeAt(state.position) === 46) {
-        state.position += 3;
-        skipSeparationSpace(state, true, -1);
-      }
-      return;
-    }
-    if (state.position < state.length - 1) throwError(state, "end of the stream or a document separator is expected");
-  }
-  function loadDocuments(input, options) {
-    input = String(input);
-    options = options || {};
-    if (input.length !== 0) {
-      if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) input += "\n";
-      if (input.charCodeAt(0) === 65279) input = input.slice(1);
-    }
-    const state = new State(input, options);
-    const nullpos = input.indexOf("\0");
-    if (nullpos !== -1) {
-      state.position = nullpos;
-      throwError(state, "null byte is not allowed in input");
-    }
-    state.input += "\0";
-    while (state.input.charCodeAt(state.position) === 32) {
-      state.lineIndent += 1;
-      state.position += 1;
-    }
-    while (state.position < state.length - 1) readDocument(state);
-    return state.documents;
-  }
-  function loadAll2(input, iterator2, options) {
-    if (iterator2 !== null && typeof iterator2 === "object" && typeof options === "undefined") {
-      options = iterator2;
-      iterator2 = null;
-    }
-    const documents = loadDocuments(input, options);
-    if (typeof iterator2 !== "function") return documents;
-    for (let index = 0, length = documents.length; index < length; index += 1) iterator2(documents[index]);
-  }
-  function load2(input, options) {
-    const documents = loadDocuments(input, options);
-    if (documents.length === 0) return;
-    else if (documents.length === 1) return documents[0];
-    throw new YAMLException2("expected a single document in the stream, but found more");
-  }
-  module2.exports.loadAll = loadAll2;
-  module2.exports.load = load2;
-}));
-var require_dumper = /* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var common = require_common();
-  var YAMLException2 = require_exception();
-  var DEFAULT_SCHEMA2 = require_default();
-  var _toString = Object.prototype.toString;
-  var _hasOwnProperty = Object.prototype.hasOwnProperty;
-  var CHAR_BOM = 65279;
-  var CHAR_TAB = 9;
-  var CHAR_LINE_FEED = 10;
-  var CHAR_CARRIAGE_RETURN = 13;
-  var CHAR_SPACE = 32;
-  var CHAR_EXCLAMATION = 33;
-  var CHAR_DOUBLE_QUOTE = 34;
-  var CHAR_SHARP = 35;
-  var CHAR_PERCENT = 37;
-  var CHAR_AMPERSAND = 38;
-  var CHAR_SINGLE_QUOTE = 39;
-  var CHAR_ASTERISK = 42;
-  var CHAR_COMMA = 44;
-  var CHAR_MINUS = 45;
-  var CHAR_COLON = 58;
-  var CHAR_EQUALS = 61;
-  var CHAR_GREATER_THAN = 62;
-  var CHAR_QUESTION = 63;
-  var CHAR_COMMERCIAL_AT = 64;
-  var CHAR_LEFT_SQUARE_BRACKET = 91;
-  var CHAR_RIGHT_SQUARE_BRACKET = 93;
-  var CHAR_GRAVE_ACCENT = 96;
-  var CHAR_LEFT_CURLY_BRACKET = 123;
-  var CHAR_VERTICAL_LINE = 124;
-  var CHAR_RIGHT_CURLY_BRACKET = 125;
-  var ESCAPE_SEQUENCES = {};
-  ESCAPE_SEQUENCES[0] = "\\0";
-  ESCAPE_SEQUENCES[7] = "\\a";
-  ESCAPE_SEQUENCES[8] = "\\b";
-  ESCAPE_SEQUENCES[9] = "\\t";
-  ESCAPE_SEQUENCES[10] = "\\n";
-  ESCAPE_SEQUENCES[11] = "\\v";
-  ESCAPE_SEQUENCES[12] = "\\f";
-  ESCAPE_SEQUENCES[13] = "\\r";
-  ESCAPE_SEQUENCES[27] = "\\e";
-  ESCAPE_SEQUENCES[34] = '\\"';
-  ESCAPE_SEQUENCES[92] = "\\\\";
-  ESCAPE_SEQUENCES[133] = "\\N";
-  ESCAPE_SEQUENCES[160] = "\\_";
-  ESCAPE_SEQUENCES[8232] = "\\L";
-  ESCAPE_SEQUENCES[8233] = "\\P";
-  var DEPRECATED_BOOLEANS_SYNTAX = [
-    "y",
-    "Y",
-    "yes",
-    "Yes",
-    "YES",
-    "on",
-    "On",
-    "ON",
-    "n",
-    "N",
-    "no",
-    "No",
-    "NO",
-    "off",
-    "Off",
-    "OFF"
-  ];
-  var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
-  function compileStyleMap(schema, map) {
-    if (map === null) return {};
-    const result = {};
-    const keys = Object.keys(map);
-    for (let index = 0, length = keys.length; index < length; index += 1) {
-      let tag = keys[index];
-      let style = String(map[tag]);
-      if (tag.slice(0, 2) === "!!") tag = "tag:yaml.org,2002:" + tag.slice(2);
-      const type = schema.compiledTypeMap["fallback"][tag];
-      if (type && _hasOwnProperty.call(type.styleAliases, style)) style = type.styleAliases[style];
-      result[tag] = style;
-    }
-    return result;
-  }
-  function encodeHex(character) {
-    let handle;
-    let length;
-    const string2 = character.toString(16).toUpperCase();
-    if (character <= 255) {
-      handle = "x";
-      length = 2;
-    } else if (character <= 65535) {
-      handle = "u";
-      length = 4;
-    } else if (character <= 4294967295) {
-      handle = "U";
-      length = 8;
-    } else throw new YAMLException2("code point within a string may not be greater than 0xFFFFFFFF");
-    return "\\" + handle + common.repeat("0", length - string2.length) + string2;
-  }
-  var QUOTING_TYPE_SINGLE = 1;
-  var QUOTING_TYPE_DOUBLE = 2;
-  function State(options) {
-    this.schema = options["schema"] || DEFAULT_SCHEMA2;
-    this.indent = Math.max(1, options["indent"] || 2);
-    this.noArrayIndent = options["noArrayIndent"] || false;
-    this.skipInvalid = options["skipInvalid"] || false;
-    this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"];
-    this.styleMap = compileStyleMap(this.schema, options["styles"] || null);
-    this.sortKeys = options["sortKeys"] || false;
-    this.lineWidth = options["lineWidth"] || 80;
-    this.noRefs = options["noRefs"] || false;
-    this.noCompatMode = options["noCompatMode"] || false;
-    this.condenseFlow = options["condenseFlow"] || false;
-    this.quotingType = options["quotingType"] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE;
-    this.forceQuotes = options["forceQuotes"] || false;
-    this.replacer = typeof options["replacer"] === "function" ? options["replacer"] : null;
-    this.implicitTypes = this.schema.compiledImplicit;
-    this.explicitTypes = this.schema.compiledExplicit;
-    this.tag = null;
-    this.result = "";
-    this.duplicates = [];
-    this.usedDuplicates = null;
-  }
-  function indentString(string2, spaces) {
-    const ind = common.repeat(" ", spaces);
-    let position = 0;
-    let result = "";
-    const length = string2.length;
-    while (position < length) {
-      let line;
-      const next = string2.indexOf("\n", position);
-      if (next === -1) {
-        line = string2.slice(position);
-        position = length;
-      } else {
-        line = string2.slice(position, next + 1);
-        position = next + 1;
-      }
-      if (line.length && line !== "\n") result += ind;
-      result += line;
-    }
-    return result;
-  }
-  function generateNextLine(state, level) {
-    return "\n" + common.repeat(" ", state.indent * level);
-  }
-  function testImplicitResolving(state, str) {
-    for (let index = 0, length = state.implicitTypes.length; index < length; index += 1) if (state.implicitTypes[index].resolve(str)) return true;
-    return false;
-  }
-  function isWhitespace(c) {
-    return c === CHAR_SPACE || c === CHAR_TAB;
-  }
-  function isPrintable(c) {
-    return c >= 32 && c <= 126 || c >= 161 && c <= 55295 && c !== 8232 && c !== 8233 || c >= 57344 && c <= 65533 && c !== CHAR_BOM || c >= 65536 && c <= 1114111;
-  }
-  function isNsCharOrWhitespace(c) {
-    return isPrintable(c) && c !== CHAR_BOM && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;
-  }
-  function isPlainSafe(c, prev, inblock) {
-    const cIsNsCharOrWhitespace = isNsCharOrWhitespace(c);
-    const cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c);
-    return (inblock ? cIsNsCharOrWhitespace : cIsNsCharOrWhitespace && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET) && c !== CHAR_SHARP && !(prev === CHAR_COLON && !cIsNsChar) || isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar;
-  }
-  function isPlainSafeFirst(c) {
-    return isPrintable(c) && c !== CHAR_BOM && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;
-  }
-  function isPlainSafeLast(c) {
-    return !isWhitespace(c) && c !== CHAR_COLON;
-  }
-  function codePointAt(string2, pos) {
-    const first = string2.charCodeAt(pos);
-    let second;
-    if (first >= 55296 && first <= 56319 && pos + 1 < string2.length) {
-      second = string2.charCodeAt(pos + 1);
-      if (second >= 56320 && second <= 57343) return (first - 55296) * 1024 + second - 56320 + 65536;
-    }
-    return first;
-  }
-  function needIndentIndicator(string2) {
-    return /^\n* /.test(string2);
-  }
-  var STYLE_PLAIN = 1;
-  var STYLE_SINGLE = 2;
-  var STYLE_LITERAL = 3;
-  var STYLE_FOLDED = 4;
-  var STYLE_DOUBLE = 5;
-  function chooseScalarStyle(string2, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) {
-    let i;
-    let char = 0;
-    let prevChar = null;
-    let hasLineBreak = false;
-    let hasFoldableLine = false;
-    const shouldTrackWidth = lineWidth !== -1;
-    let previousLineBreak = -1;
-    let plain = isPlainSafeFirst(codePointAt(string2, 0)) && isPlainSafeLast(codePointAt(string2, string2.length - 1));
-    if (singleLineOnly || forceQuotes) for (i = 0; i < string2.length; char >= 65536 ? i += 2 : i++) {
-      char = codePointAt(string2, i);
-      if (!isPrintable(char)) return STYLE_DOUBLE;
-      plain = plain && isPlainSafe(char, prevChar, inblock);
-      prevChar = char;
-    }
-    else {
-      for (i = 0; i < string2.length; char >= 65536 ? i += 2 : i++) {
-        char = codePointAt(string2, i);
-        if (char === CHAR_LINE_FEED) {
-          hasLineBreak = true;
-          if (shouldTrackWidth) {
-            hasFoldableLine = hasFoldableLine || i - previousLineBreak - 1 > lineWidth && string2[previousLineBreak + 1] !== " ";
-            previousLineBreak = i;
-          }
-        } else if (!isPrintable(char)) return STYLE_DOUBLE;
-        plain = plain && isPlainSafe(char, prevChar, inblock);
-        prevChar = char;
-      }
-      hasFoldableLine = hasFoldableLine || shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string2[previousLineBreak + 1] !== " ";
-    }
-    if (!hasLineBreak && !hasFoldableLine) {
-      if (plain && !forceQuotes && !testAmbiguousType(string2)) return STYLE_PLAIN;
-      return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
-    }
-    if (indentPerLevel > 9 && needIndentIndicator(string2)) return STYLE_DOUBLE;
-    if (!forceQuotes) return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
-    return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
-  }
-  function writeScalar(state, string2, level, iskey, inblock) {
-    state.dump = (function() {
-      if (string2.length === 0) return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''";
-      if (!state.noCompatMode) {
-        if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string2) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string2)) return state.quotingType === QUOTING_TYPE_DOUBLE ? '"' + string2 + '"' : "'" + string2 + "'";
-      }
-      const indent = state.indent * Math.max(1, level);
-      const lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
-      const singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;
-      function testAmbiguity(string3) {
-        return testImplicitResolving(state, string3);
-      }
-      switch (chooseScalarStyle(string2, singleLineOnly, state.indent, lineWidth, testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) {
-        case STYLE_PLAIN:
-          return string2;
-        case STYLE_SINGLE:
-          return "'" + string2.replace(/'/g, "''") + "'";
-        case STYLE_LITERAL:
-          return "|" + blockHeader(string2, state.indent) + dropEndingNewline(indentString(string2, indent));
-        case STYLE_FOLDED:
-          return ">" + blockHeader(string2, state.indent) + dropEndingNewline(indentString(foldString(string2, lineWidth), indent));
-        case STYLE_DOUBLE:
-          return '"' + escapeString(string2, lineWidth) + '"';
-        default:
-          throw new YAMLException2("impossible error: invalid scalar style");
-      }
-    })();
-  }
-  function blockHeader(string2, indentPerLevel) {
-    const indentIndicator = needIndentIndicator(string2) ? String(indentPerLevel) : "";
-    const clip = string2[string2.length - 1] === "\n";
-    return indentIndicator + (clip && (string2[string2.length - 2] === "\n" || string2 === "\n") ? "+" : clip ? "" : "-") + "\n";
-  }
-  function dropEndingNewline(string2) {
-    return string2[string2.length - 1] === "\n" ? string2.slice(0, -1) : string2;
-  }
-  function foldString(string2, width) {
-    const lineRe = /(\n+)([^\n]*)/g;
-    let result = (function() {
-      let nextLF = string2.indexOf("\n");
-      nextLF = nextLF !== -1 ? nextLF : string2.length;
-      lineRe.lastIndex = nextLF;
-      return foldLine(string2.slice(0, nextLF), width);
-    })();
-    let prevMoreIndented = string2[0] === "\n" || string2[0] === " ";
-    let moreIndented;
-    let match;
-    while (match = lineRe.exec(string2)) {
-      const prefix = match[1];
-      const line = match[2];
-      moreIndented = line[0] === " ";
-      result += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width);
-      prevMoreIndented = moreIndented;
-    }
-    return result;
-  }
-  function foldLine(line, width) {
-    if (line === "" || line[0] === " ") return line;
-    const breakRe = / [^ ]/g;
-    let match;
-    let start = 0;
-    let end;
-    let curr = 0;
-    let next = 0;
-    let result = "";
-    while (match = breakRe.exec(line)) {
-      next = match.index;
-      if (next - start > width) {
-        end = curr > start ? curr : next;
-        result += "\n" + line.slice(start, end);
-        start = end + 1;
-      }
-      curr = next;
-    }
-    result += "\n";
-    if (line.length - start > width && curr > start) result += line.slice(start, curr) + "\n" + line.slice(curr + 1);
-    else result += line.slice(start);
-    return result.slice(1);
-  }
-  function escapeString(string2) {
-    let result = "";
-    let char = 0;
-    for (let i = 0; i < string2.length; char >= 65536 ? i += 2 : i++) {
-      char = codePointAt(string2, i);
-      const escapeSeq = ESCAPE_SEQUENCES[char];
-      if (!escapeSeq && isPrintable(char)) {
-        result += string2[i];
-        if (char >= 65536) result += string2[i + 1];
-      } else result += escapeSeq || encodeHex(char);
-    }
-    return result;
-  }
-  function writeFlowSequence(state, level, object2) {
-    let _result = "";
-    const _tag = state.tag;
-    for (let index = 0, length = object2.length; index < length; index += 1) {
-      let value = object2[index];
-      if (state.replacer) value = state.replacer.call(object2, String(index), value);
-      if (writeNode(state, level, value, false, false) || typeof value === "undefined" && writeNode(state, level, null, false, false)) {
-        if (_result !== "") _result += "," + (!state.condenseFlow ? " " : "");
-        _result += state.dump;
-      }
-    }
-    state.tag = _tag;
-    state.dump = "[" + _result + "]";
-  }
-  function writeBlockSequence(state, level, object2, compact) {
-    let _result = "";
-    const _tag = state.tag;
-    for (let index = 0, length = object2.length; index < length; index += 1) {
-      let value = object2[index];
-      if (state.replacer) value = state.replacer.call(object2, String(index), value);
-      if (writeNode(state, level + 1, value, true, true, false, true) || typeof value === "undefined" && writeNode(state, level + 1, null, true, true, false, true)) {
-        if (!compact || _result !== "") _result += generateNextLine(state, level);
-        if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) _result += "-";
-        else _result += "- ";
-        _result += state.dump;
-      }
-    }
-    state.tag = _tag;
-    state.dump = _result || "[]";
-  }
-  function writeFlowMapping(state, level, object2) {
-    let _result = "";
-    const _tag = state.tag;
-    const objectKeyList = Object.keys(object2);
-    for (let index = 0, length = objectKeyList.length; index < length; index += 1) {
-      let pairBuffer = "";
-      if (_result !== "") pairBuffer += ", ";
-      if (state.condenseFlow) pairBuffer += '"';
-      const objectKey = objectKeyList[index];
-      let objectValue = object2[objectKey];
-      if (state.replacer) objectValue = state.replacer.call(object2, objectKey, objectValue);
-      if (!writeNode(state, level, objectKey, false, false)) continue;
-      if (state.dump.length > 1024) pairBuffer += "? ";
-      pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " ");
-      if (!writeNode(state, level, objectValue, false, false)) continue;
-      pairBuffer += state.dump;
-      _result += pairBuffer;
-    }
-    state.tag = _tag;
-    state.dump = "{" + _result + "}";
-  }
-  function writeBlockMapping(state, level, object2, compact) {
-    let _result = "";
-    const _tag = state.tag;
-    const objectKeyList = Object.keys(object2);
-    if (state.sortKeys === true) objectKeyList.sort();
-    else if (typeof state.sortKeys === "function") objectKeyList.sort(state.sortKeys);
-    else if (state.sortKeys) throw new YAMLException2("sortKeys must be a boolean or a function");
-    for (let index = 0, length = objectKeyList.length; index < length; index += 1) {
-      let pairBuffer = "";
-      if (!compact || _result !== "") pairBuffer += generateNextLine(state, level);
-      const objectKey = objectKeyList[index];
-      let objectValue = object2[objectKey];
-      if (state.replacer) objectValue = state.replacer.call(object2, objectKey, objectValue);
-      if (!writeNode(state, level + 1, objectKey, true, true, true)) continue;
-      const explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024;
-      if (explicitPair) if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) pairBuffer += "?";
-      else pairBuffer += "? ";
-      pairBuffer += state.dump;
-      if (explicitPair) pairBuffer += generateNextLine(state, level);
-      if (!writeNode(state, level + 1, objectValue, true, explicitPair)) continue;
-      if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) pairBuffer += ":";
-      else pairBuffer += ": ";
-      pairBuffer += state.dump;
-      _result += pairBuffer;
-    }
-    state.tag = _tag;
-    state.dump = _result || "{}";
-  }
-  function detectType(state, object2, explicit) {
-    const typeList = explicit ? state.explicitTypes : state.implicitTypes;
-    for (let index = 0, length = typeList.length; index < length; index += 1) {
-      const type = typeList[index];
-      if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object2 === "object" && object2 instanceof type.instanceOf) && (!type.predicate || type.predicate(object2))) {
-        if (explicit) if (type.multi && type.representName) state.tag = type.representName(object2);
-        else state.tag = type.tag;
-        else state.tag = "?";
-        if (type.represent) {
-          const style = state.styleMap[type.tag] || type.defaultStyle;
-          let _result;
-          if (_toString.call(type.represent) === "[object Function]") _result = type.represent(object2, style);
-          else if (_hasOwnProperty.call(type.represent, style)) _result = type.represent[style](object2, style);
-          else throw new YAMLException2("!<" + type.tag + '> tag resolver accepts not "' + style + '" style');
-          state.dump = _result;
+        if (props.anchorStart !== NO_RANGE$1 || props.tagStart !== NO_RANGE$1) {
+          restoreState(state, beforeKey);
+          return false;
         }
         return true;
       }
     }
+    if (parseNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, pendingExplicitKey)) pendingExplicitKey = false;
+    if (!atExplicitKey) {
+      if (pendingExplicitKey) {
+        addEmptyScalarEvent(state);
+        pendingExplicitKey = false;
+      }
+    }
+    skipSeparationSpace(state, true);
+    ch = state.input.charCodeAt(state.position);
+    if ((state.line === entryLine || state.lineIndent > nodeIndent) && ch !== 0) throwError(state, "bad indentation of a mapping entry");
+    else if (state.lineIndent < nodeIndent) break;
+  }
+  if (!detected) return false;
+  if (atExplicitKey) addEmptyScalarEvent(state);
+  if (mappingOpened) addPopEvent(state);
+  return true;
+}
+function parseNode(state, parentIndent, nodeContext, allowToSeek, allowCompact, allowPropertyMapping = true) {
+  if (state.depth >= state.maxDepth) throwError(state, `nesting exceeded maxDepth (${state.maxDepth})`);
+  state.depth++;
+  let indentStatus = 1;
+  let atNewLine = false;
+  let hasContent = false;
+  let propertyStart = null;
+  const props = emptyProperties();
+  let allowBlockScalars = nodeContext === CONTEXT_BLOCK_OUT || nodeContext === CONTEXT_BLOCK_IN;
+  let allowBlockCollections = allowBlockScalars;
+  const allowBlockStyles = allowBlockScalars;
+  if (allowToSeek && skipSeparationSpace(state, true)) {
+    atNewLine = true;
+    if (state.lineIndent > parentIndent) indentStatus = 1;
+    else if (state.lineIndent === parentIndent) indentStatus = 0;
+    else indentStatus = -1;
+  }
+  if (state.position === state.lineStart && testDocumentSeparator(state)) {
+    state.depth--;
     return false;
   }
-  function writeNode(state, level, object2, block, compact, iskey, isblockseq) {
-    state.tag = null;
-    state.dump = object2;
-    if (!detectType(state, object2, false)) detectType(state, object2, true);
-    const type = _toString.call(state.dump);
-    const inblock = block;
-    if (block) block = state.flowLevel < 0 || state.flowLevel > level;
-    const objectOrArray = type === "[object Object]" || type === "[object Array]";
-    let duplicateIndex;
-    let duplicate;
-    if (objectOrArray) {
-      duplicateIndex = state.duplicates.indexOf(object2);
-      duplicate = duplicateIndex !== -1;
+  if (indentStatus === 1) while (true) {
+    const ch = state.input.charCodeAt(state.position);
+    const propertyState = snapshotState(state);
+    if (atNewLine && indentStatus !== 1 && (ch === 33 || ch === 38)) break;
+    if (atNewLine && allowBlockStyles && (props.tagStart !== NO_RANGE$1 || props.anchorStart !== NO_RANGE$1) && (ch === 33 || ch === 38)) {
+      const fallbackState = snapshotState(state);
+      const flowIndent = parentIndent + 1;
+      if (readBlockMapping(state, state.position - state.lineStart, flowIndent, props) && state.events[fallbackState.eventsLength]?.type === 3) {
+        state.depth--;
+        return true;
+      }
+      restoreState(state, fallbackState);
     }
-    if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) compact = false;
-    if (duplicate && state.usedDuplicates[duplicateIndex]) state.dump = "*ref_" + duplicateIndex;
+    if (atNewLine && (ch === 33 && props.tagStart !== NO_RANGE$1 || ch === 38 && props.anchorStart !== NO_RANGE$1)) break;
+    if (!readTagProperty(state, props, nodeContext === CONTEXT_FLOW_IN) && !readAnchorProperty(state, props)) break;
+    if (propertyStart === null) propertyStart = propertyState;
+    if (skipSeparationSpace(state, true)) {
+      atNewLine = true;
+      allowBlockCollections = allowBlockStyles;
+      if (state.lineIndent > parentIndent) indentStatus = 1;
+      else if (state.lineIndent === parentIndent) indentStatus = 0;
+      else indentStatus = -1;
+    } else allowBlockCollections = false;
+  }
+  if (allowBlockCollections) allowBlockCollections = atNewLine || allowCompact;
+  if (indentStatus === 1 || nodeContext === CONTEXT_BLOCK_OUT) {
+    const flowIndent = nodeContext === CONTEXT_FLOW_IN || nodeContext === CONTEXT_FLOW_OUT ? parentIndent : parentIndent + 1;
+    const blockIndent = state.position - state.lineStart;
+    if (indentStatus === 1) if (allowBlockCollections && (readBlockSequence(state, blockIndent, props) || readBlockMapping(state, blockIndent, flowIndent, props)) || readFlowCollection(state, flowIndent, props)) hasContent = true;
     else {
-      if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) state.usedDuplicates[duplicateIndex] = true;
-      if (type === "[object Object]") if (block && Object.keys(state.dump).length !== 0) {
-        writeBlockMapping(state, level, state.dump, compact);
-        if (duplicate) state.dump = "&ref_" + duplicateIndex + state.dump;
-      } else {
-        writeFlowMapping(state, level, state.dump);
-        if (duplicate) state.dump = "&ref_" + duplicateIndex + " " + state.dump;
-      }
-      else if (type === "[object Array]") if (block && state.dump.length !== 0) {
-        if (state.noArrayIndent && !isblockseq && level > 0) writeBlockSequence(state, level - 1, state.dump, compact);
-        else writeBlockSequence(state, level, state.dump, compact);
-        if (duplicate) state.dump = "&ref_" + duplicateIndex + state.dump;
-      } else {
-        writeFlowSequence(state, level, state.dump);
-        if (duplicate) state.dump = "&ref_" + duplicateIndex + " " + state.dump;
-      }
-      else if (type === "[object String]") {
-        if (state.tag !== "?") writeScalar(state, state.dump, level, iskey, inblock);
-      } else if (type === "[object Undefined]") return false;
-      else {
-        if (state.skipInvalid) return false;
-        throw new YAMLException2("unacceptable kind of an object to dump " + type);
-      }
-      if (state.tag !== null && state.tag !== "?") {
-        let tagStr = encodeURI(state.tag[0] === "!" ? state.tag.slice(1) : state.tag).replace(/!/g, "%21");
-        if (state.tag[0] === "!") tagStr = "!" + tagStr;
-        else if (tagStr.slice(0, 18) === "tag:yaml.org,2002:") tagStr = "!!" + tagStr.slice(18);
-        else tagStr = "!<" + tagStr + ">";
-        state.dump = tagStr + " " + state.dump;
+      const ch = state.input.charCodeAt(state.position);
+      if (propertyStart !== null && allowPropertyMapping && allowBlockStyles && !allowBlockCollections && ch !== 124 && ch !== 62) {
+        const fallbackState = snapshotState(state);
+        const propertyIndent = propertyStart.position - propertyStart.lineStart;
+        restoreState(state, propertyStart);
+        if (readBlockMapping(state, propertyIndent, flowIndent, emptyProperties()) && state.events[fallbackState.eventsLength]?.type === 3) hasContent = true;
+        else restoreState(state, fallbackState);
       }
+      if (!hasContent && (allowBlockScalars && readBlockScalar(state, flowIndent, props) || readSingleQuotedScalar(state, flowIndent, props) || readDoubleQuotedScalar(state, flowIndent, props) || readAlias(state, props) || readPlainScalar(state, flowIndent, nodeContext, props))) hasContent = true;
     }
-    return true;
+    else if (indentStatus === 0) hasContent = allowBlockCollections && readBlockSequence(state, blockIndent, props);
   }
-  function getDuplicateReferences(object2, state) {
-    const objects = [];
-    const duplicatesIndexes = [];
-    inspectNode(object2, objects, duplicatesIndexes);
-    const length = duplicatesIndexes.length;
-    for (let index = 0; index < length; index += 1) state.duplicates.push(objects[duplicatesIndexes[index]]);
-    state.usedDuplicates = new Array(length);
+  allowBlockScalars = allowBlockScalars && !hasContent;
+  if (!hasContent && (props.anchorStart !== NO_RANGE$1 || props.tagStart !== NO_RANGE$1 || allowBlockScalars)) {
+    addScalarEvent(state, NO_RANGE$1, NO_RANGE$1, props.anchorStart, props.anchorEnd, props.tagStart, props.tagEnd, 1);
+    hasContent = true;
   }
-  function inspectNode(object2, objects, duplicatesIndexes) {
-    if (object2 !== null && typeof object2 === "object") {
-      const index = objects.indexOf(object2);
-      if (index !== -1) {
-        if (duplicatesIndexes.indexOf(index) === -1) duplicatesIndexes.push(index);
-      } else {
-        objects.push(object2);
-        if (Array.isArray(object2)) for (let i = 0, length = object2.length; i < length; i += 1) inspectNode(object2[i], objects, duplicatesIndexes);
-        else {
-          const objectKeyList = Object.keys(object2);
-          for (let i = 0, length = objectKeyList.length; i < length; i += 1) inspectNode(object2[objectKeyList[i]], objects, duplicatesIndexes);
-        }
-      }
+  state.depth--;
+  return hasContent || props.anchorStart !== NO_RANGE$1 || props.tagStart !== NO_RANGE$1;
+}
+function readDirective(state) {
+  if (state.lineIndent > 0 || state.input.charCodeAt(state.position) !== 37) return false;
+  state.position++;
+  const nameStart = state.position;
+  while (state.input.charCodeAt(state.position) !== 0 && !isWsOrEol(state.input.charCodeAt(state.position))) state.position++;
+  const name = state.input.slice(nameStart, state.position);
+  const args = [];
+  if (name.length === 0) throwError(state, "directive name must not be less than one character in length");
+  while (state.input.charCodeAt(state.position) !== 0 && !isEol(state.input.charCodeAt(state.position))) {
+    while (isWhiteSpace(state.input.charCodeAt(state.position))) state.position++;
+    if (state.input.charCodeAt(state.position) === 35 || isEol(state.input.charCodeAt(state.position)) || state.input.charCodeAt(state.position) === 0) break;
+    const start = state.position;
+    while (state.input.charCodeAt(state.position) !== 0 && !isWsOrEol(state.input.charCodeAt(state.position))) state.position++;
+    args.push(state.input.slice(start, state.position));
+  }
+  if (isEol(state.input.charCodeAt(state.position))) consumeLineBreak(state);
+  if (name === "YAML") {
+    if (state.directives.some((directive) => directive.kind === "yaml")) throwError(state, "duplication of %YAML directive");
+    if (args.length !== 1) throwError(state, "YAML directive accepts exactly one argument");
+    const match2 = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
+    if (match2 === null) throwError(state, "ill-formed argument of the YAML directive");
+    if (parseInt(match2[1], 10) !== 1) throwError(state, "unacceptable YAML version of the document");
+    state.directives.push({
+      kind: "yaml",
+      version: args[0]
+    });
+  } else if (name === "TAG") {
+    if (args.length !== 2) throwError(state, "TAG directive accepts exactly two arguments");
+    const [handle, prefix] = args;
+    if (!PATTERN_TAG_HANDLE.test(handle)) throwError(state, "ill-formed tag handle (first argument) of the TAG directive");
+    if (HAS_OWN.call(state.tagHandlers, handle)) throwError(state, `there is a previously declared suffix for "${handle}" tag handle`);
+    if (!PATTERN_TAG_PREFIX.test(prefix)) throwError(state, "ill-formed tag prefix (second argument) of the TAG directive");
+    state.tagHandlers[handle] = prefix;
+    state.directives.push({
+      kind: "tag",
+      handle,
+      prefix
+    });
+  }
+  return true;
+}
+function readDocument(state) {
+  state.directives = [];
+  state.tagHandlers = /* @__PURE__ */ Object.create(null);
+  let hasDirectives = false;
+  skipSeparationSpace(state, true);
+  while (readDirective(state)) {
+    hasDirectives = true;
+    skipSeparationSpace(state, true);
+  }
+  let explicitStart = false;
+  let explicitEnd = false;
+  let allowCompact = true;
+  if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45 && isWsOrEolOrEnd(state.input.charCodeAt(state.position + 3))) {
+    explicitStart = true;
+    const markerLine = state.line;
+    state.position += 3;
+    skipSeparationSpace(state, true);
+    allowCompact = state.line > markerLine;
+  } else if (hasDirectives) throwError(state, "directives end mark is expected");
+  const documentEventIndex = state.events.length;
+  if (!explicitStart && state.position === state.lineStart && state.input.charCodeAt(state.position) === 46 && testDocumentSeparator(state)) {
+    state.position += 3;
+    skipSeparationSpace(state, true);
+    return;
+  }
+  addDocumentEvent(state, explicitStart, false);
+  if (!parseNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, allowCompact, allowCompact)) addEmptyScalarEvent(state);
+  skipSeparationSpace(state, true);
+  if (state.position === state.lineStart && testDocumentSeparator(state)) {
+    explicitEnd = state.input.charCodeAt(state.position) === 46;
+    if (explicitEnd) {
+      const markerLine = state.line;
+      state.position += 3;
+      skipSeparationSpace(state, true);
+      if (state.line === markerLine && state.position < state.length) throwError(state, "end of the stream or a document separator is expected");
     }
   }
-  function dump2(input, options) {
-    options = options || {};
-    const state = new State(options);
-    if (!state.noRefs) getDuplicateReferences(input, state);
-    let value = input;
-    if (state.replacer) value = state.replacer.call({ "": value }, "", value);
-    if (writeNode(state, 0, value, true, true)) return state.dump + "\n";
-    return "";
+  const documentEvent = state.events[documentEventIndex];
+  if (documentEvent?.type === 1) documentEvent.explicitEnd = explicitEnd;
+  addPopEvent(state);
+  if (!explicitEnd && state.position < state.length && !(state.position === state.lineStart && testDocumentSeparator(state))) throwError(state, "end of the stream or a document separator is expected");
+}
+function parseEvents(input, options) {
+  const length = input.length;
+  const state = {
+    ...DEFAULT_PARSER_OPTIONS,
+    ...options,
+    input: `${input}\0`,
+    length,
+    position: 0,
+    line: 0,
+    lineStart: 0,
+    lineIndent: 0,
+    firstTabInLine: -1,
+    depth: 0,
+    directives: [],
+    tagHandlers: /* @__PURE__ */ Object.create(null),
+    events: []
+  };
+  const nullpos = input.indexOf("\0");
+  if (nullpos !== -1) throwErrorAt(input, nullpos, "null byte is not allowed in input", state.filename);
+  if (state.input.charCodeAt(state.position) === 65279) state.position++;
+  while (state.position < state.length) {
+    skipSeparationSpace(state, true);
+    if (state.position >= state.length) break;
+    const documentStart = state.position;
+    readDocument(state);
+    if (state.position === documentStart)
+      throwError(state, "can not read a document");
   }
-  module2.exports.dump = dump2;
-}));
-var import_js_yaml = /* @__PURE__ */ __toESM2((/* @__PURE__ */ __commonJSMin(((exports2, module2) => {
-  var loader = require_loader();
-  var dumper = require_dumper();
-  function renamed(from, to) {
-    return function() {
-      throw new Error("Function yaml." + from + " is removed in js-yaml 4. Use yaml." + to + " instead, which is now safe by default.");
+  return state.events;
+}
+var DEFAULT_LOAD_OPTIONS = {
+  ...DEFAULT_PARSER_OPTIONS,
+  ...DEFAULT_CONSTRUCTOR_OPTIONS
+};
+function loadDocuments(input, options = {}) {
+  const opts = {
+    ...DEFAULT_LOAD_OPTIONS,
+    ...options
+  };
+  const source = String(input);
+  const PARSER_OPT_KEYS = Object.keys(DEFAULT_PARSER_OPTIONS);
+  const CONSTRUCTOR_OPT_KEYS = Object.keys(DEFAULT_CONSTRUCTOR_OPTIONS);
+  return constructFromEvents(parseEvents(source, pick(opts, PARSER_OPT_KEYS)), {
+    ...pick(opts, CONSTRUCTOR_OPT_KEYS),
+    source
+  });
+}
+function load(input, options) {
+  const documents = loadDocuments(input, options);
+  if (documents.length === 0) throw new YAMLException("expected a document, but the input is empty");
+  if (documents.length === 1) return documents[0];
+  throw new YAMLException("expected a single document in the stream, but found more");
+}
+var Style = class {
+  tagged = false;
+  flow = false;
+  singleQuoted = false;
+  doubleQuoted = false;
+  literal = false;
+  folded = false;
+};
+var INVALID = /* @__PURE__ */ Symbol("INVALID");
+function buildRepresentTypes(schema) {
+  const defaultTags = new Set([
+    schema.defaultScalarTag,
+    schema.defaultSequenceTag,
+    schema.defaultMappingTag
+  ].filter((t) => t !== void 0));
+  const implicitScalars = schema.implicitScalarTags;
+  const explicitTags = schema.tags.filter((t) => !(t.nodeKind === "scalar" && t.implicit) && !defaultTags.has(t));
+  const defaultTagsLast = schema.tags.filter((t) => defaultTags.has(t));
+  return [
+    ...implicitScalars.map((tag) => ({
+      tag,
+      implicitTag: true
+    })),
+    ...explicitTags.map((tag) => ({
+      tag,
+      implicitTag: false
+    })),
+    ...defaultTagsLast.map((tag) => ({
+      tag,
+      implicitTag: true
+    }))
+  ];
+}
+function matchTag(state, object) {
+  for (let index2 = 0, length = state.representTypes.length; index2 < length; index2 += 1) {
+    const { tag, implicitTag } = state.representTypes[index2];
+    if (tag.identify && tag.identify(object)) {
+      let tagName;
+      if (tag.matchByTagPrefix && tag.representTagName) tagName = tag.representTagName(object);
+      else tagName = tag.tagName;
+      return {
+        tag,
+        tagName,
+        implicitTag
+      };
+    }
+  }
+  return null;
+}
+function build(state, object) {
+  if (!state.noRefs && object !== null && typeof object === "object") {
+    const existing = state.refs.get(object);
+    if (existing) {
+      if (existing.anchor === void 0) existing.anchor = `ref_${state.refCounter++}`;
+      return {
+        kind: "alias",
+        tag: "",
+        style: new Style(),
+        anchor: existing.anchor
+      };
+    }
+  }
+  const matched = matchTag(state, object);
+  if (!matched) {
+    if (object === void 0) return INVALID;
+    if (state.skipInvalid) return INVALID;
+    throw new YAMLException(`unacceptable kind of an object to dump ${Object.prototype.toString.call(object)}`);
+  }
+  const { tag, tagName, implicitTag } = matched;
+  const nodeTagName = implicitTag ? tagName : tagNameShort(tagName);
+  if (tag.nodeKind === "scalar") {
+    const style2 = new Style();
+    style2.tagged = !implicitTag;
+    return {
+      kind: "scalar",
+      tag: nodeTagName,
+      style: style2,
+      value: tag.represent(object)
     };
   }
-  module2.exports.Type = require_type();
-  module2.exports.Schema = require_schema();
-  module2.exports.FAILSAFE_SCHEMA = require_failsafe();
-  module2.exports.JSON_SCHEMA = require_json();
-  module2.exports.CORE_SCHEMA = require_core2();
-  module2.exports.DEFAULT_SCHEMA = require_default();
-  module2.exports.load = loader.load;
-  module2.exports.loadAll = loader.loadAll;
-  module2.exports.dump = dumper.dump;
-  module2.exports.YAMLException = require_exception();
-  module2.exports.types = {
-    binary: require_binary(),
-    float: require_float(),
-    map: require_map(),
-    null: require_null(),
-    pairs: require_pairs(),
-    set: require_set(),
-    timestamp: require_timestamp(),
-    bool: require_bool(),
-    int: require_int(),
-    merge: require_merge(),
-    omap: require_omap(),
-    seq: require_seq(),
-    str: require_str()
+  if (tag.nodeKind === "sequence") {
+    const container = tag.represent(object);
+    const style2 = new Style();
+    style2.tagged = !implicitTag;
+    const node2 = {
+      kind: "sequence",
+      tag: nodeTagName,
+      style: style2,
+      items: []
+    };
+    if (!state.noRefs) state.refs.set(object, node2);
+    for (let index2 = 0, length = container.length; index2 < length; index2 += 1) {
+      let item = build(state, container[index2]);
+      if (item === INVALID && container[index2] === void 0) item = build(state, null);
+      if (item === INVALID) continue;
+      node2.items.push(item);
+    }
+    return node2;
+  }
+  const map = tag.represent(object);
+  const style = new Style();
+  style.tagged = !implicitTag;
+  const node = {
+    kind: "mapping",
+    tag: nodeTagName,
+    style,
+    items: []
   };
-  module2.exports.safeLoad = renamed("safeLoad", "load");
-  module2.exports.safeLoadAll = renamed("safeLoadAll", "loadAll");
-  module2.exports.safeDump = renamed("safeDump", "dump");
-})))(), 1);
-var { Type, Schema, FAILSAFE_SCHEMA, JSON_SCHEMA, CORE_SCHEMA, DEFAULT_SCHEMA, load, loadAll, dump, YAMLException, types, safeLoad, safeLoadAll, safeDump } = import_js_yaml.default;
-var index_vite_proxy_tmp_default = import_js_yaml.default;
+  if (!state.noRefs) state.refs.set(object, node);
+  for (const [objectKey, objectValue] of map) {
+    const key = build(state, objectKey);
+    if (key === INVALID) continue;
+    const value = build(state, objectValue);
+    if (value === INVALID) continue;
+    node.items.push({
+      key,
+      value
+    });
+  }
+  return node;
+}
+function jsToAst(input, schema, options = {}) {
+  const root = build({
+    representTypes: buildRepresentTypes(schema),
+    noRefs: options.noRefs ?? false,
+    skipInvalid: options.skipInvalid ?? false,
+    refs: /* @__PURE__ */ new Map(),
+    refCounter: 0
+  }, input);
+  return [{
+    contents: root === INVALID ? null : root,
+    directives: []
+  }];
+}
+var VISIT_BREAK = /* @__PURE__ */ Symbol("visit:break");
+var VISIT_SKIP = /* @__PURE__ */ Symbol("visit:skip");
+function visitNode(node, visitor, ctx) {
+  const control = visitor(node, ctx);
+  if (control === VISIT_BREAK) return true;
+  if (control === VISIT_SKIP) return false;
+  const depth = ctx.depth + 1;
+  switch (node.kind) {
+    case "sequence":
+      for (const item of node.items) if (visitNode(item, visitor, {
+        depth,
+        parent: node,
+        isKey: false
+      })) return true;
+      break;
+    case "mapping":
+      for (const { key, value } of node.items) {
+        if (visitNode(key, visitor, {
+          depth,
+          parent: node,
+          isKey: true
+        })) return true;
+        if (visitNode(value, visitor, {
+          depth,
+          parent: node,
+          isKey: false
+        })) return true;
+      }
+      break;
+  }
+  return false;
+}
+function visit(documents, visitor) {
+  for (const doc of documents) if (doc.contents && visitNode(doc.contents, visitor, {
+    depth: 0,
+    parent: null,
+    isKey: false
+  })) return;
+}
+var CHAR_BOM = 65279;
+var CHAR_TAB = 9;
+var CHAR_LINE_FEED = 10;
+var CHAR_CARRIAGE_RETURN = 13;
+var CHAR_SPACE = 32;
+var CHAR_EXCLAMATION = 33;
+var CHAR_DOUBLE_QUOTE = 34;
+var CHAR_SHARP = 35;
+var CHAR_PERCENT = 37;
+var CHAR_AMPERSAND = 38;
+var CHAR_SINGLE_QUOTE = 39;
+var CHAR_ASTERISK = 42;
+var CHAR_COMMA = 44;
+var CHAR_MINUS = 45;
+var CHAR_COLON = 58;
+var CHAR_EQUALS = 61;
+var CHAR_GREATER_THAN = 62;
+var CHAR_QUESTION = 63;
+var CHAR_COMMERCIAL_AT = 64;
+var CHAR_LEFT_SQUARE_BRACKET = 91;
+var CHAR_RIGHT_SQUARE_BRACKET = 93;
+var CHAR_GRAVE_ACCENT = 96;
+var CHAR_LEFT_CURLY_BRACKET = 123;
+var CHAR_VERTICAL_LINE = 124;
+var CHAR_RIGHT_CURLY_BRACKET = 125;
+var ESCAPE_SEQUENCES = {};
+ESCAPE_SEQUENCES[0] = "\\0";
+ESCAPE_SEQUENCES[7] = "\\a";
+ESCAPE_SEQUENCES[8] = "\\b";
+ESCAPE_SEQUENCES[9] = "\\t";
+ESCAPE_SEQUENCES[10] = "\\n";
+ESCAPE_SEQUENCES[11] = "\\v";
+ESCAPE_SEQUENCES[12] = "\\f";
+ESCAPE_SEQUENCES[13] = "\\r";
+ESCAPE_SEQUENCES[27] = "\\e";
+ESCAPE_SEQUENCES[34] = '\\"';
+ESCAPE_SEQUENCES[92] = "\\\\";
+ESCAPE_SEQUENCES[133] = "\\N";
+ESCAPE_SEQUENCES[160] = "\\_";
+ESCAPE_SEQUENCES[8232] = "\\L";
+ESCAPE_SEQUENCES[8233] = "\\P";
+var DEFAULT_PRESENTER_OPTIONS = {
+  indent: 2,
+  seqNoIndent: false,
+  seqInlineFirst: true,
+  sortKeys: false,
+  lineWidth: 80,
+  flowBracketPadding: false,
+  flowSkipCommaSpace: false,
+  flowSkipColonSpace: false,
+  quoteFlowKeys: false,
+  quoteStyle: "single",
+  forceQuotes: false,
+  tagBeforeAnchor: false
+};
+function nodeTagShort(node) {
+  return node.style.tagged ? node.tag : tagNameShort(node.tag);
+}
+function createPresenterState(options) {
+  const opts = {
+    ...DEFAULT_PRESENTER_OPTIONS,
+    ...options
+  };
+  return {
+    ...opts,
+    defaultScalarTagName: opts.schema.defaultScalarTag.tagName,
+    implicitResolvers: opts.schema.implicitScalarTags
+  };
+}
+function encodeNonPrintable(character) {
+  const string2 = character.toString(16).toUpperCase();
+  const handle = character <= 255 ? "x" : "u";
+  const length = character <= 255 ? 2 : 4;
+  return `\\${handle}${"0".repeat(length - string2.length)}${string2}`;
+}
+function indentString(string2, spaces) {
+  const ind = " ".repeat(spaces);
+  let position = 0;
+  let result = "";
+  const length = string2.length;
+  while (position < length) {
+    let line;
+    const next = string2.indexOf("\n", position);
+    if (next === -1) {
+      line = string2.slice(position);
+      position = length;
+    } else {
+      line = string2.slice(position, next + 1);
+      position = next + 1;
+    }
+    if (line.length && line !== "\n") result += ind;
+    result += line;
+  }
+  return result;
+}
+function generateNextLine(state, level) {
+  return `
+${" ".repeat(state.indent * level)}`;
+}
+function scalarLayout(state, level) {
+  const indent = state.indent * Math.max(1, level);
+  return {
+    indent,
+    blockIndent: level === 0 ? state.indent + 1 : state.indent,
+    lineWidth: state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent)
+  };
+}
+function resolveImplicitTag(state, str) {
+  for (let index2 = 0, length = state.implicitResolvers.length; index2 < length; index2 += 1) {
+    const tagDefinition = state.implicitResolvers[index2];
+    if (tagDefinition.resolve(str, false, tagDefinition.tagName) !== NOT_RESOLVED) return tagDefinition.tagName;
+  }
+  return state.defaultScalarTagName;
+}
+function isWhitespace(c) {
+  return c === CHAR_SPACE || c === CHAR_TAB;
+}
+function startsWithDocumentSeparator(string2) {
+  const marker = string2.charCodeAt(0);
+  if (marker !== CHAR_MINUS && marker !== 46 || string2.charCodeAt(1) !== marker || string2.charCodeAt(2) !== marker) return false;
+  if (string2.length === 3) return true;
+  const following = string2.charCodeAt(3);
+  return isWhitespace(following) || following === CHAR_CARRIAGE_RETURN || following === CHAR_LINE_FEED;
+}
+function isPrintable(c) {
+  return c >= 32 && c <= 126 || c >= 161 && c <= 55295 && c !== 8232 && c !== 8233 || c >= 57344 && c <= 65533 && c !== CHAR_BOM || c >= 65536 && c <= 1114111;
+}
+function isNsCharOrWhitespace(c) {
+  return isPrintable(c) && c !== CHAR_BOM && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;
+}
+function isPlainSafe(c, prev, inblock) {
+  const cIsNsCharOrWhitespace = isNsCharOrWhitespace(c);
+  const cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c);
+  return (inblock ? cIsNsCharOrWhitespace : cIsNsCharOrWhitespace && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET) && c !== CHAR_SHARP && !(prev === CHAR_COLON && !cIsNsChar) || isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar;
+}
+function isPlainSafeFirst(c) {
+  return isPrintable(c) && c !== CHAR_BOM && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;
+}
+function isPlainSafeAtStart(string2, inblock) {
+  const first = codePointAt(string2, 0);
+  if (isPlainSafeFirst(first)) return true;
+  if (string2.length > 1 && (first === CHAR_MINUS || first === CHAR_QUESTION || first === CHAR_COLON)) {
+    const second = codePointAt(string2, 1);
+    return !isWhitespace(second) && isPlainSafe(second, first, inblock);
+  }
+  return false;
+}
+function isPlainSafeLast(c) {
+  return !isWhitespace(c) && c !== CHAR_COLON;
+}
+function codePointAt(string2, pos) {
+  const first = string2.charCodeAt(pos);
+  let second;
+  if (first >= 55296 && first <= 56319 && pos + 1 < string2.length) {
+    second = string2.charCodeAt(pos + 1);
+    if (second >= 56320 && second <= 57343) return (first - 55296) * 1024 + second - 56320 + 65536;
+  }
+  return first;
+}
+function needIndentIndicator(string2) {
+  return /^\n* /.test(string2);
+}
+var STYLE_PLAIN = 1;
+var STYLE_SINGLE = 2;
+var STYLE_LITERAL = 3;
+var STYLE_FOLDED = 4;
+var STYLE_DOUBLE = 5;
+function chooseScalarStyle(state, string2, layout, singleLineOnly, forceQuote, inblock) {
+  const { blockIndent, lineWidth } = layout;
+  let i;
+  let char = 0;
+  let prevChar = -1;
+  let hasLineBreak = false;
+  let hasFoldableLine = false;
+  const shouldTrackWidth = lineWidth !== -1;
+  let previousLineBreak = -1;
+  let plain = !startsWithDocumentSeparator(string2) && isPlainSafeAtStart(string2, inblock) && isPlainSafeLast(codePointAt(string2, string2.length - 1));
+  if (singleLineOnly || forceQuote) for (i = 0; i < string2.length; char >= 65536 ? i += 2 : i++) {
+    char = codePointAt(string2, i);
+    if (!isPrintable(char)) return STYLE_DOUBLE;
+    plain = plain && isPlainSafe(char, prevChar, inblock);
+    prevChar = char;
+  }
+  else {
+    for (i = 0; i < string2.length; char >= 65536 ? i += 2 : i++) {
+      char = codePointAt(string2, i);
+      if (char === CHAR_LINE_FEED) {
+        hasLineBreak = true;
+        if (shouldTrackWidth) {
+          hasFoldableLine = hasFoldableLine || i - previousLineBreak - 1 > lineWidth && string2[previousLineBreak + 1] !== " ";
+          previousLineBreak = i;
+        }
+      } else if (!isPrintable(char)) return STYLE_DOUBLE;
+      plain = plain && isPlainSafe(char, prevChar, inblock);
+      prevChar = char;
+    }
+    hasFoldableLine = hasFoldableLine || shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string2[previousLineBreak + 1] !== " ";
+  }
+  if (!hasLineBreak && !hasFoldableLine) {
+    if (plain && !forceQuote) return STYLE_PLAIN;
+    return state.quoteStyle === "double" ? STYLE_DOUBLE : STYLE_SINGLE;
+  }
+  if (blockIndent > 9 && needIndentIndicator(string2)) return STYLE_DOUBLE;
+  return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
+}
+function renderScalarStyle(string2, style, layout) {
+  const { indent, blockIndent, lineWidth } = layout;
+  switch (style) {
+    case STYLE_PLAIN:
+      return encodeFlowBreaks(string2, indent);
+    case STYLE_SINGLE:
+      return `'${encodeFlowBreaks(string2, indent).replace(/'/g, "''")}'`;
+    case STYLE_LITERAL:
+      return "|" + blockHeader(string2, blockIndent) + dropEndingNewline(indentString(string2, indent));
+    case STYLE_FOLDED:
+      return ">" + blockHeader(string2, blockIndent) + dropEndingNewline(indentString(foldBlockScalar(string2, lineWidth), indent));
+    case STYLE_DOUBLE:
+      return `"${escapeString(string2)}"`;
+  }
+}
+function resolveScalarStyle(state, node, layout, iskey, inblock) {
+  const singleLineOnly = iskey || !inblock;
+  if (node.style.singleQuoted) return STYLE_SINGLE;
+  if (node.style.doubleQuoted) return STYLE_DOUBLE;
+  if (!singleLineOnly) {
+    if (node.style.literal) return STYLE_LITERAL;
+    if (node.style.folded) return STYLE_FOLDED;
+  }
+  const string2 = node.value;
+  if (string2.length === 0) {
+    if (node.style.tagged || resolveImplicitTag(state, string2) === node.tag) return STYLE_PLAIN;
+    return state.quoteStyle === "double" ? STYLE_DOUBLE : STYLE_SINGLE;
+  }
+  const style = chooseScalarStyle(state, string2, layout, singleLineOnly, state.forceQuotes && !iskey, inblock);
+  if (style === STYLE_PLAIN && !node.style.tagged && resolveImplicitTag(state, string2) !== node.tag) return state.quoteStyle === "double" ? STYLE_DOUBLE : STYLE_SINGLE;
+  return style;
+}
+function blockHeader(string2, indentPerLevel) {
+  const indentIndicator = needIndentIndicator(string2) ? String(indentPerLevel) : "";
+  const clip = string2[string2.length - 1] === "\n";
+  return `${indentIndicator}${clip && (string2[string2.length - 2] === "\n" || string2 === "\n") ? "+" : clip ? "" : "-"}
+`;
+}
+function encodeFlowBreaks(string2, indent) {
+  let nextLF = string2.indexOf("\n");
+  if (nextLF === -1) return string2;
+  const pad = " ".repeat(indent);
+  let result = string2.slice(0, nextLF);
+  const lineRe = /(\n+)([^\n]*)/g;
+  lineRe.lastIndex = nextLF;
+  let match2;
+  while (match2 = lineRe.exec(string2)) {
+    const breaks = match2[1].length;
+    const line = match2[2];
+    result += "\n".repeat(breaks + 1) + pad + line;
+  }
+  return result;
+}
+function dropEndingNewline(string2) {
+  return string2[string2.length - 1] === "\n" ? string2.slice(0, -1) : string2;
+}
+function foldBlockScalar(string2, width) {
+  const lineRe = /(\n+)([^\n]*)/g;
+  let nextLF = string2.indexOf("\n");
+  if (nextLF === -1) nextLF = string2.length;
+  lineRe.lastIndex = nextLF;
+  let result = foldLine(string2.slice(0, nextLF), width);
+  let prevMoreIndented = string2[0] === "\n" || string2[0] === " ";
+  let moreIndented;
+  let match2;
+  while (match2 = lineRe.exec(string2)) {
+    const prefix = match2[1];
+    const line = match2[2];
+    moreIndented = line[0] === " ";
+    result += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width);
+    prevMoreIndented = moreIndented;
+  }
+  return result;
+}
+function foldLine(line, width) {
+  if (line === "" || line[0] === " ") return line;
+  const breakRe = / [^ ]/g;
+  let match2;
+  let start = 0;
+  let end;
+  let curr = 0;
+  let next = 0;
+  let result = "";
+  while (match2 = breakRe.exec(line)) {
+    next = match2.index;
+    if (next - start > width) {
+      end = curr > start ? curr : next;
+      result += `
+${line.slice(start, end)}`;
+      start = end + 1;
+    }
+    curr = next;
+  }
+  result += "\n";
+  if (line.length - start > width && curr > start) result += `${line.slice(start, curr)}
+${line.slice(curr + 1)}`;
+  else result += line.slice(start);
+  return result.slice(1);
+}
+function escapeString(string2) {
+  let result = "";
+  let char = 0;
+  for (let i = 0; i < string2.length; char >= 65536 ? i += 2 : i++) {
+    char = codePointAt(string2, i);
+    const escapeSeq = ESCAPE_SEQUENCES[char];
+    if (escapeSeq) {
+      result += escapeSeq;
+      continue;
+    }
+    if (isPrintable(char)) {
+      result += string2[i];
+      if (char >= 65536) result += string2[i + 1];
+      continue;
+    }
+    result += encodeNonPrintable(char);
+  }
+  return result;
+}
+function writeFlowSequence(state, level, node) {
+  let result = "";
+  for (let index2 = 0, length = node.items.length; index2 < length; index2 += 1) {
+    const item = writeNode(state, level, node.items[index2], {});
+    if (result !== "") result += `,${!state.flowSkipCommaSpace ? " " : ""}`;
+    result += item;
+  }
+  const pad = state.flowBracketPadding && result !== "" ? " " : "";
+  return `[${pad}${result}${pad}]`;
+}
+function writeBlockSequence(state, level, node, compact) {
+  let result = "";
+  for (let index2 = 0, length = node.items.length; index2 < length; index2 += 1) {
+    const item = writeNode(state, level + 1, node.items[index2], {
+      block: true,
+      compact: state.seqInlineFirst,
+      isblockseq: true
+    });
+    if (!compact || result !== "") result += generateNextLine(state, level);
+    if (item === "" || CHAR_LINE_FEED === item.charCodeAt(0)) result += "-";
+    else result += "- ";
+    result += item;
+  }
+  return result;
+}
+function writeFlowMapping(state, level, node) {
+  let result = "";
+  const items = sortMappingItems(state, node.items);
+  for (const { key, value } of items) {
+    let pairBuffer = "";
+    if (result !== "") pairBuffer += `,${!state.flowSkipCommaSpace ? " " : ""}`;
+    const keyText = writeNode(state, level, key, { iskey: true });
+    const explicitPair = keyText.length > 1024;
+    if (explicitPair) pairBuffer += "? ";
+    else if (state.quoteFlowKeys) pairBuffer += '"';
+    const valueText = writeNode(state, level, value, {});
+    const sep7 = state.flowSkipColonSpace || valueText === "" ? "" : " ";
+    pairBuffer += `${keyText}${state.quoteFlowKeys && !explicitPair ? '"' : ""}:${sep7}${valueText}`;
+    result += pairBuffer;
+  }
+  const pad = state.flowBracketPadding && result !== "" ? " " : "";
+  return `{${pad}${result}${pad}}`;
+}
+function sortKeyValue(key) {
+  return key.kind === "scalar" ? key.value : key;
+}
+function sortMappingItems(state, items) {
+  if (!state.sortKeys) return items;
+  const copy = items.slice();
+  if (state.sortKeys === true) copy.sort((a, b) => {
+    const x = sortKeyValue(a.key);
+    const y = sortKeyValue(b.key);
+    if (x < y) return -1;
+    if (x > y) return 1;
+    return 0;
+  });
+  else {
+    const fn = state.sortKeys;
+    copy.sort((a, b) => fn(sortKeyValue(a.key), sortKeyValue(b.key)));
+  }
+  return copy;
+}
+function writeBlockMapping(state, level, node, compact) {
+  let result = "";
+  const items = sortMappingItems(state, node.items);
+  for (let index2 = 0, length = items.length; index2 < length; index2 += 1) {
+    let pairBuffer = "";
+    if (!compact || result !== "") pairBuffer += generateNextLine(state, level);
+    const { key, value } = items[index2];
+    const keyIsBlock = (key.kind === "mapping" || key.kind === "sequence") && !key.style.flow && key.items.length !== 0 || key.kind === "scalar" && (key.style.literal || key.style.folded);
+    const keyText = keyIsBlock ? writeNode(state, level + 1, key, {
+      block: true,
+      compact: true,
+      isblockseq: !cannotBeCompact(state, key, level + 1)
+    }) : writeNode(state, level + 1, key, {
+      block: true,
+      compact: true,
+      iskey: true
+    });
+    const keyHasLineBreak = key.kind === "scalar" && key.value.indexOf("\n") !== -1;
+    const explicitPair = keyIsBlock || keyHasLineBreak || keyText.length > 1024;
+    if (explicitPair) if (keyText && CHAR_LINE_FEED === keyText.charCodeAt(0)) pairBuffer += "?";
+    else pairBuffer += "? ";
+    pairBuffer += keyText;
+    if (explicitPair) pairBuffer += generateNextLine(state, level);
+    const valueText = writeNode(state, level + 1, value, {
+      block: true,
+      compact: explicitPair,
+      isblockseq: explicitPair && !cannotBeCompact(state, value, level + 1)
+    });
+    const keyIsBareProps = key.kind === "scalar" && key.value === "" && keyText !== "" && keyText.charCodeAt(keyText.length - 1) !== CHAR_SINGLE_QUOTE && keyText.charCodeAt(keyText.length - 1) !== CHAR_DOUBLE_QUOTE;
+    const keyColonSep = !explicitPair && (key.kind === "alias" || keyIsBareProps) ? " " : "";
+    if (valueText === "" || CHAR_LINE_FEED === valueText.charCodeAt(0)) pairBuffer += `${keyColonSep}:`;
+    else pairBuffer += `${keyColonSep}: `;
+    pairBuffer += valueText;
+    result += pairBuffer;
+  }
+  return result;
+}
+function cannotBeCompact(state, node, level) {
+  return node.style.tagged || node.anchor !== void 0 || state.indent < 2 && level > 0;
+}
+function writeNode(state, level, node, ctx) {
+  if (node.kind === "alias") return `*${node.anchor}`;
+  const { block = false, iskey = false, isblockseq = false } = ctx;
+  let compact = ctx.compact ?? false;
+  const hasAnchor = node.anchor !== void 0;
+  if (cannotBeCompact(state, node, level)) compact = false;
+  let body;
+  let shouldPrintTag = node.style.tagged;
+  const useBlockCollection = block && (node.kind === "mapping" || node.kind === "sequence") && !node.style.flow && node.items.length !== 0;
+  if (node.kind === "mapping") if (useBlockCollection) body = writeBlockMapping(state, level, node, compact);
+  else body = writeFlowMapping(state, level, node);
+  else if (node.kind === "sequence") if (useBlockCollection) if (state.seqNoIndent && !isblockseq && level > 0) body = writeBlockSequence(state, level - 1, node, compact);
+  else body = writeBlockSequence(state, level, node, compact);
+  else body = writeFlowSequence(state, level, node);
+  else {
+    const layout = scalarLayout(state, level);
+    const style = resolveScalarStyle(state, node, layout, iskey, block);
+    body = renderScalarStyle(node.value, style, layout);
+    shouldPrintTag = node.style.tagged || style !== STYLE_PLAIN && node.tag !== state.defaultScalarTagName;
+  }
+  if (useBlockCollection && compact && level > 0 && state.indent > 2) body = `${" ".repeat(state.indent - 2)}${body}`;
+  if (shouldPrintTag || hasAnchor) {
+    const props = [];
+    const tag = shouldPrintTag ? nodeTagShort(node) : null;
+    const anchor = hasAnchor ? `&${node.anchor}` : null;
+    if (state.tagBeforeAnchor) {
+      if (tag !== null) props.push(tag);
+      if (anchor !== null) props.push(anchor);
+    } else {
+      if (anchor !== null) props.push(anchor);
+      if (tag !== null) props.push(tag);
+    }
+    const sep7 = body === "" || body.charCodeAt(0) === CHAR_LINE_FEED ? "" : " ";
+    body = `${props.join(" ")}${sep7}${body}`;
+  }
+  return body;
+}
+function rootStartsOwnLine(node) {
+  return (node.kind === "sequence" || node.kind === "mapping") && !node.style.flow && node.items.length !== 0 && !node.style.tagged && node.anchor === void 0;
+}
+function isOpenEnded(node) {
+  let leaf = node;
+  while ((leaf.kind === "sequence" || leaf.kind === "mapping") && !leaf.style.flow && leaf.items.length !== 0) leaf = leaf.kind === "sequence" ? leaf.items[leaf.items.length - 1] : leaf.items[leaf.items.length - 1].value;
+  if (leaf.kind !== "scalar" || !(leaf.style.literal || leaf.style.folded)) return false;
+  const { value } = leaf;
+  return value.endsWith("\n\n") || value === "\n";
+}
+function writeDocumentDirectives(doc) {
+  let result = "";
+  for (const directive of doc.directives) {
+    if (directive.kind === "yaml") {
+      result += `%YAML ${directive.version}
+`;
+      continue;
+    }
+    const { handle, prefix } = directive;
+    result += `%TAG ${handle} ${prefix}
+`;
+  }
+  return result;
+}
+function present(documents, options) {
+  const state = createPresenterState(options);
+  let result = "";
+  let previousEnded = false;
+  for (let index2 = 0; index2 < documents.length; index2 += 1) {
+    const doc = documents[index2];
+    const directives = writeDocumentDirectives(doc);
+    const hasDirectives = directives !== "";
+    const marker = doc.explicitStart || hasDirectives || index2 > 0 && !previousEnded;
+    result += directives;
+    if (doc.contents === null) {
+      if (marker) result += "---\n";
+    } else if (marker) {
+      const body = writeNode(state, 0, doc.contents, {
+        block: true,
+        compact: true
+      });
+      const sep7 = body === "" ? "" : hasDirectives || rootStartsOwnLine(doc.contents) ? "\n" : " ";
+      result += `---${sep7}${body}
+`;
+    } else result += writeNode(state, 0, doc.contents, {
+      block: true,
+      compact: true
+    }) + "\n";
+    previousEnded = doc.explicitEnd || doc.contents !== null && isOpenEnded(doc.contents);
+    if (previousEnded) result += "...\n";
+  }
+  return result;
+}
+var DEFAULT_DUMP_SCHEMA = YAML11_SCHEMA.withTags({
+  ...intYaml11Tag,
+  resolve: (source, isExplicit, tagName) => {
+    const result = intYaml11Tag.resolve(source, isExplicit, tagName);
+    return result === NOT_RESOLVED ? intCoreTag.resolve(source, isExplicit, tagName) : result;
+  }
+}, {
+  ...floatYaml11Tag,
+  resolve: (source, isExplicit, tagName) => {
+    const result = floatYaml11Tag.resolve(source, isExplicit, tagName);
+    return result === NOT_RESOLVED ? floatCoreTag.resolve(source, isExplicit, tagName) : result;
+  }
+});
+var DEFAULT_DUMP_OPTIONS = {
+  ...DEFAULT_PRESENTER_OPTIONS,
+  schema: DEFAULT_DUMP_SCHEMA,
+  skipInvalid: false,
+  noRefs: false,
+  flowLevel: -1,
+  transform: () => {
+  }
+};
+function dump(input, options = {}) {
+  const opts = {
+    ...DEFAULT_DUMP_OPTIONS,
+    ...options
+  };
+  const documents = jsToAst(input, opts.schema, {
+    noRefs: opts.noRefs,
+    skipInvalid: opts.skipInvalid
+  });
+  if (opts.flowLevel >= 0) visit(documents, (node, ctx) => {
+    if (ctx.depth < opts.flowLevel) return;
+    node.style.flow = true;
+    return VISIT_SKIP;
+  });
+  opts.transform(documents);
+  return present(documents, {
+    ...pick(opts, Object.keys(DEFAULT_PRESENTER_OPTIONS)),
+    schema: opts.schema
+  });
+}
 
 // src/util.ts
 var semver = __toESM(require_semver2());
 
 // src/api-compatibility.json
 var maximumVersion = "3.22";
-var minimumVersion = "3.16";
+var minimumVersion = "3.17";
 
 // src/json/index.ts
 function parseString(data) {
@@ -147516,10 +144517,6 @@ var number = {
   validate: isNumber,
   required: true
 };
-var object = {
-  validate: isObject,
-  required: true
-};
 function optionalOrNull(validator) {
   return {
     validate: (val) => {
@@ -147849,20 +144846,6 @@ function initializeEnvironment(version) {
   core2.exportVariable("CODEQL_ACTION_FEATURE_WILL_UPLOAD" /* FEATURE_WILL_UPLOAD */, "true");
   core2.exportVariable("CODEQL_ACTION_VERSION" /* VERSION */, version);
 }
-function getRequiredEnvParam(paramName) {
-  const value = process.env[paramName];
-  if (value === void 0 || value.length === 0) {
-    throw new Error(`${paramName} environment variable must be set`);
-  }
-  return value;
-}
-function getOptionalEnvVar(paramName) {
-  const value = process.env[paramName];
-  if (value?.trim().length === 0) {
-    return void 0;
-  }
-  return value;
-}
 var HTTPError = class extends Error {
   status;
   constructor(message, status) {
@@ -147916,8 +144899,8 @@ async function bundleDb(config, language, codeql, dbName, { includeDiagnostics }
 }
 async function delay(milliseconds, opts) {
   const { allowProcessExit } = opts || {};
-  return new Promise((resolve13) => {
-    const timer = setTimeout(resolve13, milliseconds);
+  return new Promise((resolve14) => {
+    const timer = setTimeout(resolve14, milliseconds);
     if (allowProcessExit) {
       timer.unref();
     }
@@ -148066,13 +145049,13 @@ function checkActionVersion(version, githubVersion) {
     }
   }
 }
-function satisfiesGHESVersion(ghesVersion, range, defaultIfInvalid) {
+function satisfiesGHESVersion(ghesVersion, range2, defaultIfInvalid) {
   const semverVersion = semver.coerce(ghesVersion);
   if (semverVersion === null) {
     return defaultIfInvalid;
   }
   semverVersion.prerelease = [];
-  return semver.satisfies(semverVersion, range);
+  return semver.satisfies(semverVersion, range2);
 }
 var BuildMode = /* @__PURE__ */ ((BuildMode3) => {
   BuildMode3["None"] = "none";
@@ -148106,7 +145089,7 @@ async function isBinaryAccessible(binary, logger2) {
 }
 async function asyncFilter(array, predicate) {
   const results = await Promise.all(array.map(predicate));
-  return array.filter((_2, index) => results[index]);
+  return array.filter((_2, index2) => results[index2]);
 }
 async function asyncSome(array, predicate) {
   const results = await Promise.all(array.map(predicate));
@@ -148115,8 +145098,8 @@ async function asyncSome(array, predicate) {
 function isDefined2(value) {
   return value !== void 0 && value !== null;
 }
-function unsafeEntriesInvariant(object2) {
-  return Object.entries(object2).filter(
+function unsafeEntriesInvariant(object) {
+  return Object.entries(object).filter(
     ([_2, val]) => val !== void 0
   );
 }
@@ -148173,31 +145156,30 @@ var getOptionalInput = function(name) {
   const value = core3.getInput(name);
   return value.length > 0 ? value : void 0;
 };
-function getTemporaryDirectory() {
-  const value = process.env["CODEQL_ACTION_TEMP"];
-  return value !== void 0 && value !== "" ? value : getRequiredEnvParam("RUNNER_TEMP");
+function getTemporaryDirectory(env = getEnv()) {
+  return env.getOptional("CODEQL_ACTION_TEMP" /* TEMP */) ?? env.getRequired("RUNNER_TEMP" /* RUNNER_TEMP */);
 }
 var PR_DIFF_RANGE_JSON_FILENAME = "pr-diff-range.json";
-function getDiffRangesJsonFilePath() {
-  return path2.join(getTemporaryDirectory(), PR_DIFF_RANGE_JSON_FILENAME);
+function getDiffRangesJsonFilePath(env = getEnv()) {
+  return path2.join(getTemporaryDirectory(env), PR_DIFF_RANGE_JSON_FILENAME);
 }
 function getActionVersion() {
-  return "4.36.3";
+  return "4.37.1";
 }
-function getWorkflowEventName() {
-  return getRequiredEnvParam("GITHUB_EVENT_NAME");
+function getWorkflowEventName(env = getEnv()) {
+  return env.getRequired("GITHUB_EVENT_NAME" /* GITHUB_EVENT_NAME */);
 }
-function isRunningLocalAction() {
-  const relativeScriptPath = getRelativeScriptPath();
+function isRunningLocalAction(env = getEnv()) {
+  const relativeScriptPath = getRelativeScriptPath(env);
   return relativeScriptPath.startsWith("..") || path2.isAbsolute(relativeScriptPath);
 }
-function getRelativeScriptPath() {
-  const runnerTemp = getRequiredEnvParam("RUNNER_TEMP");
+function getRelativeScriptPath(env) {
+  const runnerTemp = env.getRequired("RUNNER_TEMP" /* RUNNER_TEMP */);
   const actionsDirectory = path2.join(path2.dirname(runnerTemp), "_actions");
   return path2.relative(actionsDirectory, __filename);
 }
-function getWorkflowEvent() {
-  const eventJsonFile = getRequiredEnvParam("GITHUB_EVENT_PATH");
+function getWorkflowEvent(env = getEnv()) {
+  const eventJsonFile = env.getRequired("GITHUB_EVENT_PATH" /* GITHUB_EVENT_PATH */);
   try {
     return JSON.parse(fs2.readFileSync(eventJsonFile, "utf-8"));
   } catch (e) {
@@ -148253,32 +145235,34 @@ function getUploadValue(input) {
       return "always";
   }
 }
-function getWorkflowRunID() {
-  const workflowRunIdString = getRequiredEnvParam("GITHUB_RUN_ID");
+function getWorkflowRunID(env = getEnv()) {
+  const workflowRunIdString = env.getRequired("GITHUB_RUN_ID" /* GITHUB_RUN_ID */);
   const workflowRunID = parseInt(workflowRunIdString, 10);
   if (Number.isNaN(workflowRunID)) {
     throw new Error(
-      `GITHUB_RUN_ID must define a non NaN workflow run ID. Current value is ${workflowRunIdString}`
+      `${"GITHUB_RUN_ID" /* GITHUB_RUN_ID */} must define a non NaN workflow run ID. Current value is ${workflowRunIdString}`
     );
   }
   if (workflowRunID < 0) {
     throw new Error(
-      `GITHUB_RUN_ID must be a non-negative integer. Current value is ${workflowRunIdString}`
+      `${"GITHUB_RUN_ID" /* GITHUB_RUN_ID */} must be a non-negative integer. Current value is ${workflowRunIdString}`
     );
   }
   return workflowRunID;
 }
-function getWorkflowRunAttempt() {
-  const workflowRunAttemptString = getRequiredEnvParam("GITHUB_RUN_ATTEMPT");
+function getWorkflowRunAttempt(env = getEnv()) {
+  const workflowRunAttemptString = env.getRequired(
+    "GITHUB_RUN_ATTEMPT" /* GITHUB_RUN_ATTEMPT */
+  );
   const workflowRunAttempt = parseInt(workflowRunAttemptString, 10);
   if (Number.isNaN(workflowRunAttempt)) {
     throw new Error(
-      `GITHUB_RUN_ATTEMPT must define a non NaN workflow run attempt. Current value is ${workflowRunAttemptString}`
+      `${"GITHUB_RUN_ATTEMPT" /* GITHUB_RUN_ATTEMPT */} must define a non NaN workflow run attempt. Current value is ${workflowRunAttemptString}`
     );
   }
   if (workflowRunAttempt <= 0) {
     throw new Error(
-      `GITHUB_RUN_ATTEMPT must be a positive integer. Current value is ${workflowRunAttemptString}`
+      `${"GITHUB_RUN_ATTEMPT" /* GITHUB_RUN_ATTEMPT */} must be a positive integer. Current value is ${workflowRunAttemptString}`
     );
   }
   return workflowRunAttempt;
@@ -148320,14 +145304,14 @@ var getFileType = async (filePath) => {
     throw e;
   }
 };
-function isSelfHostedRunner() {
-  return process.env.RUNNER_ENVIRONMENT === "self-hosted";
+function isSelfHostedRunner(env = getEnv()) {
+  return env.getOptional("RUNNER_ENVIRONMENT" /* RUNNER_ENVIRONMENT */) === "self-hosted";
 }
-function isDynamicWorkflow() {
-  return getWorkflowEventName() === "dynamic";
+function isDynamicWorkflow(env = getEnv()) {
+  return getWorkflowEventName(env) === "dynamic";
 }
-function isDefaultSetup() {
-  return isDynamicWorkflow();
+function isDefaultSetup(env = getEnv()) {
+  return isDynamicWorkflow(env);
 }
 function prettyPrintInvocation(cmd, args) {
   return [cmd, ...args].map((x) => x.includes(" ") ? `'${x}'` : x).join(" ");
@@ -148391,8 +145375,9 @@ async function runTool(cmd, args = [], opts = {}) {
   return stdout;
 }
 var persistedInputsKey = "persisted_inputs";
-var persistInputs = function() {
-  const inputEnvironmentVariables = Object.entries(process.env).filter(
+var persistInputs = function(env = getEnv()) {
+  const entries = env.entries();
+  const inputEnvironmentVariables = entries.filter(
     ([name]) => name.startsWith("INPUT_")
   );
   core3.saveState(persistedInputsKey, JSON.stringify(inputEnvironmentVariables));
@@ -148405,7 +145390,7 @@ var restoreInputs = function() {
     }
   }
 };
-function getPullRequestBranches() {
+function getPullRequestBranches(env = getEnv()) {
   const pullRequest = github.context.payload.pull_request;
   if (pullRequest) {
     return {
@@ -148416,8 +145401,10 @@ function getPullRequestBranches() {
       head: pullRequest.head.label
     };
   }
-  const codeScanningRef = process.env.CODE_SCANNING_REF;
-  const codeScanningBaseBranch = process.env.CODE_SCANNING_BASE_BRANCH;
+  const codeScanningRef = env.getOptional("CODE_SCANNING_REF" /* CODE_SCANNING_REF */);
+  const codeScanningBaseBranch = env.getOptional(
+    "CODE_SCANNING_BASE_BRANCH" /* CODE_SCANNING_BASE_BRANCH */
+  );
   if (codeScanningRef && codeScanningBaseBranch) {
     return {
       base: codeScanningBaseBranch,
@@ -148428,8 +145415,8 @@ function getPullRequestBranches() {
   }
   return void 0;
 }
-function isAnalyzingPullRequest() {
-  return getPullRequestBranches() !== void 0;
+function isAnalyzingPullRequest(env = getEnv()) {
+  return getPullRequestBranches(env) !== void 0;
 }
 var qualityCategoryMapping = {
   "c#": "csharp",
@@ -148441,8 +145428,8 @@ var qualityCategoryMapping = {
   typescript: "javascript-typescript",
   kotlin: "java-kotlin"
 };
-function fixCodeQualityCategory(logger2, category) {
-  if (category !== void 0 && isDefaultSetup() && category.startsWith("/language:")) {
+function fixCodeQualityCategory(logger2, category, env = getEnv()) {
+  if (category !== void 0 && isDefaultSetup(env) && category.startsWith("/language:")) {
     const language = category.substring("/language:".length);
     const mappedLanguage = qualityCategoryMapping[language];
     if (mappedLanguage) {
@@ -148456,13 +145443,53 @@ function fixCodeQualityCategory(logger2, category) {
   return category;
 }
 
-// src/feature-flags.ts
-var fs5 = __toESM(require("fs"));
-var path5 = __toESM(require("path"));
-var semver4 = __toESM(require_semver2());
+// src/logging.ts
+var core4 = __toESM(require_core());
+function getActionsLogger() {
+  return {
+    debug: core4.debug,
+    info: core4.info,
+    warning: core4.warning,
+    error: core4.error,
+    isDebug: core4.isDebug,
+    startGroup: core4.startGroup,
+    endGroup: core4.endGroup
+  };
+}
+function withGroup(groupName, f) {
+  core4.startGroup(groupName);
+  try {
+    return f();
+  } finally {
+    core4.endGroup();
+  }
+}
+async function withGroupAsync(groupName, f) {
+  core4.startGroup(groupName);
+  try {
+    return await f();
+  } finally {
+    core4.endGroup();
+  }
+}
+function formatDuration(durationMs) {
+  if (durationMs < 1e3) {
+    return `${durationMs}ms`;
+  }
+  if (durationMs < 60 * 1e3) {
+    return `${(durationMs / 1e3).toFixed(1)}s`;
+  }
+  const minutes = Math.floor(durationMs / (60 * 1e3));
+  const seconds = Math.floor(durationMs % (60 * 1e3) / 1e3);
+  return `${minutes}m${seconds}s`;
+}
+
+// src/status-report.ts
+var os3 = __toESM(require("os"));
+var core7 = __toESM(require_core());
 
 // src/api-client.ts
-var core4 = __toESM(require_core());
+var core5 = __toESM(require_core());
 var githubUtils = __toESM(require_utils4());
 
 // node_modules/@octokit/plugin-retry/dist-bundle/index.js
@@ -148575,10 +145602,10 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {})
       baseUrl: apiDetails.apiURL,
       userAgent: `CodeQL-Action/${getActionVersion()}`,
       log: {
-        debug: core4.debug,
-        info: core4.info,
-        warn: core4.warning,
-        error: core4.error
+        debug: core5.debug,
+        info: core5.info,
+        warn: core5.warning,
+        error: core5.error
       },
       retry: {
         doNotRetry: DO_NOT_RETRY_STATUSES
@@ -148586,15 +145613,15 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {})
     })
   );
 }
-function getApiDetails() {
+function getApiDetails(env = getEnv()) {
   return {
     auth: getRequiredInput("token"),
-    url: getRequiredEnvParam("GITHUB_SERVER_URL"),
-    apiURL: getRequiredEnvParam("GITHUB_API_URL")
+    url: env.getRequired("GITHUB_SERVER_URL" /* GITHUB_SERVER_URL */),
+    apiURL: env.getRequired("GITHUB_API_URL" /* GITHUB_API_URL */)
   };
 }
-function getApiClient() {
-  return createApiClientWithDetails(getApiDetails());
+function getApiClient(env = getEnv()) {
+  return createApiClientWithDetails(getApiDetails(env));
 }
 function getApiClientWithExternalAuth(apiDetails) {
   return createApiClientWithDetails(apiDetails, { allowExternal: true });
@@ -148659,7 +145686,7 @@ async function getAnalysisKey() {
   const workflowPath = await getWorkflowRelativePath();
   const jobName = getRequiredEnvParam("GITHUB_JOB");
   analysisKey = `${workflowPath}:${jobName}`;
-  core4.exportVariable("CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */, analysisKey);
+  core5.exportVariable("CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */, analysisKey);
   return analysisKey;
 }
 async function getAutomationID() {
@@ -148711,7 +145738,8 @@ function isEnablementError(msg) {
   return [
     /Code Security must be enabled/i,
     /Advanced Security must be enabled/i,
-    /Code Scanning is not enabled/i
+    /Code Scanning is not enabled/i,
+    /Code Quality is not enabled/i
   ].some((pattern) => pattern.test(msg));
 }
 function getFeatureEnablementError(message) {
@@ -148745,19 +145773,106 @@ function wrapApiConfigurationError(e) {
   return e;
 }
 
-// src/defaults.json
-var bundleVersion = "codeql-bundle-v2.25.6";
-var cliVersion = "2.25.6";
+// src/cli/output-cache.ts
+var fs3 = __toESM(require("fs"));
+var path3 = __toESM(require("path"));
+var COMMAND_CACHE_FILENAME = "codeql-action-command-cache.json";
+function isVersionInfo(x) {
+  return isObject(x) && validateSchema(
+    {
+      version: string,
+      features: {
+        validate: (obj) => isObject(obj) && Object.values(obj).every((val) => typeof val === "boolean"),
+        required: false
+      },
+      overlayVersion: optional(number)
+    },
+    x
+  );
+}
+function isResolveLanguagesOutput(x) {
+  return isObject(x) && isObject(x.extractors) && Object.values(x.extractors).every(
+    (extractorList) => isArray(extractorList) && extractorList.every(
+      (extractor) => isObject(extractor) && isString(extractor.extractor_root)
+    )
+  ) && (x.aliases === void 0 || isObject(x.aliases) && Object.values(x.aliases).every((alias) => isString(alias)));
+}
+var commandCacheValidators = {
+  ["version" /* Version */]: isVersionInfo,
+  ["resolve languages" /* ResolveLanguages */]: isResolveLanguagesOutput
+};
+var inMemoryCache = /* @__PURE__ */ new Map();
+var logger = getActionsLogger();
+function getCommandCacheFilePath() {
+  return path3.join(getTemporaryDirectory(), COMMAND_CACHE_FILENAME);
+}
+function readCommandCacheFile() {
+  if (!fs3.existsSync(getCommandCacheFilePath())) {
+    return {};
+  }
+  try {
+    const contents = fs3.readFileSync(getCommandCacheFilePath(), "utf8");
+    const parsed = parseString(contents);
+    if (isObject(parsed)) {
+      return parsed;
+    }
+  } catch (e) {
+    logger.warning(`Failed to read or parse command cache file: ${e}`);
+  }
+  return {};
+}
+function writeCommandCacheFile() {
+  try {
+    fs3.writeFileSync(
+      getCommandCacheFilePath(),
+      JSON.stringify(Object.fromEntries(inMemoryCache))
+    );
+  } catch (e) {
+    logger.warning(`Failed to write command cache file: ${e}`);
+  }
+}
+function cacheCommandOutput(key, cmd, output) {
+  const entry = { cmd, output };
+  inMemoryCache.set(key, entry);
+}
+function getCachedCommandOutput(key, cmd) {
+  const memoized = inMemoryCache.get(key);
+  if (memoized !== void 0) {
+    return memoized.output;
+  }
+  const entry = readCommandCacheFile()[key];
+  if (!isObject(entry) || !isString(entry.cmd) || cmd !== void 0 && entry.cmd !== cmd || !commandCacheValidators[key](entry.output)) {
+    logger.warning("Received invalid data from the command-cache file.");
+    return void 0;
+  }
+  const cachedEntry = entry;
+  const output = cachedEntry.output;
+  cacheCommandOutput(key, cachedEntry.cmd, output);
+  return output;
+}
 
-// src/overlay/index.ts
-var fs4 = __toESM(require("fs"));
-var path4 = __toESM(require("path"));
+// src/config/pack-registries.ts
+function parseRegistries(registriesInput) {
+  try {
+    return registriesInput ? load(registriesInput) : void 0;
+  } catch {
+    throw new ConfigurationError(
+      "Invalid registries input. Must be a YAML string."
+    );
+  }
+}
+function parseRegistriesWithoutCredentials(registriesInput) {
+  return parseRegistries(registriesInput)?.map((r) => {
+    const { url: url2, packages, kind } = r;
+    return { url: url2, packages, kind };
+  });
+}
 
 // src/git-utils.ts
-var fs3 = __toESM(require("fs"));
+var fs4 = __toESM(require("fs"));
 var os2 = __toESM(require("os"));
-var path3 = __toESM(require("path"));
-var core5 = __toESM(require_core());
+var path4 = __toESM(require("path"));
+var core6 = __toESM(require_core());
 var toolrunner2 = __toESM(require_toolrunner());
 var io3 = __toESM(require_io());
 var semver2 = __toESM(require_semver2());
@@ -148779,16 +145894,16 @@ async function getGitVersionOrThrow() {
     ["--version"],
     "Failed to get git version."
   );
-  const match = stdout.trim().match(/^git version ((\d+\.\d+\.\d+).*)$/);
-  if (match?.[1] && match?.[2]) {
-    return new GitVersionInfo(match[2], match[1]);
+  const match2 = stdout.trim().match(/^git version ((\d+\.\d+\.\d+).*)$/);
+  if (match2?.[1] && match2?.[2]) {
+    return new GitVersionInfo(match2[2], match2[1]);
   }
   throw new Error(`Could not parse Git version from output: ${stdout.trim()}`);
 }
 var runGitCommand = async function(workingDirectory, args, customErrorMessage, options) {
   let stdout = "";
   let stderr = "";
-  core5.debug(`Running git command: git ${args.join(" ")}`);
+  core6.debug(`Running git command: git ${args.join(" ")}`);
   try {
     await new toolrunner2.ToolRunner(await io3.which("git", true), args, {
       silent: true,
@@ -148809,7 +145924,7 @@ var runGitCommand = async function(workingDirectory, args, customErrorMessage, o
     if (stderr.includes("not a git repository")) {
       reason = "The checkout path provided to the action does not appear to be a git repository.";
     }
-    core5.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
+    core6.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
     throw error3;
   }
 };
@@ -148905,7 +146020,7 @@ var getGitRoot = async function(sourceRoot) {
   }
 };
 function hasSubmodules(gitRoot) {
-  return fs3.existsSync(path3.join(gitRoot, ".gitmodules"));
+  return fs4.existsSync(path4.join(gitRoot, ".gitmodules"));
 }
 var getFileOidsUnderPath = async function(basePath) {
   const gitRoot = await getGitRoot(basePath);
@@ -148920,10 +146035,10 @@ var getFileOidsUnderPath = async function(basePath) {
   const regex = /^[0-9]+ ([0-9a-f]{40}|[0-9a-f]{64}) [0-9]+\t(.+)$/;
   for (const line of stdout.split("\n")) {
     if (line) {
-      const match = line.match(regex);
-      if (match) {
-        const oid = match[1];
-        const filePath = decodeGitFilePath(match[2]);
+      const match2 = line.match(regex);
+      if (match2) {
+        const oid = match2[1];
+        const filePath = decodeGitFilePath(match2[2]);
         fileOidMap[filePath] = oid;
       } else {
         throw new Error(`Unexpected "git ls-files" output: ${line}`);
@@ -148972,7 +146087,7 @@ async function getRef() {
   ) !== head;
   if (hasChangedRef) {
     const newRef = ref.replace(pull_ref_regex, "refs/pull/$1/head");
-    core5.debug(
+    core6.debug(
       `No longer on merge commit, rewriting ref from ${ref} to ${newRef}.`
     );
     return newRef;
@@ -149015,15 +146130,332 @@ async function getGeneratedFiles(workingDirectory) {
   const generatedFiles = [];
   const regex = /^([^:]+): linguist-generated: true$/;
   for (const result of stdout.split(os2.EOL)) {
-    const match = result.match(regex);
-    if (match && match[1].trim().length > 0) {
-      generatedFiles.push(match[1].trim());
+    const match2 = result.match(regex);
+    if (match2 && match2[1].trim().length > 0) {
+      generatedFiles.push(match2[1].trim());
     }
   }
   return generatedFiles;
 }
 
+// src/status-report.ts
+function getDisplayActionName(actionName) {
+  if (actionName === "finish" /* Analyze */) {
+    return "analyze";
+  }
+  return actionName;
+}
+function isFirstPartyAnalysis(actionName) {
+  if (actionName !== "upload-sarif" /* UploadSarif */) {
+    return true;
+  }
+  return process.env["CODEQL_ACTION_INIT_HAS_RUN" /* INIT_ACTION_HAS_RUN */] === "true";
+}
+function isThirdPartyAnalysis(actionName) {
+  return !isFirstPartyAnalysis(actionName);
+}
+var JobStatus = /* @__PURE__ */ ((JobStatus2) => {
+  JobStatus2["UnknownStatus"] = "JOB_STATUS_UNKNOWN";
+  JobStatus2["SuccessStatus"] = "JOB_STATUS_SUCCESS";
+  JobStatus2["FailureStatus"] = "JOB_STATUS_FAILURE";
+  JobStatus2["ConfigErrorStatus"] = "JOB_STATUS_CONFIGURATION_ERROR";
+  return JobStatus2;
+})(JobStatus || {});
+function getActionsStatus(error3, otherFailureCause) {
+  if (error3 || otherFailureCause) {
+    return error3 instanceof ConfigurationError ? "user-error" : "failure";
+  } else {
+    return "success";
+  }
+}
+function getJobStatusDisplayName(status) {
+  switch (status) {
+    case "JOB_STATUS_SUCCESS" /* SuccessStatus */:
+      return "success";
+    case "JOB_STATUS_FAILURE" /* FailureStatus */:
+      return "failure";
+    case "JOB_STATUS_CONFIGURATION_ERROR" /* ConfigErrorStatus */:
+      return "configuration error";
+    case "JOB_STATUS_UNKNOWN" /* UnknownStatus */:
+      return "unknown";
+    default:
+      assertNever(status);
+  }
+}
+function setJobStatusIfUnsuccessful(actionStatus) {
+  if (actionStatus === "user-error") {
+    core7.exportVariable(
+      "CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */,
+      process.env["CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */] ?? "JOB_STATUS_CONFIGURATION_ERROR" /* ConfigErrorStatus */
+    );
+  } else if (actionStatus === "failure" || actionStatus === "aborted") {
+    core7.exportVariable(
+      "CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */,
+      process.env["CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */] ?? "JOB_STATUS_FAILURE" /* FailureStatus */
+    );
+  }
+}
+async function createStatusReportBase(actionName, status, actionStartedAt, config, diskInfo, logger2, cause, exception) {
+  try {
+    const commitOid = getOptionalInput("sha") || process.env["GITHUB_SHA"] || "";
+    const ref = await getRef();
+    const jobRunUUID = process.env["JOB_RUN_UUID" /* JOB_RUN_UUID */] || "";
+    const workflowRunID = getWorkflowRunID();
+    const workflowRunAttempt = getWorkflowRunAttempt();
+    const workflowName = process.env["GITHUB_WORKFLOW"] || "";
+    const jobName = process.env["GITHUB_JOB"] || "";
+    const analysis_key = await getAnalysisKey();
+    let workflowStartedAt = process.env["CODEQL_WORKFLOW_STARTED_AT" /* WORKFLOW_STARTED_AT */];
+    if (workflowStartedAt === void 0) {
+      workflowStartedAt = actionStartedAt.toISOString();
+      core7.exportVariable("CODEQL_WORKFLOW_STARTED_AT" /* WORKFLOW_STARTED_AT */, workflowStartedAt);
+    }
+    const runnerOs = getRequiredEnvParam("RUNNER_OS");
+    const codeQlCliVersion = getCachedCommandOutput(
+      "version" /* Version */,
+      void 0
+    );
+    const actionRef = process.env["GITHUB_ACTION_REF"] || "";
+    const testingEnvironment = getTestingEnvironment();
+    if (testingEnvironment) {
+      core7.exportVariable("CODEQL_ACTION_TESTING_ENVIRONMENT" /* TESTING_ENVIRONMENT */, testingEnvironment);
+    }
+    const isSteadyStateDefaultSetupRun = process.env["CODE_SCANNING_IS_STEADY_STATE_DEFAULT_SETUP"] === "true";
+    const statusReport = {
+      action_name: actionName,
+      action_oid: "unknown",
+      // TODO decide if it's possible to fill this in
+      action_ref: actionRef,
+      action_started_at: actionStartedAt.toISOString(),
+      action_version: getActionVersion(),
+      analysis_kinds: config?.analysisKinds?.join(","),
+      analysis_key,
+      build_mode: config?.buildMode,
+      commit_oid: commitOid,
+      first_party_analysis: isFirstPartyAnalysis(actionName),
+      job_name: jobName,
+      job_run_uuid: jobRunUUID,
+      ref,
+      runner_os: runnerOs,
+      started_at: workflowStartedAt,
+      status,
+      steady_state_default_setup: isSteadyStateDefaultSetupRun,
+      testing_environment: testingEnvironment || "",
+      workflow_name: workflowName,
+      workflow_run_attempt: workflowRunAttempt,
+      workflow_run_id: workflowRunID
+    };
+    try {
+      statusReport.actions_event_name = getWorkflowEventName();
+    } catch (e) {
+      logger2.warning(
+        `Could not determine the workflow event name: ${getErrorMessage(e)}.`
+      );
+    }
+    if (config) {
+      statusReport.languages = config.languages?.join(",");
+    }
+    if (diskInfo) {
+      statusReport.runner_available_disk_space_bytes = diskInfo.numAvailableBytes;
+      statusReport.runner_total_disk_space_bytes = diskInfo.numTotalBytes;
+    }
+    if (cause) {
+      statusReport.cause = cause;
+    }
+    if (exception) {
+      statusReport.exception = exception;
+    }
+    if (status === "success" || status === "failure" || status === "aborted" || status === "user-error") {
+      statusReport.completed_at = (/* @__PURE__ */ new Date()).toISOString();
+    }
+    const matrix = getRequiredInput("matrix");
+    if (matrix) {
+      statusReport.matrix_vars = matrix;
+    }
+    if ("RUNNER_ARCH" in process.env) {
+      statusReport.runner_arch = process.env["RUNNER_ARCH"];
+    }
+    if (!(runnerOs === "Linux" && isSelfHostedRunner())) {
+      statusReport.runner_os_release = os3.release();
+    }
+    if (codeQlCliVersion !== void 0) {
+      statusReport.codeql_version = codeQlCliVersion.version;
+    }
+    const imageVersion = process.env["ImageVersion"];
+    if (imageVersion) {
+      statusReport.runner_image_version = imageVersion;
+    }
+    return statusReport;
+  } catch (e) {
+    logger2.warning(
+      `Failed to gather information for telemetry: ${getErrorMessage(e)}. Will skip sending status report.`
+    );
+    if (isInTestMode()) {
+      throw e;
+    }
+    return void 0;
+  }
+}
+var OUT_OF_DATE_MSG = "CodeQL Action is out-of-date. Please upgrade to the latest version of `codeql-action`.";
+var INCOMPATIBLE_MSG = "CodeQL Action version is incompatible with the API endpoint. Please update to a compatible version of `codeql-action`.";
+async function sendStatusReport(statusReport) {
+  setJobStatusIfUnsuccessful(statusReport.status);
+  const statusReportJSON = JSON.stringify(statusReport);
+  core7.debug(`Sending status report: ${statusReportJSON}`);
+  if (isInTestMode()) {
+    core7.debug("In test mode. Status reports are not uploaded.");
+    return;
+  }
+  const nwo = getRepositoryNwo();
+  const client = getApiClient();
+  try {
+    await client.request(
+      "PUT /repos/:owner/:repo/code-scanning/analysis/status",
+      {
+        owner: nwo.owner,
+        repo: nwo.repo,
+        data: statusReportJSON
+      }
+    );
+  } catch (e) {
+    const httpError = asHTTPError(e);
+    if (httpError !== void 0) {
+      switch (httpError.status) {
+        case 403:
+          if (getWorkflowEventName() === "push" && process.env["GITHUB_ACTOR"] === "dependabot[bot]") {
+            core7.warning(
+              `Workflows triggered by Dependabot on the "push" event run with read-only access. Uploading CodeQL results requires write access. To use CodeQL with Dependabot, please ensure you are using the "pull_request" event for this workflow and avoid triggering on the "push" event for Dependabot branches. See ${"https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#scanning-on-push" /* SCANNING_ON_PUSH */} for more information on how to configure these events.`
+            );
+          } else {
+            core7.warning(
+              `This run of the CodeQL Action does not have permission to access the CodeQL Action API endpoints. This could be because the Action is running on a pull request from a fork. If not, please ensure the workflow has at least the 'security-events: read' permission. Details: ${httpError.message}`
+            );
+          }
+          return;
+        case 404:
+          core7.warning(httpError.message);
+          return;
+        case 422:
+          if (getRequiredEnvParam("GITHUB_SERVER_URL") !== GITHUB_DOTCOM_URL) {
+            core7.debug(INCOMPATIBLE_MSG);
+          } else {
+            core7.debug(OUT_OF_DATE_MSG);
+          }
+          return;
+      }
+    }
+    core7.warning(
+      `An unexpected error occurred when sending a status report: ${getErrorMessage(
+        e
+      )}`
+    );
+  }
+}
+async function createInitWithConfigStatusReport(config, initStatusReport, configFile, totalCacheSize, overlayBaseDatabaseStats, dependencyCachingResults) {
+  const languages = config.languages.join(",");
+  const paths = (config.originalUserInput.paths || []).join(",");
+  const pathsIgnore = (config.originalUserInput["paths-ignore"] || []).join(
+    ","
+  );
+  const disableDefaultQueries = config.originalUserInput["disable-default-queries"] ? languages : "";
+  const queries = [];
+  let queriesInput = getOptionalInput("queries")?.trim();
+  if (queriesInput === void 0 || queriesInput.startsWith("+")) {
+    queries.push(
+      ...(config.originalUserInput.queries || []).map((q) => q.uses)
+    );
+  }
+  if (queriesInput !== void 0) {
+    queriesInput = queriesInput.startsWith("+") ? queriesInput.slice(1) : queriesInput;
+    queries.push(...queriesInput.split(","));
+  }
+  let packs = {};
+  if (Array.isArray(config.computedConfig.packs)) {
+    packs[config.languages[0]] = config.computedConfig.packs;
+  } else if (config.computedConfig.packs !== void 0) {
+    packs = config.computedConfig.packs;
+  }
+  return {
+    ...initStatusReport,
+    config_file: configFile ?? "",
+    disable_default_queries: disableDefaultQueries,
+    paths,
+    paths_ignore: pathsIgnore,
+    queries: queries.join(","),
+    packs: JSON.stringify(packs),
+    trap_cache_languages: Object.keys(config.trapCaches).join(","),
+    trap_cache_download_size_bytes: totalCacheSize,
+    trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
+    overlay_base_database_download_size_bytes: overlayBaseDatabaseStats?.databaseSizeBytes,
+    overlay_base_database_download_duration_ms: overlayBaseDatabaseStats?.databaseDownloadDurationMs,
+    dependency_caching_restore_results: dependencyCachingResults,
+    query_filters: JSON.stringify(
+      config.originalUserInput["query-filters"] ?? []
+    ),
+    registries: JSON.stringify(
+      parseRegistriesWithoutCredentials(getOptionalInput("registries")) ?? []
+    )
+  };
+}
+async function sendUnhandledErrorStatusReport(actionName, actionStartedAt, error3, logger2) {
+  try {
+    const statusReport = await createStatusReportBase(
+      actionName,
+      "failure",
+      actionStartedAt,
+      void 0,
+      void 0,
+      logger2,
+      `Unhandled CodeQL Action error: ${getErrorMessage(error3)}`,
+      error3 instanceof Error ? error3.stack : void 0
+    );
+    if (statusReport !== void 0) {
+      await sendStatusReport(statusReport);
+    }
+  } catch (e) {
+    logger2.warning(
+      `Failed to send the unhandled error status report: ${getErrorMessage(e)}.`
+    );
+    if (isInTestMode()) {
+      throw e;
+    }
+  }
+}
+
+// src/action-common.ts
+async function runInActions(action) {
+  const startedAt = /* @__PURE__ */ new Date();
+  const logger2 = getActionsLogger();
+  const env = getEnv();
+  const actionsEnv = getActionsEnv();
+  try {
+    await action.run({
+      name: action.name,
+      startedAt,
+      logger: logger2,
+      env,
+      actions: actionsEnv
+    });
+  } catch (error3) {
+    core8.setFailed(
+      `${getDisplayActionName(action.name)} action failed: ${getErrorMessage(error3)}`
+    );
+    await sendUnhandledErrorStatusReport(action.name, startedAt, error3, logger2);
+  }
+}
+
+// src/feature-flags.ts
+var fs6 = __toESM(require("fs"));
+var path6 = __toESM(require("path"));
+var semver4 = __toESM(require_semver2());
+
+// src/defaults.json
+var bundleVersion = "codeql-bundle-v2.26.0";
+var cliVersion = "2.26.0";
+
 // src/overlay/index.ts
+var fs5 = __toESM(require("fs"));
+var path5 = __toESM(require("path"));
 var CODEQL_OVERLAY_MINIMUM_VERSION = "2.23.8";
 var CODEQL_OVERLAY_MINIMUM_VERSION_CPP = "2.25.0";
 var CODEQL_OVERLAY_MINIMUM_VERSION_CSHARP = "2.24.1";
@@ -149036,12 +146468,12 @@ async function writeBaseDatabaseOidsFile(config, sourceRoot) {
   const gitFileOids = await getFileOidsUnderPath(sourceRoot);
   const gitFileOidsJson = JSON.stringify(gitFileOids);
   const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
-  await fs4.promises.writeFile(baseDatabaseOidsFilePath, gitFileOidsJson);
+  await fs5.promises.writeFile(baseDatabaseOidsFilePath, gitFileOidsJson);
 }
 async function readBaseDatabaseOidsFile(config, logger2) {
   const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
   try {
-    const contents = await fs4.promises.readFile(
+    const contents = await fs5.promises.readFile(
       baseDatabaseOidsFilePath,
       "utf-8"
     );
@@ -149063,14 +146495,14 @@ async function writeOverlayChangesFile(config, sourceRoot, logger2) {
   const diffRangeFiles = await getDiffRangeFilePaths(sourceRoot, logger2);
   const changedFiles = [.../* @__PURE__ */ new Set([...oidChangedFiles, ...diffRangeFiles])];
   const changedFilesJson = JSON.stringify({ changes: changedFiles });
-  const overlayChangesFile = path4.join(
+  const overlayChangesFile = path5.join(
     getTemporaryDirectory(),
     "overlay-changes.json"
   );
   logger2.debug(
     `Writing overlay changed files to ${overlayChangesFile}: ${changedFilesJson}`
   );
-  await fs4.promises.writeFile(overlayChangesFile, changedFilesJson);
+  await fs5.promises.writeFile(overlayChangesFile, changedFilesJson);
   return overlayChangesFile;
 }
 function computeChangedFiles(baseFileOids, overlayFileOids) {
@@ -149089,7 +146521,7 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
 }
 async function getDiffRangeFilePaths(sourceRoot, logger2) {
   const jsonFilePath = getDiffRangesJsonFilePath();
-  if (!fs4.existsSync(jsonFilePath)) {
+  if (!fs5.existsSync(jsonFilePath)) {
     logger2.debug(
       `No diff ranges JSON file found at ${jsonFilePath}; skipping.`
     );
@@ -149097,7 +146529,7 @@ async function getDiffRangeFilePaths(sourceRoot, logger2) {
   }
   let contents;
   try {
-    contents = await fs4.promises.readFile(jsonFilePath, "utf8");
+    contents = await fs5.promises.readFile(jsonFilePath, "utf8");
   } catch (e) {
     logger2.warning(
       `Failed to read diff ranges JSON file at ${jsonFilePath}: ${e}`
@@ -149129,7 +146561,7 @@ async function getDiffRangeFilePaths(sourceRoot, logger2) {
     return [...new Set(diffRanges.map((r) => r.path))];
   }
   const relativePaths = diffRanges.map(
-    (r) => path4.relative(sourceRoot, path4.join(repoRoot, r.path)).replaceAll(path4.sep, "/")
+    (r) => path5.relative(sourceRoot, path5.join(repoRoot, r.path)).replaceAll(path5.sep, "/")
   ).filter((rel) => !rel.startsWith(".."));
   return [...new Set(relativePaths)];
 }
@@ -149168,6 +146600,11 @@ var featureConfig = {
     envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
     minimumVersion: void 0
   },
+  ["config_file_repository_property" /* ConfigFileRepositoryProperty */]: {
+    defaultValue: false,
+    envVar: "CODEQL_ACTION_CONFIG_FILE_REPOSITORY_PROPERTY",
+    minimumVersion: void 0
+  },
   ["cpp_dependency_installation_enabled" /* CppDependencyInstallation */]: {
     defaultValue: false,
     envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
@@ -149232,6 +146669,11 @@ var featureConfig = {
     envVar: "CODEQL_ACTION_JAVA_NETWORK_DEBUGGING",
     minimumVersion: void 0
   },
+  ["new_remote_file_addresses" /* NewRemoteFileAddresses */]: {
+    defaultValue: false,
+    envVar: "CODEQL_ACTION_NEW_REMOTE_FILE_ADDRESSES",
+    minimumVersion: void 0
+  },
   ["overlay_analysis" /* OverlayAnalysis */]: {
     defaultValue: false,
     envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
@@ -149484,7 +146926,7 @@ var Features = class extends OfflineFeatures {
     super(logger2);
     this.gitHubFeatureFlags = new GitHubFeatureFlags(
       repositoryNwo,
-      path5.join(tempDir, FEATURE_FLAGS_FILE_NAME),
+      path6.join(tempDir, FEATURE_FLAGS_FILE_NAME),
       logger2
     );
   }
@@ -149616,12 +147058,12 @@ var GitHubFeatureFlags = class {
   }
   async readLocalFlags() {
     try {
-      if (fs5.existsSync(this.featureFlagsFile)) {
+      if (fs6.existsSync(this.featureFlagsFile)) {
         this.logger.debug(
           `Loading feature flags from ${this.featureFlagsFile}`
         );
         return JSON.parse(
-          fs5.readFileSync(this.featureFlagsFile, "utf8")
+          fs6.readFileSync(this.featureFlagsFile, "utf8")
         );
       }
     } catch (e) {
@@ -149634,7 +147076,7 @@ var GitHubFeatureFlags = class {
   async writeLocalFlags(flags) {
     try {
       this.logger.debug(`Writing feature flags to ${this.featureFlagsFile}`);
-      fs5.writeFileSync(this.featureFlagsFile, JSON.stringify(flags));
+      fs6.writeFileSync(this.featureFlagsFile, JSON.stringify(flags));
     } catch (e) {
       this.logger.warning(
         `Error writing cached feature flags file ${this.featureFlagsFile}: ${e}.`
@@ -149855,132 +147297,14 @@ var import_perf_hooks3 = require("perf_hooks");
 var io5 = __toESM(require_io());
 
 // src/autobuild.ts
-var core11 = __toESM(require_core());
+var core13 = __toESM(require_core());
 
 // src/codeql.ts
 var fs16 = __toESM(require("fs"));
 var path15 = __toESM(require("path"));
-var core10 = __toESM(require_core());
+var core12 = __toESM(require_core());
 var toolrunner3 = __toESM(require_toolrunner());
 
-// src/cli/output-cache.ts
-var fs6 = __toESM(require("fs"));
-var path6 = __toESM(require("path"));
-
-// src/logging.ts
-var core6 = __toESM(require_core());
-function getActionsLogger() {
-  return {
-    debug: core6.debug,
-    info: core6.info,
-    warning: core6.warning,
-    error: core6.error,
-    isDebug: core6.isDebug,
-    startGroup: core6.startGroup,
-    endGroup: core6.endGroup
-  };
-}
-function withGroup(groupName, f) {
-  core6.startGroup(groupName);
-  try {
-    return f();
-  } finally {
-    core6.endGroup();
-  }
-}
-async function withGroupAsync(groupName, f) {
-  core6.startGroup(groupName);
-  try {
-    return await f();
-  } finally {
-    core6.endGroup();
-  }
-}
-function formatDuration(durationMs) {
-  if (durationMs < 1e3) {
-    return `${durationMs}ms`;
-  }
-  if (durationMs < 60 * 1e3) {
-    return `${(durationMs / 1e3).toFixed(1)}s`;
-  }
-  const minutes = Math.floor(durationMs / (60 * 1e3));
-  const seconds = Math.floor(durationMs % (60 * 1e3) / 1e3);
-  return `${minutes}m${seconds}s`;
-}
-
-// src/cli/output-cache.ts
-var COMMAND_CACHE_FILENAME = "codeql-action-command-cache.json";
-function isVersionInfo(x) {
-  return isObject(x) && validateSchema(
-    {
-      version: string,
-      features: optional(object),
-      overlayVersion: optional(number)
-    },
-    x
-  );
-}
-function isResolveLanguagesOutput(x) {
-  return isObject(x) && isObject(x.extractors) && Object.values(x.extractors).every(
-    (extractorList) => isArray(extractorList) && extractorList.every(
-      (extractor) => isObject(extractor) && isString(extractor.extractor_root)
-    )
-  ) && (x.aliases === void 0 || isObject(x.aliases) && Object.values(x.aliases).every((alias) => isString(alias)));
-}
-var commandCacheValidators = {
-  ["version" /* Version */]: isVersionInfo,
-  ["resolve languages" /* ResolveLanguages */]: isResolveLanguagesOutput
-};
-var inMemoryCache = /* @__PURE__ */ new Map();
-var logger = getActionsLogger();
-function getCommandCacheFilePath() {
-  return path6.join(getTemporaryDirectory(), COMMAND_CACHE_FILENAME);
-}
-function readCommandCacheFile() {
-  if (!fs6.existsSync(getCommandCacheFilePath())) {
-    return {};
-  }
-  try {
-    const contents = fs6.readFileSync(getCommandCacheFilePath(), "utf8");
-    const parsed = parseString(contents);
-    if (isObject(parsed)) {
-      return parsed;
-    }
-  } catch (e) {
-    logger.warning(`Failed to read or parse command cache file: ${e}`);
-  }
-  return {};
-}
-function writeCommandCacheFile() {
-  try {
-    fs6.writeFileSync(
-      getCommandCacheFilePath(),
-      JSON.stringify(Object.fromEntries(inMemoryCache))
-    );
-  } catch (e) {
-    logger.warning(`Failed to write command cache file: ${e}`);
-  }
-}
-function cacheCommandOutput(key, cmd, output) {
-  const entry = { cmd, output };
-  inMemoryCache.set(key, entry);
-}
-function getCachedCommandOutput(key, cmd) {
-  const memoized = inMemoryCache.get(key);
-  if (memoized !== void 0) {
-    return memoized.output;
-  }
-  const entry = readCommandCacheFile()[key];
-  if (!isObject(entry) || !isString(entry.cmd) || cmd !== void 0 && entry.cmd !== cmd || !commandCacheValidators[key](entry.output)) {
-    logger.warning("Received invalid data from the command-cache file.");
-    return void 0;
-  }
-  const cachedEntry = entry;
-  const output = cachedEntry.output;
-  cacheCommandOutput(key, cachedEntry.cmd, output);
-  return output;
-}
-
 // src/cli-errors.ts
 var SUPPORTED_PLATFORMS = [
   ["linux", "x64"],
@@ -150017,12 +147341,12 @@ function extractFatalErrors(error3) {
   const fatalErrorRegex = /.*fatal (internal )?error occurr?ed(. Details)?:/gi;
   let fatalErrors = [];
   let lastFatalErrorIndex;
-  let match;
-  while ((match = fatalErrorRegex.exec(error3)) !== null) {
+  let match2;
+  while ((match2 = fatalErrorRegex.exec(error3)) !== null) {
     if (lastFatalErrorIndex !== void 0) {
-      fatalErrors.push(error3.slice(lastFatalErrorIndex, match.index).trim());
+      fatalErrors.push(error3.slice(lastFatalErrorIndex, match2.index).trim());
     }
-    lastFatalErrorIndex = match.index;
+    lastFatalErrorIndex = match2.index;
   }
   if (lastFatalErrorIndex !== void 0) {
     const lastError = error3.slice(lastFatalErrorIndex).trim();
@@ -150043,7 +147367,7 @@ function extractFatalErrors(error3) {
 }
 function extractAutobuildErrors(error3) {
   const pattern = /.*\[autobuild\] \[ERROR\] (.*)/gi;
-  let errorLines = [...error3.matchAll(pattern)].map((match) => match[1]);
+  let errorLines = [...error3.matchAll(pattern)].map((match2) => match2[1]);
   if (errorLines.length > 10) {
     errorLines = errorLines.slice(0, 10);
     errorLines.push("(truncated)");
@@ -150233,11 +147557,11 @@ function wrapCliConfigurationError(cliError) {
 var fs10 = __toESM(require("fs"));
 var path11 = __toESM(require("path"));
 var import_perf_hooks = require("perf_hooks");
-var core8 = __toESM(require_core());
+var core10 = __toESM(require_core());
 
 // src/caching-utils.ts
 var crypto2 = __toESM(require("crypto"));
-var core7 = __toESM(require_core());
+var core9 = __toESM(require_core());
 async function getTotalCacheSize(paths, logger2, quiet = false) {
   const sizes = await Promise.all(
     paths.map((cacheDir2) => tryGetFolderBytes(cacheDir2, logger2, quiet))
@@ -150266,7 +147590,7 @@ function getCachingKind(input) {
     case "restore":
       return "restore" /* Restore */;
     default:
-      core7.warning(
+      core9.warning(
         `Unrecognized 'dependency-caching' input: ${input}. Defaulting to 'none'.`
       );
       return "none" /* None */;
@@ -150305,11 +147629,16 @@ function getInvalidConfigFileMessage(configFile, messages) {
   const andMore = messages.length > 10 ? `, and ${messages.length - 10} more.` : ".";
   return `The configuration file "${configFile}" is invalid: ${messages.slice(0, 10).join(", ")}${andMore}`;
 }
-function getConfigFileRepoFormatInvalidMessage(configFile) {
+function getConfigFileRepoOldFormatInvalidMessage(configFile) {
   let error3 = `The configuration file "${configFile}" is not a supported remote file reference.`;
   error3 += " Expected format //@";
   return error3;
 }
+function getConfigFileRepoFormatInvalidMessage(configFile) {
+  let error3 = `The configuration file "${configFile}" is not a supported remote file reference.`;
+  error3 += " Expected format [/][@][:]";
+  return error3;
+}
 function getConfigFileFormatInvalidMessage(configFile) {
   return `The configuration file "${configFile}" could not be read`;
 }
@@ -150688,6 +148017,133 @@ function parseUserConfig(logger2, pathInput, contents, validateConfig) {
   }
 }
 
+// src/config/remote-file.ts
+var DEFAULT_CONFIG_FILE_NAME = ".github/codeql-action.yaml";
+var DEFAULT_CONFIG_FILE_REF = "main";
+function getDefaultOwner(env) {
+  const currentRepoNwo = env.getRequired("GITHUB_REPOSITORY" /* GITHUB_REPOSITORY */);
+  const nwoParts = currentRepoNwo.split("/");
+  if (nwoParts.length !== 2 || nwoParts[0].trim().length === 0) {
+    throw new Error(
+      `Expected ${"GITHUB_REPOSITORY" /* GITHUB_REPOSITORY */} to contain a name with owner, but got '${currentRepoNwo}'.`
+    );
+  }
+  return nwoParts[0].trim();
+}
+var OLD_REMOTE_ADDRESS_FORMAT = new RegExp(
+  "(?[^/]+)/(?[^/]+)/(?[^@]+)@(?.*)"
+);
+function parseOldRemoteFileAddress(input) {
+  const pieces = OLD_REMOTE_ADDRESS_FORMAT.exec(input);
+  if (pieces?.groups === void 0 || pieces.length < 5) {
+    return new Failure(void 0);
+  }
+  return new Success({
+    owner: pieces.groups.owner.trim(),
+    repo: pieces.groups.repo.trim(),
+    path: pieces.groups.path.trim(),
+    ref: pieces.groups.ref.trim()
+  });
+}
+async function parseRemoteFileAddress(actionState, configFile) {
+  const oldFormatAddressResult = parseOldRemoteFileAddress(configFile);
+  if (oldFormatAddressResult.isSuccess()) {
+    return oldFormatAddressResult.value;
+  }
+  const allowNewFormat = await actionState.features.getValue(
+    "new_remote_file_addresses" /* NewRemoteFileAddresses */
+  );
+  if (!allowNewFormat) {
+    throw new ConfigurationError(
+      getConfigFileRepoOldFormatInvalidMessage(configFile)
+    );
+  }
+  const format = new RegExp(
+    "^((?[^:@/]+)/)?(?[^:@/]+)(@(?[^:]+))?(:(?.+))?$"
+  );
+  const pieces = format.exec(configFile.trim());
+  const repo = pieces?.groups?.repo?.trim();
+  if (!pieces?.groups || !repo || repo.length === 0) {
+    throw new ConfigurationError(
+      getConfigFileRepoFormatInvalidMessage(configFile)
+    );
+  }
+  const owner = pieces.groups.owner?.trim();
+  const path30 = pieces.groups.path?.trim();
+  const ref = pieces.groups.ref?.trim();
+  if (path30?.startsWith("/")) {
+    throw new ConfigurationError(
+      `The path component of '${configFile}' cannot be an absolute path.`
+    );
+  }
+  return {
+    owner: owner || getDefaultOwner(actionState.env),
+    repo,
+    path: path30 || DEFAULT_CONFIG_FILE_NAME,
+    ref: ref || DEFAULT_CONFIG_FILE_REF
+  };
+}
+
+// src/config/file.ts
+async function getConfigFileInput({
+  logger: logger2,
+  actions,
+  features
+}, repositoryProperties) {
+  const input = actions.getOptionalInput("config-file");
+  if (input !== void 0) {
+    logger2.info(`Using configuration file input from workflow: ${input}`);
+    return input;
+  }
+  const propertyValue = repositoryProperties["github-codeql-config-file" /* CONFIG_FILE */];
+  if (propertyValue !== void 0 && propertyValue.trim().length > 0) {
+    const useRepositoryProperty = await features.getValue(
+      "config_file_repository_property" /* ConfigFileRepositoryProperty */
+    );
+    if (useRepositoryProperty) {
+      logger2.info(
+        `Using configuration file input from repository property: ${propertyValue}`
+      );
+      return propertyValue;
+    } else {
+      logger2.info(
+        "Ignoring configuration file input from repository property, because the corresponding feature flag is disabled."
+      );
+    }
+  }
+  return void 0;
+}
+async function getRemoteConfig(actionState, configFile, apiDetails) {
+  const address = await parseRemoteFileAddress(actionState, configFile);
+  const response = await getApiClientWithExternalAuth(apiDetails).rest.repos.getContent({
+    owner: address.owner,
+    repo: address.repo,
+    path: address.path,
+    ref: address.ref
+  });
+  let fileContents;
+  if ("content" in response.data && response.data.content !== void 0) {
+    fileContents = response.data.content;
+  } else if (Array.isArray(response.data)) {
+    throw new ConfigurationError(
+      getConfigFileDirectoryGivenMessage(configFile)
+    );
+  } else {
+    throw new ConfigurationError(
+      getConfigFileFormatInvalidMessage(configFile)
+    );
+  }
+  const validateConfig = await actionState.features.getValue(
+    "validate_db_config" /* ValidateDbConfig */
+  );
+  return parseUserConfig(
+    actionState.logger,
+    configFile,
+    Buffer.from(fileContents, "base64").toString("binary"),
+    validateConfig
+  );
+}
+
 // src/diagnostics.ts
 var import_fs = require("fs");
 var import_path = __toESM(require("path"));
@@ -150962,14 +148418,14 @@ function getDiffRanges(fileDiff, logger2) {
       additionRangeStartLine = void 0;
     }
     if (diffLine.startsWith("@@ ")) {
-      const match = diffLine.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
-      if (match === null) {
+      const match2 = diffLine.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
+      if (match2 === null) {
         logger2.warning(
           `Cannot parse diff hunk header for ${fileDiff.filename}: ${diffLine}`
         );
         return void 0;
       }
-      currentLine = parseInt(match[1], 10);
+      currentLine = parseInt(match2[1], 10);
       continue;
     }
     if (diffLine.startsWith(" ")) {
@@ -151612,7 +149068,7 @@ async function downloadCacheWithTime(codeQL, languages, logger2) {
   const trapCacheDownloadTime = import_perf_hooks.performance.now() - start;
   return { trapCaches, trapCacheDownloadTime };
 }
-async function loadUserConfig(logger2, configFile, workspacePath, apiDetails, tempDir, validateConfig) {
+async function loadUserConfig(actionState, configFile, workspacePath, apiDetails, tempDir) {
   if (isLocal(configFile)) {
     if (configFile !== userConfigFromActionPath(tempDir)) {
       configFile = path11.resolve(workspacePath, configFile);
@@ -151622,14 +149078,12 @@ async function loadUserConfig(logger2, configFile, workspacePath, apiDetails, te
         );
       }
     }
-    return getLocalConfig(logger2, configFile, validateConfig);
-  } else {
-    return await getRemoteConfig(
-      logger2,
-      configFile,
-      apiDetails,
-      validateConfig
+    const validateConfig = await actionState.features.getValue(
+      "validate_db_config" /* ValidateDbConfig */
     );
+    return getLocalConfig(actionState.logger, configFile, validateConfig);
+  } else {
+    return await getRemoteConfig(actionState, configFile, apiDetails);
   }
 }
 var OVERLAY_ANALYSIS_FEATURES = {
@@ -151880,10 +149334,10 @@ async function setCppTrapCachingEnvironmentVariables(config, logger2) {
       );
     } else if (config.trapCaches["cpp" /* cpp */]) {
       logger2.info("Enabling TRAP caching for C/C++.");
-      core8.exportVariable(envVar, "true");
+      core10.exportVariable(envVar, "true");
     } else {
       logger2.debug(`Disabling TRAP caching for C/C++.`);
-      core8.exportVariable(envVar, "false");
+      core10.exportVariable(envVar, "false");
     }
   }
 }
@@ -151915,8 +149369,9 @@ async function applyIncrementalAnalysisSettings(config, hasDiffRanges, codeql, l
     });
   }
 }
-async function initConfig(features, inputs) {
-  const { logger: logger2, tempDir } = inputs;
+async function initConfig(actionState, inputs) {
+  const { logger: logger2, features } = actionState;
+  const { tempDir } = inputs;
   if (inputs.configInput) {
     if (inputs.configFile) {
       logger2.warning(
@@ -151932,14 +149387,12 @@ async function initConfig(features, inputs) {
     logger2.debug("No configuration file was provided");
   } else {
     logger2.debug(`Using configuration file: ${inputs.configFile}`);
-    const validateConfig = await features.getValue("validate_db_config" /* ValidateDbConfig */);
     userConfig = await loadUserConfig(
-      logger2,
+      actionState,
       inputs.configFile,
       inputs.workspacePath,
       inputs.apiDetails,
-      tempDir,
-      validateConfig
+      tempDir
     );
   }
   const config = await initActionState(inputs, userConfig);
@@ -152052,21 +149505,6 @@ async function initConfig(features, inputs) {
   await setCppTrapCachingEnvironmentVariables(config, logger2);
   return config;
 }
-function parseRegistries(registriesInput) {
-  try {
-    return registriesInput ? load(registriesInput) : void 0;
-  } catch {
-    throw new ConfigurationError(
-      "Invalid registries input. Must be a YAML string."
-    );
-  }
-}
-function parseRegistriesWithoutCredentials(registriesInput) {
-  return parseRegistries(registriesInput)?.map((r) => {
-    const { url: url2, packages, kind } = r;
-    return { url: url2, packages, kind };
-  });
-}
 function isLocal(configPath) {
   if (configPath.indexOf("./") === 0) {
     return true;
@@ -152086,41 +149524,6 @@ function getLocalConfig(logger2, configFile, validateConfig) {
     validateConfig
   );
 }
-async function getRemoteConfig(logger2, configFile, apiDetails, validateConfig) {
-  const format = new RegExp(
-    "(?[^/]+)/(?[^/]+)/(?[^@]+)@(?.*)"
-  );
-  const pieces = format.exec(configFile);
-  if (pieces?.groups === void 0 || pieces.length < 5) {
-    throw new ConfigurationError(
-      getConfigFileRepoFormatInvalidMessage(configFile)
-    );
-  }
-  const response = await getApiClientWithExternalAuth(apiDetails).rest.repos.getContent({
-    owner: pieces.groups.owner,
-    repo: pieces.groups.repo,
-    path: pieces.groups.path,
-    ref: pieces.groups.ref
-  });
-  let fileContents;
-  if ("content" in response.data && response.data.content !== void 0) {
-    fileContents = response.data.content;
-  } else if (Array.isArray(response.data)) {
-    throw new ConfigurationError(
-      getConfigFileDirectoryGivenMessage(configFile)
-    );
-  } else {
-    throw new ConfigurationError(
-      getConfigFileFormatInvalidMessage(configFile)
-    );
-  }
-  return parseUserConfig(
-    logger2,
-    configFile,
-    Buffer.from(fileContents, "base64").toString("binary"),
-    validateConfig
-  );
-}
 function getPathToParsedConfigFile(tempDir) {
   return path11.join(tempDir, "config");
 }
@@ -152635,9 +150038,9 @@ async function getCodeQlVersionsForOverlayBaseDatabases(rawLanguages, logger2) {
   for (const cache of caches) {
     if (!cache.key) continue;
     const suffix = cache.key.substring(cacheKeyPrefix.length);
-    const match = suffix.match(versionRegex);
-    if (match && semver6.valid(match[1])) {
-      versionSet.add(match[1]);
+    const match2 = suffix.match(versionRegex);
+    if (match2 && semver6.valid(match2[1])) {
+      versionSet.add(match2[1]);
     }
   }
   if (versionSet.size === 0) {
@@ -152677,17 +150080,17 @@ async function getTarVersion() {
     throw new Error("Failed to call tar --version");
   }
   if (stdout.includes("GNU tar")) {
-    const match = stdout.match(/tar \(GNU tar\) ([0-9.]+)/);
-    if (!match?.[1]) {
+    const match2 = stdout.match(/tar \(GNU tar\) ([0-9.]+)/);
+    if (!match2?.[1]) {
       throw new Error("Failed to parse output of tar --version.");
     }
-    return { type: "gnu", version: match[1] };
+    return { type: "gnu", version: match2[1] };
   } else if (stdout.includes("bsdtar")) {
-    const match = stdout.match(/bsdtar ([0-9.]+)/);
-    if (!match?.[1]) {
+    const match2 = stdout.match(/bsdtar ([0-9.]+)/);
+    if (!match2?.[1]) {
       throw new Error("Failed to parse output of tar --version.");
     }
-    return { type: "bsd", version: match[1] };
+    return { type: "bsd", version: match2[1] };
   } else {
     throw new Error("Unknown tar version");
   }
@@ -152756,7 +150159,7 @@ async function extractTarZst(tar, dest, tarVersion, logger2) {
     args.push("-f", tar instanceof stream.Readable ? "-" : tar, "-C", dest);
     process.stdout.write(`[command]tar ${args.join(" ")}
 `);
-    await new Promise((resolve13, reject) => {
+    await new Promise((resolve14, reject) => {
       const tarProcess = (0, import_child_process.spawn)("tar", args, { stdio: "pipe" });
       let stdout = "";
       tarProcess.stdout?.on("data", (data) => {
@@ -152790,7 +150193,7 @@ async function extractTarZst(tar, dest, tarVersion, logger2) {
             )
           );
         }
-        resolve13();
+        resolve14();
       });
     });
   } catch (e) {
@@ -152803,8 +150206,8 @@ var KNOWN_EXTENSIONS = {
   "tar.zst": "zstd"
 };
 function inferCompressionMethod(tarPath) {
-  for (const [ext, method] of Object.entries(KNOWN_EXTENSIONS)) {
-    if (tarPath.endsWith(`.${ext}`)) {
+  for (const [ext2, method] of Object.entries(KNOWN_EXTENSIONS)) {
+    if (tarPath.endsWith(`.${ext2}`)) {
       return method;
     }
   }
@@ -152813,10 +150216,10 @@ function inferCompressionMethod(tarPath) {
 
 // src/tools-download.ts
 var fs13 = __toESM(require("fs"));
-var os3 = __toESM(require("os"));
+var os4 = __toESM(require("os"));
 var path12 = __toESM(require("path"));
 var import_perf_hooks2 = require("perf_hooks");
-var core9 = __toESM(require_core());
+var core11 = __toESM(require_core());
 var import_http_client = __toESM(require_lib());
 var toolcache2 = __toESM(require_tool_cache());
 var import_follow_redirects = __toESM(require_follow_redirects());
@@ -152870,10 +150273,10 @@ async function downloadAndExtract(codeqlURL, compressionMethod, dest, authorizat
       };
     }
   } catch (e) {
-    core9.warning(
+    core11.warning(
       `Failed to download and extract CodeQL bundle using streaming with error: ${getErrorMessage(e)}`
     );
-    core9.warning(`Falling back to downloading the bundle before extracting.`);
+    core11.warning(`Falling back to downloading the bundle before extracting.`);
     await cleanUpPath(dest, "CodeQL bundle", logger2);
   }
   const toolsDownloadStart = import_perf_hooks2.performance.now();
@@ -152927,7 +150330,7 @@ async function downloadAndExtractZstdWithStreaming(codeqlURL, dest, authorizatio
     headers
   );
   const response = await new Promise(
-    (resolve13) => import_follow_redirects.https.get(
+    (resolve14) => import_follow_redirects.https.get(
       codeqlURL,
       {
         headers,
@@ -152936,7 +150339,7 @@ async function downloadAndExtractZstdWithStreaming(codeqlURL, dest, authorizatio
         // Use the agent to respect proxy settings.
         agent
       },
-      (r) => resolve13(r)
+      (r) => resolve14(r)
     )
   );
   if (response.statusCode !== 200) {
@@ -152951,7 +150354,7 @@ function getToolcacheDirectory(version) {
     getRequiredEnvParam("RUNNER_TOOL_CACHE"),
     TOOLCACHE_TOOL_NAME,
     semver8.clean(version) || version,
-    os3.arch() || ""
+    os4.arch() || ""
   );
 }
 function writeToolcacheMarkerFile(extractedPath, logger2) {
@@ -153016,8 +150419,8 @@ async function getCodeQLBundleDownloadURL(tagName, apiDetails, compressionMethod
     [GITHUB_DOTCOM_URL, CODEQL_DEFAULT_ACTION_REPOSITORY]
   ];
   const uniqueDownloadSources = potentialDownloadSources.filter(
-    (source, index, self2) => {
-      return !self2.slice(0, index).some((other) => (0, import_fast_deep_equal.default)(source, other));
+    (source, index2, self2) => {
+      return !self2.slice(0, index2).some((other) => (0, import_fast_deep_equal.default)(source, other));
     }
   );
   const codeQLBundleName = getCodeQLBundleName(compressionMethod);
@@ -153050,12 +150453,12 @@ async function getCodeQLBundleDownloadURL(tagName, apiDetails, compressionMethod
   return `https://github.com/${CODEQL_DEFAULT_ACTION_REPOSITORY}/releases/download/${tagName}/${codeQLBundleName}`;
 }
 function tryGetBundleVersionFromTagName(tagName, logger2) {
-  const match = tagName.match(/^codeql-bundle-(.*)$/);
-  if (match === null || match.length < 2) {
+  const match2 = tagName.match(/^codeql-bundle-(.*)$/);
+  if (match2 === null || match2.length < 2) {
     logger2.debug(`Could not determine bundle version from tag ${tagName}.`);
     return void 0;
   }
-  return match[1];
+  return match2[1];
 }
 function tryGetTagNameFromUrl(url2, logger2) {
   const matches = [...url2.matchAll(/\/(codeql-bundle-[^/]*)\//g)];
@@ -153063,16 +150466,16 @@ function tryGetTagNameFromUrl(url2, logger2) {
     logger2.debug(`Could not determine tag name for URL ${url2}.`);
     return void 0;
   }
-  const match = matches[matches.length - 1];
-  if (match?.length !== 2) {
+  const match2 = matches[matches.length - 1];
+  if (match2?.length !== 2) {
     logger2.debug(
       `Could not determine tag name for URL ${url2}. Matched ${JSON.stringify(
-        match
+        match2
       )}.`
     );
     return void 0;
   }
-  return match[1];
+  return match2[1];
 }
 function convertToSemVer(version, logger2) {
   if (!semver9.valid(version)) {
@@ -153697,9 +151100,9 @@ async function getCombinedTracerConfig(codeql, config) {
 // src/codeql.ts
 var cachedCodeQL = void 0;
 var CODEQL_MINIMUM_VERSION = "2.19.4";
-var CODEQL_NEXT_MINIMUM_VERSION = "2.19.4";
-var GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.15";
-var GHES_MOST_RECENT_DEPRECATION_DATE = "2026-04-09";
+var CODEQL_NEXT_MINIMUM_VERSION = "2.20.7";
+var GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.16";
+var GHES_MOST_RECENT_DEPRECATION_DATE = "2026-07-01";
 var EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
 async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, rawLanguages, useOverlayAwareDefaultCliVersion, features, logger2, checkVersion) {
   try {
@@ -153771,16 +151174,14 @@ async function getCodeQLForCmd(cmd, checkVersion) {
       return cmd;
     },
     async getVersion() {
-      return getCachedOrRun(
-        "version" /* Version */,
-        cmd,
-        () => runCliJson(cmd, ["version", "--format=json"], {
+      return getCachedOrRun("version" /* Version */, cmd, () => {
+        return runCliJson(cmd, ["version", "--format=json"], {
           noStreamStdout: true
-        })
-      );
+        });
+      });
     },
     async printVersion() {
-      core10.info(JSON.stringify(await this.getVersion(), null, 2));
+      core12.info(JSON.stringify(await this.getVersion(), null, 2));
     },
     async supportsFeature(feature) {
       return isSupportedToolsFeature(await this.getVersion(), feature);
@@ -153931,24 +151332,21 @@ async function getCodeQLForCmd(cmd, checkVersion) {
       ];
       await runCli(cmd, args);
     },
-    async resolveLanguages() {
-      return getCachedOrRun("resolve languages" /* ResolveLanguages */, cmd, async () => {
-        const isFilterToLanguagesWithQueriesSupported = await this.supportsFeature(
-          "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
-        );
-        return runCliJson(cmd, [
-          "resolve",
-          "languages",
-          "--format=betterjson",
-          "--extractor-options-verbosity=4",
-          "--extractor-include-aliases",
-          // TODO: Unconditionally include `--filter-to-languages-with-queries`
-          //       once CODEQL_MINIMUM_VERSION is at least v2.23.0
-          //       — the first version to support this flag.
-          ...isFilterToLanguagesWithQueriesSupported ? ["--filter-to-languages-with-queries"] : [],
-          ...getExtraOptionsFromEnv(["resolve", "languages"])
-        ]);
-      });
+    async resolveLanguages({
+      filterToLanguagesWithQueries
+    } = { filterToLanguagesWithQueries: false }) {
+      return runCliJson(cmd, [
+        "resolve",
+        "languages",
+        "--format=betterjson",
+        "--extractor-options-verbosity=4",
+        "--extractor-include-aliases",
+        // TODO: Unconditionally include `--filter-to-languages-with-queries`
+        //       once CODEQL_MINIMUM_VERSION is at least v2.23.0
+        //       — the first version to support this flag.
+        ...filterToLanguagesWithQueries ? ["--filter-to-languages-with-queries"] : [],
+        ...getExtraOptionsFromEnv(["resolve", "languages"])
+      ]);
     },
     async resolveBuildEnvironment(workingDir, language) {
       const codeqlArgs = [
@@ -154050,9 +151448,9 @@ async function getCodeQLForCmd(cmd, checkVersion) {
       ];
       if (await this.supportsFeature("bundleSupportsIncludeOption" /* BundleSupportsIncludeOption */)) {
         args.push(
-          ...alsoIncludeRelativePaths.flatMap((relativePath) => [
+          ...alsoIncludeRelativePaths.flatMap((relativePath2) => [
             "--include",
-            relativePath
+            relativePath2
           ])
         );
       }
@@ -154094,14 +151492,30 @@ async function getCodeQLForCmd(cmd, checkVersion) {
       await new toolrunner3.ToolRunner(cmd, args).exec();
     },
     async resolveExtractor(language) {
-      const output = await this.resolveLanguages();
-      const extractors = output.extractors[language];
-      if (extractors === void 0) {
-        throw new Error(
-          `Unable to resolve an extractor for the language '${language}'.`
-        );
-      }
-      return extractors[0].extractor_root;
+      let extractorPath = "";
+      await new toolrunner3.ToolRunner(
+        cmd,
+        [
+          "resolve",
+          "extractor",
+          "--format=json",
+          `--language=${language}`,
+          "--extractor-include-aliases",
+          ...getExtraOptionsFromEnv(["resolve", "extractor"])
+        ],
+        {
+          silent: true,
+          listeners: {
+            stdout: (data) => {
+              extractorPath += data.toString();
+            },
+            stderr: (data) => {
+              process.stderr.write(data);
+            }
+          }
+        }
+      ).exec();
+      return JSON.parse(extractorPath);
     },
     async resolveQueriesStartingPacks(queries) {
       const codeqlArgs = [
@@ -154152,12 +151566,12 @@ async function getCodeQLForCmd(cmd, checkVersion) {
     );
   } else if (checkVersion && process.env["CODEQL_ACTION_SUPPRESS_DEPRECATED_SOON_WARNING" /* SUPPRESS_DEPRECATED_SOON_WARNING */] !== "true" && !await codeQlVersionAtLeast(codeql, CODEQL_NEXT_MINIMUM_VERSION)) {
     const result = await codeql.getVersion();
-    core10.warning(
+    core12.warning(
       `CodeQL CLI version ${result.version} was discontinued on ${GHES_MOST_RECENT_DEPRECATION_DATE} alongside GitHub Enterprise Server ${GHES_VERSION_MOST_RECENTLY_DEPRECATED} and will not be supported by the next minor release of the CodeQL Action. Please update to CodeQL CLI version ${CODEQL_NEXT_MINIMUM_VERSION} or later. For instance, if you have specified a custom version of the CLI using the 'tools' input to the 'init' Action, you can remove this input to use the default version.
 
 Alternatively, if you want to continue using CodeQL CLI version ${result.version}, you can replace 'github/codeql-action/*@v${getActionVersion().split(".")[0]}' by 'github/codeql-action/*@v${getActionVersion()}' in your code scanning workflow to continue using this version of the CodeQL Action.`
     );
-    core10.exportVariable("CODEQL_ACTION_SUPPRESS_DEPRECATED_SOON_WARNING" /* SUPPRESS_DEPRECATED_SOON_WARNING */, "true");
+    core12.exportVariable("CODEQL_ACTION_SUPPRESS_DEPRECATED_SOON_WARNING" /* SUPPRESS_DEPRECATED_SOON_WARNING */, "true");
   }
   return codeql;
 }
@@ -154211,8 +151625,10 @@ async function runCliJson(cmd, args = [], opts = {}) {
   const output = await runCli(cmd, args, opts);
   try {
     return JSON.parse(output);
-  } catch {
-    throw Error(`Invalid JSON output from \`${args.join(" ")}\`: ${output}`);
+  } catch (e) {
+    throw Error(
+      `Unexpected output from codeql ${args.join(" ")}: ${getErrorMessage(e)}`
+    );
   }
 }
 async function writeCodeScanningConfigFile(config, logger2) {
@@ -154320,20 +151736,20 @@ async function setupCppAutobuild(codeql, logger2) {
     logger2
   );
   if (await features.getValue("cpp_dependency_installation_enabled" /* CppDependencyInstallation */, codeql)) {
-    if (process.env["RUNNER_ENVIRONMENT"] === "self-hosted" && process.env[envVar] !== "true") {
+    if (process.env["RUNNER_ENVIRONMENT" /* RUNNER_ENVIRONMENT */] === "self-hosted" && process.env[envVar] !== "true") {
       logger2.info(
         `Disabling ${featureName} as we are on a self-hosted runner.${getWorkflowEventName() !== "dynamic" ? ` To override this, set the ${envVar} environment variable to 'true' in your workflow. See ${"https://docs.github.com/en/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow" /* DEFINE_ENV_VARIABLES */} for more information.` : ""}`
       );
-      core11.exportVariable(envVar, "false");
+      core13.exportVariable(envVar, "false");
     } else {
       logger2.info(
         `Enabling ${featureName}. This can be disabled by setting the ${envVar} environment variable to 'false'. See ${"https://docs.github.com/en/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow" /* DEFINE_ENV_VARIABLES */} for more information.`
       );
-      core11.exportVariable(envVar, "true");
+      core13.exportVariable(envVar, "true");
     }
   } else {
     logger2.info(`Disabling ${featureName}.`);
-    core11.exportVariable(envVar, "false");
+    core13.exportVariable(envVar, "false");
   }
 }
 async function runAutobuild(config, language, logger2) {
@@ -154348,13 +151764,13 @@ async function runAutobuild(config, language, logger2) {
     await codeQL.runAutobuild(config, language);
   }
   if (language === "go" /* go */) {
-    core11.exportVariable("CODEQL_ACTION_DID_AUTOBUILD_GOLANG" /* DID_AUTOBUILD_GOLANG */, "true");
+    core13.exportVariable("CODEQL_ACTION_DID_AUTOBUILD_GOLANG" /* DID_AUTOBUILD_GOLANG */, "true");
   }
   logger2.endGroup();
 }
 
 // src/dependency-caching.ts
-var os4 = __toESM(require("os"));
+var os5 = __toESM(require("os"));
 var import_path2 = require("path");
 var actionsCache4 = __toESM(require_cache4());
 var glob = __toESM(require_glob());
@@ -154366,9 +151782,9 @@ function getJavaTempDependencyDir() {
 async function getJavaDependencyDirs() {
   return [
     // Maven
-    (0, import_path2.join)(os4.homedir(), ".m2", "repository"),
+    (0, import_path2.join)(os5.homedir(), ".m2", "repository"),
     // Gradle
-    (0, import_path2.join)(os4.homedir(), ".gradle", "caches"),
+    (0, import_path2.join)(os5.homedir(), ".gradle", "caches"),
     // CodeQL Java build-mode: none
     getJavaTempDependencyDir()
   ];
@@ -154379,7 +151795,7 @@ function getCsharpTempDependencyDir() {
 async function getCsharpDependencyDirs(codeql, features) {
   const dirs = [
     // Nuget
-    (0, import_path2.join)(os4.homedir(), ".nuget", "packages")
+    (0, import_path2.join)(os5.homedir(), ".nuget", "packages")
   ];
   if (await features.getValue("csharp_cache_bmn" /* CsharpCacheBuildModeNone */, codeql)) {
     dirs.push(getCsharpTempDependencyDir());
@@ -154434,7 +151850,7 @@ var defaultCacheConfigs = {
     getHashPatterns: getCsharpHashPatterns
   },
   go: {
-    getDependencyPaths: async () => [(0, import_path2.join)(os4.homedir(), "go", "pkg", "mod")],
+    getDependencyPaths: async () => [(0, import_path2.join)(os5.homedir(), "go", "pkg", "mod")],
     getHashPatterns: async () => internal.makePatternCheck(["**/go.sum"])
   }
 };
@@ -154757,9 +152173,9 @@ extensions:
       checkPresence: false
     data:
 `;
-  let data = ranges.map((range) => {
-    const filename = path16.join(checkoutPath, range.path).replaceAll(path16.sep, "/");
-    return `      - [${dump(filename, { forceQuotes: true }).trim()}, ${range.startLine}, ${range.endLine}]
+  let data = ranges.map((range2) => {
+    const filename = path16.join(checkoutPath, range2.path).replaceAll(path16.sep, "/");
+    return `      - [${dump(filename, { forceQuotes: true, quoteStyle: "single" }).trim()}, ${range2.startLine}, ${range2.endLine}]
 `;
   }).join("");
   if (!data) {
@@ -155078,7 +152494,7 @@ async function cleanupAndUploadDatabases(repositoryNwo, codeql, config, apiDetai
           logger2.debug(
             `Database upload attempt ${attempt} of ${maxAttempts} failed for ${language}: ${getErrorMessage(e)}. Retrying in ${backoffMs / 1e3}s...`
           );
-          await new Promise((resolve13) => setTimeout(resolve13, backoffMs));
+          await new Promise((resolve14) => setTimeout(resolve14, backoffMs));
         }
       }
       reports.push({
@@ -155099,8 +152515,48 @@ async function cleanupAndUploadDatabases(repositoryNwo, codeql, config, apiDetai
       });
     }
   }
+  if (shouldUploadOverlayBase && !config.debugMode) {
+    await withGroupAsync(
+      "Measuring database size at the clear cleanup level",
+      () => recordClearCleanupSizes(codeql, config, reports, logger2)
+    );
+  }
   return reports;
 }
+async function recordClearCleanupSizes(codeql, config, reports, logger2) {
+  const startTime = performance.now();
+  try {
+    await codeql.databaseCleanupCluster(config, "clear" /* Clear */);
+  } catch (e) {
+    logger2.warning(
+      `Failed to clean up databases at the '${"clear" /* Clear */}' level for size measurement: ${getErrorMessage(e)}`
+    );
+    return;
+  }
+  for (const language of config.languages) {
+    const report = reports.find((r) => r.language === language);
+    if (report === void 0) {
+      continue;
+    }
+    try {
+      const bundledDb = await bundleDb(config, language, codeql, language, {
+        includeDiagnostics: false
+      });
+      report.clear_cleanup_zipped_size_bytes = fs18.statSync(bundledDb).size;
+      logger2.debug(
+        `Database for ${language} is ${report.clear_cleanup_zipped_size_bytes} bytes zipped at the '${"clear" /* Clear */}' cleanup level (vs. ${report.zipped_upload_size_bytes ?? "unknown"} bytes at the '${"overlay" /* Overlay */}' level).`
+      );
+    } catch (e) {
+      logger2.warning(
+        `Failed to measure the '${"clear" /* Clear */}' cleanup database size for ${language}: ${getErrorMessage(e)}`
+      );
+    }
+  }
+  const durationMs = performance.now() - startTime;
+  for (const report of reports) {
+    report.clear_cleanup_measurement_duration_ms = durationMs;
+  }
+}
 async function uploadBundledDatabase(repositoryNwo, language, commitOid, bundledDb, bundledDbSize, apiDetails) {
   const client = getApiClient();
   const uploadsUrl = new URL(parseGitHubUrl(apiDetails.url));
@@ -155139,286 +152595,6 @@ async function uploadBundledDatabase(repositoryNwo, language, commitOid, bundled
   }
 }
 
-// src/status-report.ts
-var os5 = __toESM(require("os"));
-var core12 = __toESM(require_core());
-function isFirstPartyAnalysis(actionName) {
-  if (actionName !== "upload-sarif" /* UploadSarif */) {
-    return true;
-  }
-  return process.env["CODEQL_ACTION_INIT_HAS_RUN" /* INIT_ACTION_HAS_RUN */] === "true";
-}
-function isThirdPartyAnalysis(actionName) {
-  return !isFirstPartyAnalysis(actionName);
-}
-var JobStatus = /* @__PURE__ */ ((JobStatus2) => {
-  JobStatus2["UnknownStatus"] = "JOB_STATUS_UNKNOWN";
-  JobStatus2["SuccessStatus"] = "JOB_STATUS_SUCCESS";
-  JobStatus2["FailureStatus"] = "JOB_STATUS_FAILURE";
-  JobStatus2["ConfigErrorStatus"] = "JOB_STATUS_CONFIGURATION_ERROR";
-  return JobStatus2;
-})(JobStatus || {});
-function getActionsStatus(error3, otherFailureCause) {
-  if (error3 || otherFailureCause) {
-    return error3 instanceof ConfigurationError ? "user-error" : "failure";
-  } else {
-    return "success";
-  }
-}
-function getJobStatusDisplayName(status) {
-  switch (status) {
-    case "JOB_STATUS_SUCCESS" /* SuccessStatus */:
-      return "success";
-    case "JOB_STATUS_FAILURE" /* FailureStatus */:
-      return "failure";
-    case "JOB_STATUS_CONFIGURATION_ERROR" /* ConfigErrorStatus */:
-      return "configuration error";
-    case "JOB_STATUS_UNKNOWN" /* UnknownStatus */:
-      return "unknown";
-    default:
-      assertNever(status);
-  }
-}
-function setJobStatusIfUnsuccessful(actionStatus) {
-  if (actionStatus === "user-error") {
-    core12.exportVariable(
-      "CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */,
-      process.env["CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */] ?? "JOB_STATUS_CONFIGURATION_ERROR" /* ConfigErrorStatus */
-    );
-  } else if (actionStatus === "failure" || actionStatus === "aborted") {
-    core12.exportVariable(
-      "CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */,
-      process.env["CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */] ?? "JOB_STATUS_FAILURE" /* FailureStatus */
-    );
-  }
-}
-async function createStatusReportBase(actionName, status, actionStartedAt, config, diskInfo, logger2, cause, exception) {
-  try {
-    const commitOid = getOptionalInput("sha") || process.env["GITHUB_SHA"] || "";
-    const ref = await getRef();
-    const jobRunUUID = process.env["JOB_RUN_UUID" /* JOB_RUN_UUID */] || "";
-    const workflowRunID = getWorkflowRunID();
-    const workflowRunAttempt = getWorkflowRunAttempt();
-    const workflowName = process.env["GITHUB_WORKFLOW"] || "";
-    const jobName = process.env["GITHUB_JOB"] || "";
-    const analysis_key = await getAnalysisKey();
-    let workflowStartedAt = process.env["CODEQL_WORKFLOW_STARTED_AT" /* WORKFLOW_STARTED_AT */];
-    if (workflowStartedAt === void 0) {
-      workflowStartedAt = actionStartedAt.toISOString();
-      core12.exportVariable("CODEQL_WORKFLOW_STARTED_AT" /* WORKFLOW_STARTED_AT */, workflowStartedAt);
-    }
-    const runnerOs = getRequiredEnvParam("RUNNER_OS");
-    const codeQlCliVersion = getCachedCommandOutput(
-      "version" /* Version */,
-      void 0
-    );
-    const actionRef = process.env["GITHUB_ACTION_REF"] || "";
-    const testingEnvironment = getTestingEnvironment();
-    if (testingEnvironment) {
-      core12.exportVariable("CODEQL_ACTION_TESTING_ENVIRONMENT" /* TESTING_ENVIRONMENT */, testingEnvironment);
-    }
-    const isSteadyStateDefaultSetupRun = process.env["CODE_SCANNING_IS_STEADY_STATE_DEFAULT_SETUP"] === "true";
-    const statusReport = {
-      action_name: actionName,
-      action_oid: "unknown",
-      // TODO decide if it's possible to fill this in
-      action_ref: actionRef,
-      action_started_at: actionStartedAt.toISOString(),
-      action_version: getActionVersion(),
-      analysis_kinds: config?.analysisKinds?.join(","),
-      analysis_key,
-      build_mode: config?.buildMode,
-      commit_oid: commitOid,
-      first_party_analysis: isFirstPartyAnalysis(actionName),
-      job_name: jobName,
-      job_run_uuid: jobRunUUID,
-      ref,
-      runner_os: runnerOs,
-      started_at: workflowStartedAt,
-      status,
-      steady_state_default_setup: isSteadyStateDefaultSetupRun,
-      testing_environment: testingEnvironment || "",
-      workflow_name: workflowName,
-      workflow_run_attempt: workflowRunAttempt,
-      workflow_run_id: workflowRunID
-    };
-    try {
-      statusReport.actions_event_name = getWorkflowEventName();
-    } catch (e) {
-      logger2.warning(
-        `Could not determine the workflow event name: ${getErrorMessage(e)}.`
-      );
-    }
-    if (config) {
-      statusReport.languages = config.languages?.join(",");
-    }
-    if (diskInfo) {
-      statusReport.runner_available_disk_space_bytes = diskInfo.numAvailableBytes;
-      statusReport.runner_total_disk_space_bytes = diskInfo.numTotalBytes;
-    }
-    if (cause) {
-      statusReport.cause = cause;
-    }
-    if (exception) {
-      statusReport.exception = exception;
-    }
-    if (status === "success" || status === "failure" || status === "aborted" || status === "user-error") {
-      statusReport.completed_at = (/* @__PURE__ */ new Date()).toISOString();
-    }
-    const matrix = getRequiredInput("matrix");
-    if (matrix) {
-      statusReport.matrix_vars = matrix;
-    }
-    if ("RUNNER_ARCH" in process.env) {
-      statusReport.runner_arch = process.env["RUNNER_ARCH"];
-    }
-    if (!(runnerOs === "Linux" && isSelfHostedRunner())) {
-      statusReport.runner_os_release = os5.release();
-    }
-    if (codeQlCliVersion !== void 0) {
-      statusReport.codeql_version = codeQlCliVersion.version;
-    }
-    const imageVersion = process.env["ImageVersion"];
-    if (imageVersion) {
-      statusReport.runner_image_version = imageVersion;
-    }
-    return statusReport;
-  } catch (e) {
-    logger2.warning(
-      `Failed to gather information for telemetry: ${getErrorMessage(e)}. Will skip sending status report.`
-    );
-    if (isInTestMode()) {
-      throw e;
-    }
-    return void 0;
-  }
-}
-var OUT_OF_DATE_MSG = "CodeQL Action is out-of-date. Please upgrade to the latest version of `codeql-action`.";
-var INCOMPATIBLE_MSG = "CodeQL Action version is incompatible with the API endpoint. Please update to a compatible version of `codeql-action`.";
-async function sendStatusReport(statusReport) {
-  setJobStatusIfUnsuccessful(statusReport.status);
-  const statusReportJSON = JSON.stringify(statusReport);
-  core12.debug(`Sending status report: ${statusReportJSON}`);
-  if (isInTestMode()) {
-    core12.debug("In test mode. Status reports are not uploaded.");
-    return;
-  }
-  const nwo = getRepositoryNwo();
-  const client = getApiClient();
-  try {
-    await client.request(
-      "PUT /repos/:owner/:repo/code-scanning/analysis/status",
-      {
-        owner: nwo.owner,
-        repo: nwo.repo,
-        data: statusReportJSON
-      }
-    );
-  } catch (e) {
-    const httpError = asHTTPError(e);
-    if (httpError !== void 0) {
-      switch (httpError.status) {
-        case 403:
-          if (getWorkflowEventName() === "push" && process.env["GITHUB_ACTOR"] === "dependabot[bot]") {
-            core12.warning(
-              `Workflows triggered by Dependabot on the "push" event run with read-only access. Uploading CodeQL results requires write access. To use CodeQL with Dependabot, please ensure you are using the "pull_request" event for this workflow and avoid triggering on the "push" event for Dependabot branches. See ${"https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#scanning-on-push" /* SCANNING_ON_PUSH */} for more information on how to configure these events.`
-            );
-          } else {
-            core12.warning(
-              `This run of the CodeQL Action does not have permission to access the CodeQL Action API endpoints. This could be because the Action is running on a pull request from a fork. If not, please ensure the workflow has at least the 'security-events: read' permission. Details: ${httpError.message}`
-            );
-          }
-          return;
-        case 404:
-          core12.warning(httpError.message);
-          return;
-        case 422:
-          if (getRequiredEnvParam("GITHUB_SERVER_URL") !== GITHUB_DOTCOM_URL) {
-            core12.debug(INCOMPATIBLE_MSG);
-          } else {
-            core12.debug(OUT_OF_DATE_MSG);
-          }
-          return;
-      }
-    }
-    core12.warning(
-      `An unexpected error occurred when sending a status report: ${getErrorMessage(
-        e
-      )}`
-    );
-  }
-}
-async function createInitWithConfigStatusReport(config, initStatusReport, configFile, totalCacheSize, overlayBaseDatabaseStats, dependencyCachingResults) {
-  const languages = config.languages.join(",");
-  const paths = (config.originalUserInput.paths || []).join(",");
-  const pathsIgnore = (config.originalUserInput["paths-ignore"] || []).join(
-    ","
-  );
-  const disableDefaultQueries = config.originalUserInput["disable-default-queries"] ? languages : "";
-  const queries = [];
-  let queriesInput = getOptionalInput("queries")?.trim();
-  if (queriesInput === void 0 || queriesInput.startsWith("+")) {
-    queries.push(
-      ...(config.originalUserInput.queries || []).map((q) => q.uses)
-    );
-  }
-  if (queriesInput !== void 0) {
-    queriesInput = queriesInput.startsWith("+") ? queriesInput.slice(1) : queriesInput;
-    queries.push(...queriesInput.split(","));
-  }
-  let packs = {};
-  if (Array.isArray(config.computedConfig.packs)) {
-    packs[config.languages[0]] = config.computedConfig.packs;
-  } else if (config.computedConfig.packs !== void 0) {
-    packs = config.computedConfig.packs;
-  }
-  return {
-    ...initStatusReport,
-    config_file: configFile ?? "",
-    disable_default_queries: disableDefaultQueries,
-    paths,
-    paths_ignore: pathsIgnore,
-    queries: queries.join(","),
-    packs: JSON.stringify(packs),
-    trap_cache_languages: Object.keys(config.trapCaches).join(","),
-    trap_cache_download_size_bytes: totalCacheSize,
-    trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
-    overlay_base_database_download_size_bytes: overlayBaseDatabaseStats?.databaseSizeBytes,
-    overlay_base_database_download_duration_ms: overlayBaseDatabaseStats?.databaseDownloadDurationMs,
-    dependency_caching_restore_results: dependencyCachingResults,
-    query_filters: JSON.stringify(
-      config.originalUserInput["query-filters"] ?? []
-    ),
-    registries: JSON.stringify(
-      parseRegistriesWithoutCredentials(getOptionalInput("registries")) ?? []
-    )
-  };
-}
-async function sendUnhandledErrorStatusReport(actionName, actionStartedAt, error3, logger2) {
-  try {
-    const statusReport = await createStatusReportBase(
-      actionName,
-      "failure",
-      actionStartedAt,
-      void 0,
-      void 0,
-      logger2,
-      `Unhandled CodeQL Action error: ${getErrorMessage(error3)}`,
-      error3 instanceof Error ? error3.stack : void 0
-    );
-    if (statusReport !== void 0) {
-      await sendStatusReport(statusReport);
-    }
-  } catch (e) {
-    logger2.warning(
-      `Failed to send the unhandled error status report: ${getErrorMessage(e)}.`
-    );
-    if (isInTestMode()) {
-      throw e;
-    }
-  }
-}
-
 // src/upload-lib.ts
 var upload_lib_exports = {};
 __export(upload_lib_exports, {
@@ -155445,7 +152621,7 @@ var fs22 = __toESM(require("fs"));
 var path19 = __toESM(require("path"));
 var url = __toESM(require("url"));
 var import_zlib = __toESM(require("zlib"));
-var core14 = __toESM(require_core());
+var core15 = __toESM(require_core());
 var jsonschema2 = __toESM(require_lib2());
 
 // src/fingerprints.ts
@@ -156393,7 +153569,7 @@ async function hash(callback, filepath) {
   const lineNumbers = Array(BLOCK_SIZE).fill(-1);
   let hashRaw = long_default.ZERO;
   const firstMod = computeFirstMod();
-  let index = 0;
+  let index2 = 0;
   let lineNumber = 0;
   let lineStart = true;
   let prevCR = false;
@@ -156404,14 +153580,14 @@ async function hash(callback, filepath) {
       hashCounts[hashValue] = 0;
     }
     hashCounts[hashValue]++;
-    callback(lineNumbers[index], `${hashValue}:${hashCounts[hashValue]}`);
-    lineNumbers[index] = -1;
+    callback(lineNumbers[index2], `${hashValue}:${hashCounts[hashValue]}`);
+    lineNumbers[index2] = -1;
   };
   const updateHash = function(current) {
-    const begin = window2[index];
-    window2[index] = current;
+    const begin = window2[index2];
+    window2[index2] = current;
     hashRaw = MOD.multiply(hashRaw).add(long_default.fromInt(current)).subtract(firstMod.multiply(long_default.fromInt(begin)));
-    index = (index + 1) % BLOCK_SIZE;
+    index2 = (index2 + 1) % BLOCK_SIZE;
   };
   const processCharacter = function(current) {
     if (current === space || current === tab || prevCR && current === lf) {
@@ -156424,13 +153600,13 @@ async function hash(callback, filepath) {
     } else {
       prevCR = false;
     }
-    if (lineNumbers[index] !== -1) {
+    if (lineNumbers[index2] !== -1) {
       outputHash();
     }
     if (lineStart) {
       lineStart = false;
       lineNumber++;
-      lineNumbers[index] = lineNumber;
+      lineNumbers[index2] = lineNumber;
     }
     if (current === lf) {
       lineStart = true;
@@ -156445,7 +153621,7 @@ async function hash(callback, filepath) {
   }
   processCharacter(EOF);
   for (let i = 0; i < BLOCK_SIZE; i++) {
-    if (lineNumbers[index] !== -1) {
+    if (lineNumbers[index2] !== -1) {
       outputHash();
     }
     updateHash(0);
@@ -156573,7 +153749,7 @@ async function addFingerprints(sarifLog, sourceRoot, logger2) {
 // src/init.ts
 var fs20 = __toESM(require("fs"));
 var path18 = __toESM(require("path"));
-var core13 = __toESM(require_core());
+var core14 = __toESM(require_core());
 var toolrunner4 = __toESM(require_toolrunner());
 var github2 = __toESM(require_github());
 var io6 = __toESM(require_io());
@@ -156607,9 +153783,9 @@ async function initCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVe
     zstdAvailability
   };
 }
-async function initConfig2(features, inputs) {
+async function initConfig2(actionState, inputs) {
   return await withGroupAsync("Load language configuration", async () => {
-    return await initConfig(features, inputs);
+    return await initConfig(actionState, inputs);
   });
 }
 async function runDatabaseInitCluster(databaseInitEnvironment, codeql, config, sourceRoot, processName, qlconfigFile, logger2) {
@@ -156803,7 +153979,7 @@ To opt out of this change, switch to an advanced setup workflow and ${envVarOptO
 To opt out of this change, ${envVarOptOut}`;
   }
   logger2.warning(message);
-  core13.exportVariable("CODEQL_ACTION_DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION" /* DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION */, "true");
+  core14.exportVariable("CODEQL_ACTION_DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION" /* DID_LOG_FILE_COVERAGE_ON_PRS_DEPRECATION */, "true");
 }
 
 // src/sarif/index.ts
@@ -156917,7 +154093,7 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo
       logger2.warning(
         `Uploading multiple SARIF runs with the same category is deprecated ${deprecationWarningMessage}. Please update your workflow to upload a single run per category. ${deprecationMoreInformationMessage}`
       );
-      core14.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true");
+      core15.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true");
     }
     return combineSarifFiles(sarifFiles, logger2);
   }
@@ -157018,13 +154194,13 @@ async function uploadPayload(payload, repositoryNwo, logger2, analysis) {
     if (httpError !== void 0) {
       switch (httpError.status) {
         case 403:
-          core14.warning(httpError.message || GENERIC_403_MSG);
+          core15.warning(httpError.message || GENERIC_403_MSG);
           break;
         case 404:
-          core14.warning(httpError.message || GENERIC_404_MSG);
+          core15.warning(httpError.message || GENERIC_404_MSG);
           break;
         default:
-          core14.warning(httpError.message);
+          core15.warning(httpError.message);
           break;
       }
     }
@@ -157462,7 +154638,7 @@ function validateUniqueCategory(sarifLog, sentinelPrefix) {
         `Aborting upload: only one run of the codeql/analyze or codeql/upload-sarif actions is allowed per job per tool/category. The easiest fix is to specify a unique value for the \`category\` input. If .runs[].automationDetails.id is specified in the sarif file, that will take precedence over your configured \`category\`. Category: (${id ? id : "none"}) Tool: (${tool ? tool : "none"})`
       );
     }
-    core14.exportVariable(sentinelEnvVar, sentinelEnvVar);
+    core15.exportVariable(sentinelEnvVar, sentinelEnvVar);
   }
 }
 function sanitize(str) {
@@ -157490,7 +154666,7 @@ function filterAlertsByDiffRange(logger2, sarifLog) {
             return false;
           }
           return diffRanges.some(
-            (range) => range.path === locationUri && (range.startLine <= locationStartLine && range.endLine >= locationStartLine || range.startLine === 0 && range.endLine === 0)
+            (range2) => range2.path === locationUri && (range2.startLine <= locationStartLine && range2.endLine >= locationStartLine || range2.startLine === 0 && range2.endLine === 0)
           );
         });
       });
@@ -157593,7 +154769,7 @@ function doesGoExtractionOutputExist(config) {
       ".trap.tar.gz",
       ".trap.tar.br",
       ".trap.tar"
-    ].some((ext) => fileName.endsWith(ext))
+    ].some((ext2) => fileName.endsWith(ext2))
   );
 }
 async function runAutobuildIfLegacyGoWorkflow(config, logger2) {
@@ -157632,7 +154808,7 @@ async function runAutobuildIfLegacyGoWorkflow(config, logger2) {
   );
   await runAutobuild(config, "go" /* go */, logger2);
 }
-async function run(startedAt) {
+async function run({ startedAt, logger: logger2 }) {
   let uploadResults = void 0;
   let runStats = void 0;
   let config = void 0;
@@ -157642,7 +154818,6 @@ async function run(startedAt) {
   let didUploadTrapCaches = false;
   let dependencyCacheResults;
   let databaseUploadResults = [];
-  const logger2 = getActionsLogger();
   try {
     initializeEnvironment(getActionVersion());
     persistInputs();
@@ -157681,7 +154856,7 @@ async function run(startedAt) {
     }
     const apiDetails = getApiDetails();
     const outputDir = getRequiredInput("output");
-    core15.exportVariable("CODEQL_ACTION_SARIF_RESULTS_OUTPUT_DIR" /* SARIF_RESULTS_OUTPUT_DIR */, outputDir);
+    core16.exportVariable("CODEQL_ACTION_SARIF_RESULTS_OUTPUT_DIR" /* SARIF_RESULTS_OUTPUT_DIR */, outputDir);
     const threads = getThreadsFlag(
       getOptionalInput("threads") || process.env["CODEQL_THREADS"],
       logger2
@@ -157733,8 +154908,8 @@ async function run(startedAt) {
     for (const language of config.languages) {
       dbLocations[language] = getCodeQLDatabasePath(config, language);
     }
-    core15.setOutput("db-locations", dbLocations);
-    core15.setOutput("sarif-output", import_path4.default.resolve(outputDir));
+    core16.setOutput("db-locations", dbLocations);
+    core16.setOutput("sarif-output", import_path4.default.resolve(outputDir));
     const uploadKind = getUploadValue(
       getOptionalInput("upload")
     );
@@ -157751,13 +154926,13 @@ async function run(startedAt) {
         getOptionalInput("post-processed-sarif-path")
       );
       if (uploadResults["code-scanning" /* CodeScanning */] !== void 0) {
-        core15.setOutput(
+        core16.setOutput(
           "sarif-id",
           uploadResults["code-scanning" /* CodeScanning */].sarifID
         );
       }
       if (uploadResults["code-quality" /* CodeQuality */] !== void 0) {
-        core15.setOutput(
+        core16.setOutput(
           "quality-sarif-id",
           uploadResults["code-quality" /* CodeQuality */].sarifID
         );
@@ -157800,15 +154975,15 @@ async function run(startedAt) {
       );
     }
     if (getOptionalInput("expect-error") === "true") {
-      core15.setFailed(
+      core16.setFailed(
         `expect-error input was set to true but no error was thrown.`
       );
     }
-    core15.exportVariable("CODEQL_ACTION_ANALYZE_DID_COMPLETE_SUCCESSFULLY" /* ANALYZE_DID_COMPLETE_SUCCESSFULLY */, "true");
+    core16.exportVariable("CODEQL_ACTION_ANALYZE_DID_COMPLETE_SUCCESSFULLY" /* ANALYZE_DID_COMPLETE_SUCCESSFULLY */, "true");
   } catch (unwrappedError) {
     const error3 = wrapError(unwrappedError);
     if (getOptionalInput("expect-error") !== "true" || hasBadExpectErrorInput()) {
-      core15.setFailed(error3.message);
+      core16.setFailed(error3.message);
     }
     await sendStatusReport2(
       startedAt,
@@ -157872,39 +155047,4340 @@ async function run(startedAt) {
     );
   }
 }
+var analyze = {
+  name: "finish" /* Analyze */,
+  run
+};
 async function runWrapper() {
-  const startedAt = /* @__PURE__ */ new Date();
-  const logger2 = getActionsLogger();
-  try {
-    await run(startedAt);
-  } catch (error3) {
-    core15.setFailed(`analyze action failed: ${getErrorMessage(error3)}`);
-    await sendUnhandledErrorStatusReport(
-      "finish" /* Analyze */,
-      startedAt,
-      error3,
-      logger2
-    );
-  }
+  await runInActions(analyze);
   await checkForTimeout();
 }
 
 // src/analyze-action-post.ts
-var fs26 = __toESM(require("fs"));
-var core17 = __toESM(require_core());
+var fs27 = __toESM(require("fs"));
+var core18 = __toESM(require_core());
 
 // src/debug-artifacts.ts
-var fs25 = __toESM(require("fs"));
-var path22 = __toESM(require("path"));
+var fs26 = __toESM(require("fs"));
+var path23 = __toESM(require("path"));
 var artifact = __toESM(require_artifact2());
 var artifactLegacy = __toESM(require_artifact_client2());
-var core16 = __toESM(require_core());
-var import_archiver = __toESM(require_archiver());
+var core17 = __toESM(require_core());
+
+// node_modules/archiver/lib/core.js
+var import_fs2 = require("fs");
+
+// node_modules/is-stream/index.js
+function isStream(stream2, { checkOpen = true } = {}) {
+  return stream2 !== null && typeof stream2 === "object" && (stream2.writable || stream2.readable || !checkOpen || stream2.writable === void 0 && stream2.readable === void 0) && typeof stream2.pipe === "function";
+}
+
+// node_modules/readdir-glob/dist/index.mjs
+var fs24 = __toESM(require("fs"), 1);
+var import_events = require("events");
+
+// node_modules/readdir-glob/node_modules/balanced-match/dist/esm/index.js
+var balanced = (a, b, str) => {
+  const ma = a instanceof RegExp ? maybeMatch(a, str) : a;
+  const mb = b instanceof RegExp ? maybeMatch(b, str) : b;
+  const r = ma !== null && mb != null && range(ma, mb, str);
+  return r && {
+    start: r[0],
+    end: r[1],
+    pre: str.slice(0, r[0]),
+    body: str.slice(r[0] + ma.length, r[1]),
+    post: str.slice(r[1] + mb.length)
+  };
+};
+var maybeMatch = (reg, str) => {
+  const m = str.match(reg);
+  return m ? m[0] : null;
+};
+var range = (a, b, str) => {
+  let begs, beg, left, right = void 0, result;
+  let ai = str.indexOf(a);
+  let bi = str.indexOf(b, ai + 1);
+  let i = ai;
+  if (ai >= 0 && bi > 0) {
+    if (a === b) {
+      return [ai, bi];
+    }
+    begs = [];
+    left = str.length;
+    while (i >= 0 && !result) {
+      if (i === ai) {
+        begs.push(i);
+        ai = str.indexOf(a, i + 1);
+      } else if (begs.length === 1) {
+        const r = begs.pop();
+        if (r !== void 0)
+          result = [r, bi];
+      } else {
+        beg = begs.pop();
+        if (beg !== void 0 && beg < left) {
+          left = beg;
+          right = bi;
+        }
+        bi = str.indexOf(b, i + 1);
+      }
+      i = ai < bi && ai >= 0 ? ai : bi;
+    }
+    if (begs.length && right !== void 0) {
+      result = [left, right];
+    }
+  }
+  return result;
+};
+
+// node_modules/readdir-glob/node_modules/brace-expansion/dist/esm/index.js
+var escSlash = "\0SLASH" + Math.random() + "\0";
+var escOpen = "\0OPEN" + Math.random() + "\0";
+var escClose = "\0CLOSE" + Math.random() + "\0";
+var escComma = "\0COMMA" + Math.random() + "\0";
+var escPeriod = "\0PERIOD" + Math.random() + "\0";
+var escSlashPattern = new RegExp(escSlash, "g");
+var escOpenPattern = new RegExp(escOpen, "g");
+var escClosePattern = new RegExp(escClose, "g");
+var escCommaPattern = new RegExp(escComma, "g");
+var escPeriodPattern = new RegExp(escPeriod, "g");
+var slashPattern = /\\\\/g;
+var openPattern = /\\{/g;
+var closePattern = /\\}/g;
+var commaPattern = /\\,/g;
+var periodPattern = /\\\./g;
+var EXPANSION_MAX = 1e5;
+function numeric(str) {
+  return !isNaN(str) ? parseInt(str, 10) : str.charCodeAt(0);
+}
+function escapeBraces(str) {
+  return str.replace(slashPattern, escSlash).replace(openPattern, escOpen).replace(closePattern, escClose).replace(commaPattern, escComma).replace(periodPattern, escPeriod);
+}
+function unescapeBraces(str) {
+  return str.replace(escSlashPattern, "\\").replace(escOpenPattern, "{").replace(escClosePattern, "}").replace(escCommaPattern, ",").replace(escPeriodPattern, ".");
+}
+function parseCommaParts(str) {
+  if (!str) {
+    return [""];
+  }
+  const parts = [];
+  const m = balanced("{", "}", str);
+  if (!m) {
+    return str.split(",");
+  }
+  const { pre, body, post } = m;
+  const p = pre.split(",");
+  p[p.length - 1] += "{" + body + "}";
+  const postParts = parseCommaParts(post);
+  if (post.length) {
+    ;
+    p[p.length - 1] += postParts.shift();
+    p.push.apply(p, postParts);
+  }
+  parts.push.apply(parts, p);
+  return parts;
+}
+function expand2(str, options = {}) {
+  if (!str) {
+    return [];
+  }
+  const { max = EXPANSION_MAX } = options;
+  if (str.slice(0, 2) === "{}") {
+    str = "\\{\\}" + str.slice(2);
+  }
+  return expand_(escapeBraces(str), max, true).map(unescapeBraces);
+}
+function embrace(str) {
+  return "{" + str + "}";
+}
+function isPadded(el) {
+  return /^-?0\d/.test(el);
+}
+function lte(i, y) {
+  return i <= y;
+}
+function gte6(i, y) {
+  return i >= y;
+}
+function expand_(str, max, isTop) {
+  const expansions = [];
+  const m = balanced("{", "}", str);
+  if (!m)
+    return [str];
+  const pre = m.pre;
+  const post = m.post.length ? expand_(m.post, max, false) : [""];
+  if (/\$$/.test(m.pre)) {
+    for (let k = 0; k < post.length && k < max; k++) {
+      const expansion = pre + "{" + m.body + "}" + post[k];
+      expansions.push(expansion);
+    }
+  } else {
+    const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+    const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+    const isSequence = isNumericSequence || isAlphaSequence;
+    const isOptions = m.body.indexOf(",") >= 0;
+    if (!isSequence && !isOptions) {
+      if (m.post.match(/,(?!,).*\}/)) {
+        str = m.pre + "{" + m.body + escClose + m.post;
+        return expand_(str, max, true);
+      }
+      return [str];
+    }
+    let n;
+    if (isSequence) {
+      n = m.body.split(/\.\./);
+    } else {
+      n = parseCommaParts(m.body);
+      if (n.length === 1 && n[0] !== void 0) {
+        n = expand_(n[0], max, false).map(embrace);
+        if (n.length === 1) {
+          return post.map((p) => m.pre + n[0] + p);
+        }
+      }
+    }
+    let N;
+    if (isSequence && n[0] !== void 0 && n[1] !== void 0) {
+      const x = numeric(n[0]);
+      const y = numeric(n[1]);
+      const width = Math.max(n[0].length, n[1].length);
+      let incr = n.length === 3 && n[2] !== void 0 ? Math.max(Math.abs(numeric(n[2])), 1) : 1;
+      let test = lte;
+      const reverse = y < x;
+      if (reverse) {
+        incr *= -1;
+        test = gte6;
+      }
+      const pad = n.some(isPadded);
+      N = [];
+      for (let i = x; test(i, y) && N.length < max; i += incr) {
+        let c;
+        if (isAlphaSequence) {
+          c = String.fromCharCode(i);
+          if (c === "\\") {
+            c = "";
+          }
+        } else {
+          c = String(i);
+          if (pad) {
+            const need = width - c.length;
+            if (need > 0) {
+              const z = new Array(need + 1).join("0");
+              if (i < 0) {
+                c = "-" + z + c.slice(1);
+              } else {
+                c = z + c;
+              }
+            }
+          }
+        }
+        N.push(c);
+      }
+    } else {
+      N = [];
+      for (let j = 0; j < n.length; j++) {
+        N.push.apply(N, expand_(n[j], max, false));
+      }
+    }
+    for (let j = 0; j < N.length; j++) {
+      for (let k = 0; k < post.length && expansions.length < max; k++) {
+        const expansion = pre + N[j] + post[k];
+        if (!isTop || isSequence || expansion) {
+          expansions.push(expansion);
+        }
+      }
+    }
+  }
+  return expansions;
+}
+
+// node_modules/readdir-glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js
+var MAX_PATTERN_LENGTH = 1024 * 64;
+var assertValidPattern = (pattern) => {
+  if (typeof pattern !== "string") {
+    throw new TypeError("invalid pattern");
+  }
+  if (pattern.length > MAX_PATTERN_LENGTH) {
+    throw new TypeError("pattern is too long");
+  }
+};
+
+// node_modules/readdir-glob/node_modules/minimatch/dist/esm/brace-expressions.js
+var posixClasses = {
+  "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
+  "[:alpha:]": ["\\p{L}\\p{Nl}", true],
+  "[:ascii:]": ["\\x00-\\x7f", false],
+  "[:blank:]": ["\\p{Zs}\\t", true],
+  "[:cntrl:]": ["\\p{Cc}", true],
+  "[:digit:]": ["\\p{Nd}", true],
+  "[:graph:]": ["\\p{Z}\\p{C}", true, true],
+  "[:lower:]": ["\\p{Ll}", true],
+  "[:print:]": ["\\p{C}", true],
+  "[:punct:]": ["\\p{P}", true],
+  "[:space:]": ["\\p{Z}\\t\\r\\n\\v\\f", true],
+  "[:upper:]": ["\\p{Lu}", true],
+  "[:word:]": ["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}", true],
+  "[:xdigit:]": ["A-Fa-f0-9", false]
+};
+var braceEscape = (s) => s.replace(/[[\]\\-]/g, "\\$&");
+var regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+var rangesToString = (ranges) => ranges.join("");
+var parseClass = (glob2, position) => {
+  const pos = position;
+  if (glob2.charAt(pos) !== "[") {
+    throw new Error("not in a brace expression");
+  }
+  const ranges = [];
+  const negs = [];
+  let i = pos + 1;
+  let sawStart = false;
+  let uflag = false;
+  let escaping = false;
+  let negate2 = false;
+  let endPos = pos;
+  let rangeStart = "";
+  WHILE: while (i < glob2.length) {
+    const c = glob2.charAt(i);
+    if ((c === "!" || c === "^") && i === pos + 1) {
+      negate2 = true;
+      i++;
+      continue;
+    }
+    if (c === "]" && sawStart && !escaping) {
+      endPos = i + 1;
+      break;
+    }
+    sawStart = true;
+    if (c === "\\") {
+      if (!escaping) {
+        escaping = true;
+        i++;
+        continue;
+      }
+    }
+    if (c === "[" && !escaping) {
+      for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
+        if (glob2.startsWith(cls, i)) {
+          if (rangeStart) {
+            return ["$.", false, glob2.length - pos, true];
+          }
+          i += cls.length;
+          if (neg)
+            negs.push(unip);
+          else
+            ranges.push(unip);
+          uflag = uflag || u;
+          continue WHILE;
+        }
+      }
+    }
+    escaping = false;
+    if (rangeStart) {
+      if (c > rangeStart) {
+        ranges.push(braceEscape(rangeStart) + "-" + braceEscape(c));
+      } else if (c === rangeStart) {
+        ranges.push(braceEscape(c));
+      }
+      rangeStart = "";
+      i++;
+      continue;
+    }
+    if (glob2.startsWith("-]", i + 1)) {
+      ranges.push(braceEscape(c + "-"));
+      i += 2;
+      continue;
+    }
+    if (glob2.startsWith("-", i + 1)) {
+      rangeStart = c;
+      i += 2;
+      continue;
+    }
+    ranges.push(braceEscape(c));
+    i++;
+  }
+  if (endPos < i) {
+    return ["", false, 0, false];
+  }
+  if (!ranges.length && !negs.length) {
+    return ["$.", false, glob2.length - pos, true];
+  }
+  if (negs.length === 0 && ranges.length === 1 && /^\\?.$/.test(ranges[0]) && !negate2) {
+    const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
+    return [regexpEscape(r), false, endPos - pos, false];
+  }
+  const sranges = "[" + (negate2 ? "^" : "") + rangesToString(ranges) + "]";
+  const snegs = "[" + (negate2 ? "" : "^") + rangesToString(negs) + "]";
+  const comb = ranges.length && negs.length ? "(" + sranges + "|" + snegs + ")" : ranges.length ? sranges : snegs;
+  return [comb, uflag, endPos - pos, true];
+};
+
+// node_modules/readdir-glob/node_modules/minimatch/dist/esm/unescape.js
+var unescape2 = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
+  if (magicalBraces) {
+    return windowsPathsNoEscape ? s.replace(/\[([^/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^/\\])\]/g, "$1$2").replace(/\\([^/])/g, "$1");
+  }
+  return windowsPathsNoEscape ? s.replace(/\[([^/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^/\\{}])\]/g, "$1$2").replace(/\\([^/{}])/g, "$1");
+};
+
+// node_modules/readdir-glob/node_modules/minimatch/dist/esm/ast.js
+var _a;
+var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
+var isExtglobType = (c) => types.has(c);
+var isExtglobAST = (c) => isExtglobType(c.type);
+var adoptionMap = /* @__PURE__ */ new Map([
+  ["!", ["@"]],
+  ["?", ["?", "@"]],
+  ["@", ["@"]],
+  ["*", ["*", "+", "?", "@"]],
+  ["+", ["+", "@"]]
+]);
+var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
+  ["!", ["?"]],
+  ["@", ["?"]],
+  ["+", ["?", "*"]]
+]);
+var adoptionAnyMap = /* @__PURE__ */ new Map([
+  ["!", ["?", "@"]],
+  ["?", ["?", "@"]],
+  ["@", ["?", "@"]],
+  ["*", ["*", "+", "?", "@"]],
+  ["+", ["+", "@", "?", "*"]]
+]);
+var usurpMap = /* @__PURE__ */ new Map([
+  ["!", /* @__PURE__ */ new Map([["!", "@"]])],
+  [
+    "?",
+    /* @__PURE__ */ new Map([
+      ["*", "*"],
+      ["+", "*"]
+    ])
+  ],
+  [
+    "@",
+    /* @__PURE__ */ new Map([
+      ["!", "!"],
+      ["?", "?"],
+      ["@", "@"],
+      ["*", "*"],
+      ["+", "+"]
+    ])
+  ],
+  [
+    "+",
+    /* @__PURE__ */ new Map([
+      ["?", "*"],
+      ["*", "*"]
+    ])
+  ]
+]);
+var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
+var startNoDot = "(?!\\.)";
+var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
+var justDots = /* @__PURE__ */ new Set(["..", "."]);
+var reSpecials = new Set("().*{}+?[]^$\\!");
+var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+var qmark = "[^/]";
+var star = qmark + "*?";
+var starNoEmpty = qmark + "+?";
+var ID = 0;
+var AST = class {
+  type;
+  #root;
+  #hasMagic;
+  #uflag = false;
+  #parts = [];
+  #parent;
+  #parentIndex;
+  #negs;
+  #filledNegs = false;
+  #options;
+  #toString;
+  // set to true if it's an extglob with no children
+  // (which really means one child of '')
+  #emptyExt = false;
+  id = ++ID;
+  get depth() {
+    return (this.#parent?.depth ?? -1) + 1;
+  }
+  [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
+    return {
+      "@@type": "AST",
+      id: this.id,
+      type: this.type,
+      root: this.#root.id,
+      parent: this.#parent?.id,
+      depth: this.depth,
+      partsLength: this.#parts.length,
+      parts: this.#parts
+    };
+  }
+  constructor(type, parent, options = {}) {
+    this.type = type;
+    if (type)
+      this.#hasMagic = true;
+    this.#parent = parent;
+    this.#root = this.#parent ? this.#parent.#root : this;
+    this.#options = this.#root === this ? options : this.#root.#options;
+    this.#negs = this.#root === this ? [] : this.#root.#negs;
+    if (type === "!" && !this.#root.#filledNegs)
+      this.#negs.push(this);
+    this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
+  }
+  get hasMagic() {
+    if (this.#hasMagic !== void 0)
+      return this.#hasMagic;
+    for (const p of this.#parts) {
+      if (typeof p === "string")
+        continue;
+      if (p.type || p.hasMagic)
+        return this.#hasMagic = true;
+    }
+    return this.#hasMagic;
+  }
+  // reconstructs the pattern
+  toString() {
+    return this.#toString !== void 0 ? this.#toString : !this.type ? this.#toString = this.#parts.map((p) => String(p)).join("") : this.#toString = this.type + "(" + this.#parts.map((p) => String(p)).join("|") + ")";
+  }
+  #fillNegs() {
+    if (this !== this.#root)
+      throw new Error("should only call on root");
+    if (this.#filledNegs)
+      return this;
+    this.toString();
+    this.#filledNegs = true;
+    let n;
+    while (n = this.#negs.pop()) {
+      if (n.type !== "!")
+        continue;
+      let p = n;
+      let pp = p.#parent;
+      while (pp) {
+        for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
+          for (const part of n.#parts) {
+            if (typeof part === "string") {
+              throw new Error("string part in extglob AST??");
+            }
+            part.copyIn(pp.#parts[i]);
+          }
+        }
+        p = pp;
+        pp = p.#parent;
+      }
+    }
+    return this;
+  }
+  push(...parts) {
+    for (const p of parts) {
+      if (p === "")
+        continue;
+      if (typeof p !== "string" && !(p instanceof _a && p.#parent === this)) {
+        throw new Error("invalid part: " + p);
+      }
+      this.#parts.push(p);
+    }
+  }
+  toJSON() {
+    const ret = this.type === null ? this.#parts.slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...this.#parts.map((p) => p.toJSON())];
+    if (this.isStart() && !this.type)
+      ret.unshift([]);
+    if (this.isEnd() && (this === this.#root || this.#root.#filledNegs && this.#parent?.type === "!")) {
+      ret.push({});
+    }
+    return ret;
+  }
+  isStart() {
+    if (this.#root === this)
+      return true;
+    if (!this.#parent?.isStart())
+      return false;
+    if (this.#parentIndex === 0)
+      return true;
+    const p = this.#parent;
+    for (let i = 0; i < this.#parentIndex; i++) {
+      const pp = p.#parts[i];
+      if (!(pp instanceof _a && pp.type === "!")) {
+        return false;
+      }
+    }
+    return true;
+  }
+  isEnd() {
+    if (this.#root === this)
+      return true;
+    if (this.#parent?.type === "!")
+      return true;
+    if (!this.#parent?.isEnd())
+      return false;
+    if (!this.type)
+      return this.#parent?.isEnd();
+    const pl = this.#parent ? this.#parent.#parts.length : 0;
+    return this.#parentIndex === pl - 1;
+  }
+  copyIn(part) {
+    if (typeof part === "string")
+      this.push(part);
+    else
+      this.push(part.clone(this));
+  }
+  clone(parent) {
+    const c = new _a(this.type, parent);
+    for (const p of this.#parts) {
+      c.copyIn(p);
+    }
+    return c;
+  }
+  static #parseAST(str, ast, pos, opt, extDepth) {
+    const maxDepth = opt.maxExtglobRecursion ?? 2;
+    let escaping = false;
+    let inBrace = false;
+    let braceStart = -1;
+    let braceNeg = false;
+    if (ast.type === null) {
+      let i2 = pos;
+      let acc2 = "";
+      while (i2 < str.length) {
+        const c = str.charAt(i2++);
+        if (escaping || c === "\\") {
+          escaping = !escaping;
+          acc2 += c;
+          continue;
+        }
+        if (inBrace) {
+          if (i2 === braceStart + 1) {
+            if (c === "^" || c === "!") {
+              braceNeg = true;
+            }
+          } else if (c === "]" && !(i2 === braceStart + 2 && braceNeg)) {
+            inBrace = false;
+          }
+          acc2 += c;
+          continue;
+        } else if (c === "[") {
+          inBrace = true;
+          braceStart = i2;
+          braceNeg = false;
+          acc2 += c;
+          continue;
+        }
+        const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i2) === "(" && extDepth <= maxDepth;
+        if (doRecurse) {
+          ast.push(acc2);
+          acc2 = "";
+          const ext2 = new _a(c, ast);
+          i2 = _a.#parseAST(str, ext2, i2, opt, extDepth + 1);
+          ast.push(ext2);
+          continue;
+        }
+        acc2 += c;
+      }
+      ast.push(acc2);
+      return i2;
+    }
+    let i = pos + 1;
+    let part = new _a(null, ast);
+    const parts = [];
+    let acc = "";
+    while (i < str.length) {
+      const c = str.charAt(i++);
+      if (escaping || c === "\\") {
+        escaping = !escaping;
+        acc += c;
+        continue;
+      }
+      if (inBrace) {
+        if (i === braceStart + 1) {
+          if (c === "^" || c === "!") {
+            braceNeg = true;
+          }
+        } else if (c === "]" && !(i === braceStart + 2 && braceNeg)) {
+          inBrace = false;
+        }
+        acc += c;
+        continue;
+      } else if (c === "[") {
+        inBrace = true;
+        braceStart = i;
+        braceNeg = false;
+        acc += c;
+        continue;
+      }
+      const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
+      (extDepth <= maxDepth || ast && ast.#canAdoptType(c));
+      if (doRecurse) {
+        const depthAdd = ast && ast.#canAdoptType(c) ? 0 : 1;
+        part.push(acc);
+        acc = "";
+        const ext2 = new _a(c, part);
+        part.push(ext2);
+        i = _a.#parseAST(str, ext2, i, opt, extDepth + depthAdd);
+        continue;
+      }
+      if (c === "|") {
+        part.push(acc);
+        acc = "";
+        parts.push(part);
+        part = new _a(null, ast);
+        continue;
+      }
+      if (c === ")") {
+        if (acc === "" && ast.#parts.length === 0) {
+          ast.#emptyExt = true;
+        }
+        part.push(acc);
+        acc = "";
+        ast.push(...parts, part);
+        return i;
+      }
+      acc += c;
+    }
+    ast.type = null;
+    ast.#hasMagic = void 0;
+    ast.#parts = [str.substring(pos - 1)];
+    return i;
+  }
+  #canAdoptWithSpace(child) {
+    return this.#canAdopt(child, adoptionWithSpaceMap);
+  }
+  #canAdopt(child, map = adoptionMap) {
+    if (!child || typeof child !== "object" || child.type !== null || child.#parts.length !== 1 || this.type === null) {
+      return false;
+    }
+    const gc = child.#parts[0];
+    if (!gc || typeof gc !== "object" || gc.type === null) {
+      return false;
+    }
+    return this.#canAdoptType(gc.type, map);
+  }
+  #canAdoptType(c, map = adoptionAnyMap) {
+    return !!map.get(this.type)?.includes(c);
+  }
+  #adoptWithSpace(child, index2) {
+    const gc = child.#parts[0];
+    const blank = new _a(null, gc, this.options);
+    blank.#parts.push("");
+    gc.push(blank);
+    this.#adopt(child, index2);
+  }
+  #adopt(child, index2) {
+    const gc = child.#parts[0];
+    this.#parts.splice(index2, 1, ...gc.#parts);
+    for (const p of gc.#parts) {
+      if (typeof p === "object")
+        p.#parent = this;
+    }
+    this.#toString = void 0;
+  }
+  #canUsurpType(c) {
+    const m = usurpMap.get(this.type);
+    return !!m?.has(c);
+  }
+  #canUsurp(child) {
+    if (!child || typeof child !== "object" || child.type !== null || child.#parts.length !== 1 || this.type === null || this.#parts.length !== 1) {
+      return false;
+    }
+    const gc = child.#parts[0];
+    if (!gc || typeof gc !== "object" || gc.type === null) {
+      return false;
+    }
+    return this.#canUsurpType(gc.type);
+  }
+  #usurp(child) {
+    const m = usurpMap.get(this.type);
+    const gc = child.#parts[0];
+    const nt = m?.get(gc.type);
+    if (!nt)
+      return false;
+    this.#parts = gc.#parts;
+    for (const p of this.#parts) {
+      if (typeof p === "object") {
+        p.#parent = this;
+      }
+    }
+    this.type = nt;
+    this.#toString = void 0;
+    this.#emptyExt = false;
+  }
+  static fromGlob(pattern, options = {}) {
+    const ast = new _a(null, void 0, options);
+    _a.#parseAST(pattern, ast, 0, options, 0);
+    return ast;
+  }
+  // returns the regular expression if there's magic, or the unescaped
+  // string if not.
+  toMMPattern() {
+    if (this !== this.#root)
+      return this.#root.toMMPattern();
+    const glob2 = this.toString();
+    const [re, body, hasMagic, uflag] = this.toRegExpSource();
+    const anyMagic = hasMagic || this.#hasMagic || this.#options.nocase && !this.#options.nocaseMagicOnly && glob2.toUpperCase() !== glob2.toLowerCase();
+    if (!anyMagic) {
+      return body;
+    }
+    const flags = (this.#options.nocase ? "i" : "") + (uflag ? "u" : "");
+    return Object.assign(new RegExp(`^${re}$`, flags), {
+      _src: re,
+      _glob: glob2
+    });
+  }
+  get options() {
+    return this.#options;
+  }
+  // returns the string match, the regexp source, whether there's magic
+  // in the regexp (so a regular expression is required) and whether or
+  // not the uflag is needed for the regular expression (for posix classes)
+  // TODO: instead of injecting the start/end at this point, just return
+  // the BODY of the regexp, along with the start/end portions suitable
+  // for binding the start/end in either a joined full-path makeRe context
+  // (where we bind to (^|/), or a standalone matchPart context (where
+  // we bind to ^, and not /).  Otherwise slashes get duped!
+  //
+  // In part-matching mode, the start is:
+  // - if not isStart: nothing
+  // - if traversal possible, but not allowed: ^(?!\.\.?$)
+  // - if dots allowed or not possible: ^
+  // - if dots possible and not allowed: ^(?!\.)
+  // end is:
+  // - if not isEnd(): nothing
+  // - else: $
+  //
+  // In full-path matching mode, we put the slash at the START of the
+  // pattern, so start is:
+  // - if first pattern: same as part-matching mode
+  // - if not isStart(): nothing
+  // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
+  // - if dots allowed or not possible: /
+  // - if dots possible and not allowed: /(?!\.)
+  // end is:
+  // - if last pattern, same as part-matching mode
+  // - else nothing
+  //
+  // Always put the (?:$|/) on negated tails, though, because that has to be
+  // there to bind the end of the negated pattern portion, and it's easier to
+  // just stick it in now rather than try to inject it later in the middle of
+  // the pattern.
+  //
+  // We can just always return the same end, and leave it up to the caller
+  // to know whether it's going to be used joined or in parts.
+  // And, if the start is adjusted slightly, can do the same there:
+  // - if not isStart: nothing
+  // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
+  // - if dots allowed or not possible: (?:/|^)
+  // - if dots possible and not allowed: (?:/|^)(?!\.)
+  //
+  // But it's better to have a simpler binding without a conditional, for
+  // performance, so probably better to return both start options.
+  //
+  // Then the caller just ignores the end if it's not the first pattern,
+  // and the start always gets applied.
+  //
+  // But that's always going to be $ if it's the ending pattern, or nothing,
+  // so the caller can just attach $ at the end of the pattern when building.
+  //
+  // So the todo is:
+  // - better detect what kind of start is needed
+  // - return both flavors of starting pattern
+  // - attach $ at the end of the pattern when creating the actual RegExp
+  //
+  // Ah, but wait, no, that all only applies to the root when the first pattern
+  // is not an extglob. If the first pattern IS an extglob, then we need all
+  // that dot prevention biz to live in the extglob portions, because eg
+  // +(*|.x*) can match .xy but not .yx.
+  //
+  // So, return the two flavors if it's #root and the first child is not an
+  // AST, otherwise leave it to the child AST to handle it, and there,
+  // use the (?:^|/) style of start binding.
+  //
+  // Even simplified further:
+  // - Since the start for a join is eg /(?!\.) and the start for a part
+  // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
+  // or start or whatever) and prepend ^ or / at the Regexp construction.
+  toRegExpSource(allowDot) {
+    const dot = allowDot ?? !!this.#options.dot;
+    if (this.#root === this) {
+      this.#flatten();
+      this.#fillNegs();
+    }
+    if (!isExtglobAST(this)) {
+      const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
+      const src = this.#parts.map((p) => {
+        const [re, _2, hasMagic, uflag] = typeof p === "string" ? _a.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
+        this.#hasMagic = this.#hasMagic || hasMagic;
+        this.#uflag = this.#uflag || uflag;
+        return re;
+      }).join("");
+      let start2 = "";
+      if (this.isStart()) {
+        if (typeof this.#parts[0] === "string") {
+          const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
+          if (!dotTravAllowed) {
+            const aps = addPatternStart;
+            const needNoTrav = (
+              // dots are allowed, and the pattern starts with [ or .
+              dot && aps.has(src.charAt(0)) || // the pattern starts with \., and then [ or .
+              src.startsWith("\\.") && aps.has(src.charAt(2)) || // the pattern starts with \.\., and then [ or .
+              src.startsWith("\\.\\.") && aps.has(src.charAt(4))
+            );
+            const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
+            start2 = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : "";
+          }
+        }
+      }
+      let end = "";
+      if (this.isEnd() && this.#root.#filledNegs && this.#parent?.type === "!") {
+        end = "(?:$|\\/)";
+      }
+      const final2 = start2 + src + end;
+      return [
+        final2,
+        unescape2(src),
+        this.#hasMagic = !!this.#hasMagic,
+        this.#uflag
+      ];
+    }
+    const repeated = this.type === "*" || this.type === "+";
+    const start = this.type === "!" ? "(?:(?!(?:" : "(?:";
+    let body = this.#partsToRegExp(dot);
+    if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
+      const s = this.toString();
+      const me = this;
+      me.#parts = [s];
+      me.type = null;
+      me.#hasMagic = void 0;
+      return [s, unescape2(this.toString()), false, false];
+    }
+    let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : this.#partsToRegExp(true);
+    if (bodyDotAllowed === body) {
+      bodyDotAllowed = "";
+    }
+    if (bodyDotAllowed) {
+      body = `(?:${body})(?:${bodyDotAllowed})*?`;
+    }
+    let final = "";
+    if (this.type === "!" && this.#emptyExt) {
+      final = (this.isStart() && !dot ? startNoDot : "") + starNoEmpty;
+    } else {
+      const close = this.type === "!" ? (
+        // !() must match something,but !(x) can match ''
+        "))" + (this.isStart() && !dot && !allowDot ? startNoDot : "") + star + ")"
+      ) : this.type === "@" ? ")" : this.type === "?" ? ")?" : this.type === "+" && bodyDotAllowed ? ")" : this.type === "*" && bodyDotAllowed ? `)?` : `)${this.type}`;
+      final = start + body + close;
+    }
+    return [
+      final,
+      unescape2(body),
+      this.#hasMagic = !!this.#hasMagic,
+      this.#uflag
+    ];
+  }
+  #flatten() {
+    if (!isExtglobAST(this)) {
+      for (const p of this.#parts) {
+        if (typeof p === "object") {
+          p.#flatten();
+        }
+      }
+    } else {
+      let iterations = 0;
+      let done = false;
+      do {
+        done = true;
+        for (let i = 0; i < this.#parts.length; i++) {
+          const c = this.#parts[i];
+          if (typeof c === "object") {
+            c.#flatten();
+            if (this.#canAdopt(c)) {
+              done = false;
+              this.#adopt(c, i);
+            } else if (this.#canAdoptWithSpace(c)) {
+              done = false;
+              this.#adoptWithSpace(c, i);
+            } else if (this.#canUsurp(c)) {
+              done = false;
+              this.#usurp(c);
+            }
+          }
+        }
+      } while (!done && ++iterations < 10);
+    }
+    this.#toString = void 0;
+  }
+  #partsToRegExp(dot) {
+    return this.#parts.map((p) => {
+      if (typeof p === "string") {
+        throw new Error("string type in extglob ast??");
+      }
+      const [re, _2, _hasMagic, uflag] = p.toRegExpSource(dot);
+      this.#uflag = this.#uflag || uflag;
+      return re;
+    }).filter((p) => !(this.isStart() && this.isEnd()) || !!p).join("|");
+  }
+  static #parseGlob(glob2, hasMagic, noEmpty = false) {
+    let escaping = false;
+    let re = "";
+    let uflag = false;
+    let inStar = false;
+    for (let i = 0; i < glob2.length; i++) {
+      const c = glob2.charAt(i);
+      if (escaping) {
+        escaping = false;
+        re += (reSpecials.has(c) ? "\\" : "") + c;
+        continue;
+      }
+      if (c === "*") {
+        if (inStar)
+          continue;
+        inStar = true;
+        re += noEmpty && /^[*]+$/.test(glob2) ? starNoEmpty : star;
+        hasMagic = true;
+        continue;
+      } else {
+        inStar = false;
+      }
+      if (c === "\\") {
+        if (i === glob2.length - 1) {
+          re += "\\\\";
+        } else {
+          escaping = true;
+        }
+        continue;
+      }
+      if (c === "[") {
+        const [src, needUflag, consumed, magic] = parseClass(glob2, i);
+        if (consumed) {
+          re += src;
+          uflag = uflag || needUflag;
+          i += consumed - 1;
+          hasMagic = hasMagic || magic;
+          continue;
+        }
+      }
+      if (c === "?") {
+        re += qmark;
+        hasMagic = true;
+        continue;
+      }
+      re += regExpEscape(c);
+    }
+    return [re, unescape2(glob2), !!hasMagic, uflag];
+  }
+};
+_a = AST;
+
+// node_modules/readdir-glob/node_modules/minimatch/dist/esm/escape.js
+var escape2 = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
+  if (magicalBraces) {
+    return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
+  }
+  return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
+};
+
+// node_modules/readdir-glob/node_modules/minimatch/dist/esm/index.js
+var minimatch = (p, pattern, options = {}) => {
+  assertValidPattern(pattern);
+  if (!options.nocomment && pattern.charAt(0) === "#") {
+    return false;
+  }
+  return new Minimatch(pattern, options).match(p);
+};
+var starDotExtRE = /^\*+([^+@!?*[(]*)$/;
+var starDotExtTest = (ext2) => (f) => !f.startsWith(".") && f.endsWith(ext2);
+var starDotExtTestDot = (ext2) => (f) => f.endsWith(ext2);
+var starDotExtTestNocase = (ext2) => {
+  ext2 = ext2.toLowerCase();
+  return (f) => !f.startsWith(".") && f.toLowerCase().endsWith(ext2);
+};
+var starDotExtTestNocaseDot = (ext2) => {
+  ext2 = ext2.toLowerCase();
+  return (f) => f.toLowerCase().endsWith(ext2);
+};
+var starDotStarRE = /^\*+\.\*+$/;
+var starDotStarTest = (f) => !f.startsWith(".") && f.includes(".");
+var starDotStarTestDot = (f) => f !== "." && f !== ".." && f.includes(".");
+var dotStarRE = /^\.\*+$/;
+var dotStarTest = (f) => f !== "." && f !== ".." && f.startsWith(".");
+var starRE = /^\*+$/;
+var starTest = (f) => f.length !== 0 && !f.startsWith(".");
+var starTestDot = (f) => f.length !== 0 && f !== "." && f !== "..";
+var qmarksRE = /^\?+([^+@!?*[(]*)?$/;
+var qmarksTestNocase = ([$0, ext2 = ""]) => {
+  const noext = qmarksTestNoExt([$0]);
+  if (!ext2)
+    return noext;
+  ext2 = ext2.toLowerCase();
+  return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+};
+var qmarksTestNocaseDot = ([$0, ext2 = ""]) => {
+  const noext = qmarksTestNoExtDot([$0]);
+  if (!ext2)
+    return noext;
+  ext2 = ext2.toLowerCase();
+  return (f) => noext(f) && f.toLowerCase().endsWith(ext2);
+};
+var qmarksTestDot = ([$0, ext2 = ""]) => {
+  const noext = qmarksTestNoExtDot([$0]);
+  return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+};
+var qmarksTest = ([$0, ext2 = ""]) => {
+  const noext = qmarksTestNoExt([$0]);
+  return !ext2 ? noext : (f) => noext(f) && f.endsWith(ext2);
+};
+var qmarksTestNoExt = ([$0]) => {
+  const len = $0.length;
+  return (f) => f.length === len && !f.startsWith(".");
+};
+var qmarksTestNoExtDot = ([$0]) => {
+  const len = $0.length;
+  return (f) => f.length === len && f !== "." && f !== "..";
+};
+var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
+var path21 = {
+  win32: { sep: "\\" },
+  posix: { sep: "/" }
+};
+var sep6 = defaultPlatform === "win32" ? path21.win32.sep : path21.posix.sep;
+minimatch.sep = sep6;
+var GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
+minimatch.GLOBSTAR = GLOBSTAR;
+var qmark2 = "[^/]";
+var star2 = qmark2 + "*?";
+var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
+var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
+var filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);
+minimatch.filter = filter;
+var ext = (a, b = {}) => Object.assign({}, a, b);
+var defaults = (def) => {
+  if (!def || typeof def !== "object" || !Object.keys(def).length) {
+    return minimatch;
+  }
+  const orig = minimatch;
+  const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
+  return Object.assign(m, {
+    Minimatch: class Minimatch extends orig.Minimatch {
+      constructor(pattern, options = {}) {
+        super(pattern, ext(def, options));
+      }
+      static defaults(options) {
+        return orig.defaults(ext(def, options)).Minimatch;
+      }
+    },
+    AST: class AST extends orig.AST {
+      /* c8 ignore start */
+      constructor(type, parent, options = {}) {
+        super(type, parent, ext(def, options));
+      }
+      /* c8 ignore stop */
+      static fromGlob(pattern, options = {}) {
+        return orig.AST.fromGlob(pattern, ext(def, options));
+      }
+    },
+    unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
+    escape: (s, options = {}) => orig.escape(s, ext(def, options)),
+    filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
+    defaults: (options) => orig.defaults(ext(def, options)),
+    makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
+    braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
+    match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
+    sep: orig.sep,
+    GLOBSTAR
+  });
+};
+minimatch.defaults = defaults;
+var braceExpand = (pattern, options = {}) => {
+  assertValidPattern(pattern);
+  if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
+    return [pattern];
+  }
+  return expand2(pattern, { max: options.braceExpandMax });
+};
+minimatch.braceExpand = braceExpand;
+var makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
+minimatch.makeRe = makeRe;
+var match = (list, pattern, options = {}) => {
+  const mm = new Minimatch(pattern, options);
+  list = list.filter((f) => mm.match(f));
+  if (mm.options.nonull && !list.length) {
+    list.push(pattern);
+  }
+  return list;
+};
+minimatch.match = match;
+var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
+var regExpEscape2 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+var Minimatch = class {
+  options;
+  set;
+  pattern;
+  windowsPathsNoEscape;
+  nonegate;
+  negate;
+  comment;
+  empty;
+  preserveMultipleSlashes;
+  partial;
+  globSet;
+  globParts;
+  nocase;
+  isWindows;
+  platform;
+  windowsNoMagicRoot;
+  maxGlobstarRecursion;
+  regexp;
+  constructor(pattern, options = {}) {
+    assertValidPattern(pattern);
+    options = options || {};
+    this.options = options;
+    this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;
+    this.pattern = pattern;
+    this.platform = options.platform || defaultPlatform;
+    this.isWindows = this.platform === "win32";
+    const awe = "allowWindowsEscape";
+    this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options[awe] === false;
+    if (this.windowsPathsNoEscape) {
+      this.pattern = this.pattern.replace(/\\/g, "/");
+    }
+    this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
+    this.regexp = null;
+    this.negate = false;
+    this.nonegate = !!options.nonegate;
+    this.comment = false;
+    this.empty = false;
+    this.partial = !!options.partial;
+    this.nocase = !!this.options.nocase;
+    this.windowsNoMagicRoot = options.windowsNoMagicRoot !== void 0 ? options.windowsNoMagicRoot : !!(this.isWindows && this.nocase);
+    this.globSet = [];
+    this.globParts = [];
+    this.set = [];
+    this.make();
+  }
+  hasMagic() {
+    if (this.options.magicalBraces && this.set.length > 1) {
+      return true;
+    }
+    for (const pattern of this.set) {
+      for (const part of pattern) {
+        if (typeof part !== "string")
+          return true;
+      }
+    }
+    return false;
+  }
+  debug(..._2) {
+  }
+  make() {
+    const pattern = this.pattern;
+    const options = this.options;
+    if (!options.nocomment && pattern.charAt(0) === "#") {
+      this.comment = true;
+      return;
+    }
+    if (!pattern) {
+      this.empty = true;
+      return;
+    }
+    this.parseNegate();
+    this.globSet = [...new Set(this.braceExpand())];
+    if (options.debug) {
+      this.debug = (...args) => console.error(...args);
+    }
+    this.debug(this.pattern, this.globSet);
+    const rawGlobParts = this.globSet.map((s) => this.slashSplit(s));
+    this.globParts = this.preprocess(rawGlobParts);
+    this.debug(this.pattern, this.globParts);
+    let set = this.globParts.map((s, _2, __) => {
+      if (this.isWindows && this.windowsNoMagicRoot) {
+        const isUNC = s[0] === "" && s[1] === "" && (s[2] === "?" || !globMagic.test(s[2])) && !globMagic.test(s[3]);
+        const isDrive = /^[a-z]:/i.test(s[0]);
+        if (isUNC) {
+          return [
+            ...s.slice(0, 4),
+            ...s.slice(4).map((ss) => this.parse(ss))
+          ];
+        } else if (isDrive) {
+          return [s[0], ...s.slice(1).map((ss) => this.parse(ss))];
+        }
+      }
+      return s.map((ss) => this.parse(ss));
+    });
+    this.debug(this.pattern, set);
+    this.set = set.filter((s) => s.indexOf(false) === -1);
+    if (this.isWindows) {
+      for (let i = 0; i < this.set.length; i++) {
+        const p = this.set[i];
+        if (p[0] === "" && p[1] === "" && this.globParts[i][2] === "?" && typeof p[3] === "string" && /^[a-z]:$/i.test(p[3])) {
+          p[2] = "?";
+        }
+      }
+    }
+    this.debug(this.pattern, this.set);
+  }
+  // various transforms to equivalent pattern sets that are
+  // faster to process in a filesystem walk.  The goal is to
+  // eliminate what we can, and push all ** patterns as far
+  // to the right as possible, even if it increases the number
+  // of patterns that we have to process.
+  preprocess(globParts) {
+    if (this.options.noglobstar) {
+      for (const partset of globParts) {
+        for (let j = 0; j < partset.length; j++) {
+          if (partset[j] === "**") {
+            partset[j] = "*";
+          }
+        }
+      }
+    }
+    const { optimizationLevel = 1 } = this.options;
+    if (optimizationLevel >= 2) {
+      globParts = this.firstPhasePreProcess(globParts);
+      globParts = this.secondPhasePreProcess(globParts);
+    } else if (optimizationLevel >= 1) {
+      globParts = this.levelOneOptimize(globParts);
+    } else {
+      globParts = this.adjascentGlobstarOptimize(globParts);
+    }
+    return globParts;
+  }
+  // just get rid of adjascent ** portions
+  adjascentGlobstarOptimize(globParts) {
+    return globParts.map((parts) => {
+      let gs = -1;
+      while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+        let i = gs;
+        while (parts[i + 1] === "**") {
+          i++;
+        }
+        if (i !== gs) {
+          parts.splice(gs, i - gs);
+        }
+      }
+      return parts;
+    });
+  }
+  // get rid of adjascent ** and resolve .. portions
+  levelOneOptimize(globParts) {
+    return globParts.map((parts) => {
+      parts = parts.reduce((set, part) => {
+        const prev = set[set.length - 1];
+        if (part === "**" && prev === "**") {
+          return set;
+        }
+        if (part === "..") {
+          if (prev && prev !== ".." && prev !== "." && prev !== "**") {
+            set.pop();
+            return set;
+          }
+        }
+        set.push(part);
+        return set;
+      }, []);
+      return parts.length === 0 ? [""] : parts;
+    });
+  }
+  levelTwoFileOptimize(parts) {
+    if (!Array.isArray(parts)) {
+      parts = this.slashSplit(parts);
+    }
+    let didSomething = false;
+    do {
+      didSomething = false;
+      if (!this.preserveMultipleSlashes) {
+        for (let i = 1; i < parts.length - 1; i++) {
+          const p = parts[i];
+          if (i === 1 && p === "" && parts[0] === "")
+            continue;
+          if (p === "." || p === "") {
+            didSomething = true;
+            parts.splice(i, 1);
+            i--;
+          }
+        }
+        if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+          didSomething = true;
+          parts.pop();
+        }
+      }
+      let dd = 0;
+      while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+        const p = parts[dd - 1];
+        if (p && p !== "." && p !== ".." && p !== "**" && !(this.isWindows && /^[a-z]:$/i.test(p))) {
+          didSomething = true;
+          parts.splice(dd - 1, 2);
+          dd -= 2;
+        }
+      }
+    } while (didSomething);
+    return parts.length === 0 ? [""] : parts;
+  }
+  // First phase: single-pattern processing
+  // 
 is 1 or more portions
+  //  is 1 or more portions
+  // 

is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

/**/../

/

/ -> {

/../

/

/,

/**/

/

/} + //

// -> 
/
+  // 
/

/../ ->

/
+  // **/**/ -> **/
+  //
+  // **/*/ -> */**/ <== not valid because ** doesn't follow
+  // this WOULD be allowed if ** did follow symlinks, or * didn't
+  firstPhasePreProcess(globParts) {
+    let didSomething = false;
+    do {
+      didSomething = false;
+      for (let parts of globParts) {
+        let gs = -1;
+        while (-1 !== (gs = parts.indexOf("**", gs + 1))) {
+          let gss = gs;
+          while (parts[gss + 1] === "**") {
+            gss++;
+          }
+          if (gss > gs) {
+            parts.splice(gs + 1, gss - gs);
+          }
+          let next = parts[gs + 1];
+          const p = parts[gs + 2];
+          const p2 = parts[gs + 3];
+          if (next !== "..")
+            continue;
+          if (!p || p === "." || p === ".." || !p2 || p2 === "." || p2 === "..") {
+            continue;
+          }
+          didSomething = true;
+          parts.splice(gs, 1);
+          const other = parts.slice(0);
+          other[gs] = "**";
+          globParts.push(other);
+          gs--;
+        }
+        if (!this.preserveMultipleSlashes) {
+          for (let i = 1; i < parts.length - 1; i++) {
+            const p = parts[i];
+            if (i === 1 && p === "" && parts[0] === "")
+              continue;
+            if (p === "." || p === "") {
+              didSomething = true;
+              parts.splice(i, 1);
+              i--;
+            }
+          }
+          if (parts[0] === "." && parts.length === 2 && (parts[1] === "." || parts[1] === "")) {
+            didSomething = true;
+            parts.pop();
+          }
+        }
+        let dd = 0;
+        while (-1 !== (dd = parts.indexOf("..", dd + 1))) {
+          const p = parts[dd - 1];
+          if (p && p !== "." && p !== ".." && p !== "**") {
+            didSomething = true;
+            const needDot = dd === 1 && parts[dd + 1] === "**";
+            const splin = needDot ? ["."] : [];
+            parts.splice(dd - 1, 2, ...splin);
+            if (parts.length === 0)
+              parts.push("");
+            dd -= 2;
+          }
+        }
+      }
+    } while (didSomething);
+    return globParts;
+  }
+  // second phase: multi-pattern dedupes
+  // {
/*/,
/

/} ->

/*/
+  // {
/,
/} -> 
/
+  // {
/**/,
/} -> 
/**/
+  //
+  // {
/**/,
/**/

/} ->

/**/
+  // ^-- not valid because ** doens't follow symlinks
+  secondPhasePreProcess(globParts) {
+    for (let i = 0; i < globParts.length - 1; i++) {
+      for (let j = i + 1; j < globParts.length; j++) {
+        const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+        if (matched) {
+          globParts[i] = [];
+          globParts[j] = matched;
+          break;
+        }
+      }
+    }
+    return globParts.filter((gs) => gs.length);
+  }
+  partsMatch(a, b, emptyGSMatch = false) {
+    let ai = 0;
+    let bi = 0;
+    let result = [];
+    let which9 = "";
+    while (ai < a.length && bi < b.length) {
+      if (a[ai] === b[bi]) {
+        result.push(which9 === "b" ? b[bi] : a[ai]);
+        ai++;
+        bi++;
+      } else if (emptyGSMatch && a[ai] === "**" && b[bi] === a[ai + 1]) {
+        result.push(a[ai]);
+        ai++;
+      } else if (emptyGSMatch && b[bi] === "**" && a[ai] === b[bi + 1]) {
+        result.push(b[bi]);
+        bi++;
+      } else if (a[ai] === "*" && b[bi] && (this.options.dot || !b[bi].startsWith(".")) && b[bi] !== "**") {
+        if (which9 === "b")
+          return false;
+        which9 = "a";
+        result.push(a[ai]);
+        ai++;
+        bi++;
+      } else if (b[bi] === "*" && a[ai] && (this.options.dot || !a[ai].startsWith(".")) && a[ai] !== "**") {
+        if (which9 === "a")
+          return false;
+        which9 = "b";
+        result.push(b[bi]);
+        ai++;
+        bi++;
+      } else {
+        return false;
+      }
+    }
+    return a.length === b.length && result;
+  }
+  parseNegate() {
+    if (this.nonegate)
+      return;
+    const pattern = this.pattern;
+    let negate2 = false;
+    let negateOffset = 0;
+    for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
+      negate2 = !negate2;
+      negateOffset++;
+    }
+    if (negateOffset)
+      this.pattern = pattern.slice(negateOffset);
+    this.negate = negate2;
+  }
+  // set partial to true to test if, for example,
+  // "/a/b" matches the start of "/*/b/*/d"
+  // Partial means, if you run out of file before you run
+  // out of pattern, then that's fine, as long as all
+  // the parts match.
+  matchOne(file, pattern, partial = false) {
+    let fileStartIndex = 0;
+    let patternStartIndex = 0;
+    if (this.isWindows) {
+      const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
+      const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
+      const patternDrive = typeof pattern[0] === "string" && /^[a-z]:$/i.test(pattern[0]);
+      const patternUNC = !patternDrive && pattern[0] === "" && pattern[1] === "" && pattern[2] === "?" && typeof pattern[3] === "string" && /^[a-z]:$/i.test(pattern[3]);
+      const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
+      const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
+      if (typeof fdi === "number" && typeof pdi === "number") {
+        const [fd, pd] = [
+          file[fdi],
+          pattern[pdi]
+        ];
+        if (fd.toLowerCase() === pd.toLowerCase()) {
+          pattern[pdi] = fd;
+          patternStartIndex = pdi;
+          fileStartIndex = fdi;
+        }
+      }
+    }
+    const { optimizationLevel = 1 } = this.options;
+    if (optimizationLevel >= 2) {
+      file = this.levelTwoFileOptimize(file);
+    }
+    if (pattern.includes(GLOBSTAR)) {
+      return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);
+    }
+    return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);
+  }
+  #matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {
+    const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
+    const lastgs = pattern.lastIndexOf(GLOBSTAR);
+    const [head, body, tail] = partial ? [
+      pattern.slice(patternIndex, firstgs),
+      pattern.slice(firstgs + 1),
+      []
+    ] : [
+      pattern.slice(patternIndex, firstgs),
+      pattern.slice(firstgs + 1, lastgs),
+      pattern.slice(lastgs + 1)
+    ];
+    if (head.length) {
+      const fileHead = file.slice(fileIndex, fileIndex + head.length);
+      if (!this.#matchOne(fileHead, head, partial, 0, 0)) {
+        return false;
+      }
+      fileIndex += head.length;
+      patternIndex += head.length;
+    }
+    let fileTailMatch = 0;
+    if (tail.length) {
+      if (tail.length + fileIndex > file.length)
+        return false;
+      let tailStart = file.length - tail.length;
+      if (this.#matchOne(file, tail, partial, tailStart, 0)) {
+        fileTailMatch = tail.length;
+      } else {
+        if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
+          return false;
+        }
+        tailStart--;
+        if (!this.#matchOne(file, tail, partial, tailStart, 0)) {
+          return false;
+        }
+        fileTailMatch = tail.length + 1;
+      }
+    }
+    if (!body.length) {
+      let sawSome = !!fileTailMatch;
+      for (let i2 = fileIndex; i2 < file.length - fileTailMatch; i2++) {
+        const f = String(file[i2]);
+        sawSome = true;
+        if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
+          return false;
+        }
+      }
+      return partial || sawSome;
+    }
+    const bodySegments = [[[], 0]];
+    let currentBody = bodySegments[0];
+    let nonGsParts = 0;
+    const nonGsPartsSums = [0];
+    for (const b of body) {
+      if (b === GLOBSTAR) {
+        nonGsPartsSums.push(nonGsParts);
+        currentBody = [[], 0];
+        bodySegments.push(currentBody);
+      } else {
+        currentBody[0].push(b);
+        nonGsParts++;
+      }
+    }
+    let i = bodySegments.length - 1;
+    const fileLength = file.length - fileTailMatch;
+    for (const b of bodySegments) {
+      b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);
+    }
+    return !!this.#matchGlobStarBodySections(file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
+  }
+  // return false for "nope, not matching"
+  // return null for "not matching, cannot keep trying"
+  #matchGlobStarBodySections(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
+    const bs = bodySegments[bodyIndex];
+    if (!bs) {
+      for (let i = fileIndex; i < file.length; i++) {
+        sawTail = true;
+        const f = file[i];
+        if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
+          return false;
+        }
+      }
+      return sawTail;
+    }
+    const [body, after] = bs;
+    while (fileIndex <= after) {
+      const m = this.#matchOne(file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
+      if (m && globStarDepth < this.maxGlobstarRecursion) {
+        const sub = this.#matchGlobStarBodySections(file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
+        if (sub !== false) {
+          return sub;
+        }
+      }
+      const f = file[fileIndex];
+      if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
+        return false;
+      }
+      fileIndex++;
+    }
+    return partial || null;
+  }
+  #matchOne(file, pattern, partial, fileIndex, patternIndex) {
+    let fi;
+    let pi;
+    let pl;
+    let fl;
+    for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
+      this.debug("matchOne loop");
+      let p = pattern[pi];
+      let f = file[fi];
+      this.debug(pattern, p, f);
+      if (p === false || p === GLOBSTAR) {
+        return false;
+      }
+      let hit;
+      if (typeof p === "string") {
+        hit = f === p;
+        this.debug("string match", p, f, hit);
+      } else {
+        hit = p.test(f);
+        this.debug("pattern match", p, f, hit);
+      }
+      if (!hit)
+        return false;
+    }
+    if (fi === fl && pi === pl) {
+      return true;
+    } else if (fi === fl) {
+      return partial;
+    } else if (pi === pl) {
+      return fi === fl - 1 && file[fi] === "";
+    } else {
+      throw new Error("wtf?");
+    }
+  }
+  braceExpand() {
+    return braceExpand(this.pattern, this.options);
+  }
+  parse(pattern) {
+    assertValidPattern(pattern);
+    const options = this.options;
+    if (pattern === "**")
+      return GLOBSTAR;
+    if (pattern === "")
+      return "";
+    let m;
+    let fastTest = null;
+    if (m = pattern.match(starRE)) {
+      fastTest = options.dot ? starTestDot : starTest;
+    } else if (m = pattern.match(starDotExtRE)) {
+      fastTest = (options.nocase ? options.dot ? starDotExtTestNocaseDot : starDotExtTestNocase : options.dot ? starDotExtTestDot : starDotExtTest)(m[1]);
+    } else if (m = pattern.match(qmarksRE)) {
+      fastTest = (options.nocase ? options.dot ? qmarksTestNocaseDot : qmarksTestNocase : options.dot ? qmarksTestDot : qmarksTest)(m);
+    } else if (m = pattern.match(starDotStarRE)) {
+      fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
+    } else if (m = pattern.match(dotStarRE)) {
+      fastTest = dotStarTest;
+    }
+    const re = AST.fromGlob(pattern, this.options).toMMPattern();
+    if (fastTest && typeof re === "object") {
+      Reflect.defineProperty(re, "test", { value: fastTest });
+    }
+    return re;
+  }
+  makeRe() {
+    if (this.regexp || this.regexp === false)
+      return this.regexp;
+    const set = this.set;
+    if (!set.length) {
+      this.regexp = false;
+      return this.regexp;
+    }
+    const options = this.options;
+    const twoStar = options.noglobstar ? star2 : options.dot ? twoStarDot : twoStarNoDot;
+    const flags = new Set(options.nocase ? ["i"] : []);
+    let re = set.map((pattern) => {
+      const pp = pattern.map((p) => {
+        if (p instanceof RegExp) {
+          for (const f of p.flags.split(""))
+            flags.add(f);
+        }
+        return typeof p === "string" ? regExpEscape2(p) : p === GLOBSTAR ? GLOBSTAR : p._src;
+      });
+      pp.forEach((p, i) => {
+        const next = pp[i + 1];
+        const prev = pp[i - 1];
+        if (p !== GLOBSTAR || prev === GLOBSTAR) {
+          return;
+        }
+        if (prev === void 0) {
+          if (next !== void 0 && next !== GLOBSTAR) {
+            pp[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + next;
+          } else {
+            pp[i] = twoStar;
+          }
+        } else if (next === void 0) {
+          pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
+        } else if (next !== GLOBSTAR) {
+          pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
+          pp[i + 1] = GLOBSTAR;
+        }
+      });
+      const filtered = pp.filter((p) => p !== GLOBSTAR);
+      if (this.partial && filtered.length >= 1) {
+        const prefixes = [];
+        for (let i = 1; i <= filtered.length; i++) {
+          prefixes.push(filtered.slice(0, i).join("/"));
+        }
+        return "(?:" + prefixes.join("|") + ")";
+      }
+      return filtered.join("/");
+    }).join("|");
+    const [open, close] = set.length > 1 ? ["(?:", ")"] : ["", ""];
+    re = "^" + open + re + close + "$";
+    if (this.partial) {
+      re = "^(?:\\/|" + open + re.slice(1, -1) + close + ")$";
+    }
+    if (this.negate)
+      re = "^(?!" + re + ").+$";
+    try {
+      this.regexp = new RegExp(re, [...flags].join(""));
+    } catch {
+      this.regexp = false;
+    }
+    return this.regexp;
+  }
+  slashSplit(p) {
+    if (this.preserveMultipleSlashes) {
+      return p.split("/");
+    } else if (this.isWindows && /^\/\/[^/]+/.test(p)) {
+      return ["", ...p.split(/\/+/)];
+    } else {
+      return p.split(/\/+/);
+    }
+  }
+  match(f, partial = this.partial) {
+    this.debug("match", f, this.pattern);
+    if (this.comment) {
+      return false;
+    }
+    if (this.empty) {
+      return f === "";
+    }
+    if (f === "/" && partial) {
+      return true;
+    }
+    const options = this.options;
+    if (this.isWindows) {
+      f = f.split("\\").join("/");
+    }
+    const ff = this.slashSplit(f);
+    this.debug(this.pattern, "split", ff);
+    const set = this.set;
+    this.debug(this.pattern, "set", set);
+    let filename = ff[ff.length - 1];
+    if (!filename) {
+      for (let i = ff.length - 2; !filename && i >= 0; i--) {
+        filename = ff[i];
+      }
+    }
+    for (const pattern of set) {
+      let file = ff;
+      if (options.matchBase && pattern.length === 1) {
+        file = [filename];
+      }
+      const hit = this.matchOne(file, pattern, partial);
+      if (hit) {
+        if (options.flipNegate) {
+          return true;
+        }
+        return !this.negate;
+      }
+    }
+    if (options.flipNegate) {
+      return false;
+    }
+    return this.negate;
+  }
+  static defaults(def) {
+    return minimatch.defaults(def).Minimatch;
+  }
+};
+minimatch.AST = AST;
+minimatch.Minimatch = Minimatch;
+minimatch.escape = escape2;
+minimatch.unescape = unescape2;
+
+// node_modules/readdir-glob/dist/index.mjs
+var import_path5 = require("path");
+function readdir2(dir, strict) {
+  return new Promise((resolve$1, reject) => {
+    fs24.readdir(dir, { withFileTypes: true }, (err, files) => {
+      if (err) switch (err.code) {
+        case "ENOTDIR":
+          if (strict) reject(err);
+          else resolve$1([]);
+          break;
+        case "ENOTSUP":
+        case "ENOENT":
+        case "ENAMETOOLONG":
+        case "UNKNOWN":
+          resolve$1([]);
+          break;
+        case "ELOOP":
+        default:
+          reject(err);
+          break;
+      }
+      else resolve$1(files);
+    });
+  });
+}
+function getStat(file, followSymlinks) {
+  return new Promise((resolve$1) => {
+    const statFunc = followSymlinks ? fs24.stat : fs24.lstat;
+    statFunc(file, (err, stats) => {
+      if (err) switch (err.code) {
+        case "ENOENT":
+          if (followSymlinks) resolve$1(getStat(file, false));
+          else resolve$1(null);
+          break;
+        default:
+          resolve$1(null);
+          break;
+      }
+      else resolve$1(stats);
+    });
+  });
+}
+async function* exploreWalkAsync(dir, path30, followSymlinks, useStat, shouldSkip, strict) {
+  let files = await readdir2(path30 + dir, strict);
+  for (const file of files) {
+    let name = file.name;
+    const filename = dir + "/" + name;
+    const relative3 = filename.slice(1);
+    const absolute = path30 + "/" + relative3;
+    let stat2 = file;
+    if (useStat || followSymlinks) stat2 = await getStat(absolute, followSymlinks) ?? stat2;
+    if (stat2.isDirectory()) {
+      if (!shouldSkip(relative3)) {
+        yield {
+          relative: relative3,
+          absolute,
+          stat: stat2
+        };
+        yield* exploreWalkAsync(filename, path30, followSymlinks, useStat, shouldSkip, false);
+      }
+    } else yield {
+      relative: relative3,
+      absolute,
+      stat: stat2
+    };
+  }
+}
+async function* explore(path30, followSymlinks, useStat, shouldSkip) {
+  yield* exploreWalkAsync("", path30, followSymlinks, useStat, shouldSkip, true);
+}
+function readOptions(options) {
+  return {
+    pattern: options.pattern,
+    dot: !!options.dot,
+    noglobstar: !!options.noglobstar,
+    matchBase: !!options.matchBase,
+    nocase: !!options.nocase,
+    ignore: options.ignore,
+    skip: options.skip,
+    follow: !!options.follow,
+    stat: !!options.stat,
+    nodir: !!options.nodir,
+    mark: !!options.mark,
+    silent: !!options.silent,
+    absolute: !!options.absolute
+  };
+}
+var ReaddirGlob = class extends import_events.EventEmitter {
+  options;
+  matchers;
+  ignoreMatchers;
+  skipMatchers;
+  paused;
+  aborted;
+  inactive;
+  iterator;
+  constructor(cwd, options, cb) {
+    super();
+    if (typeof options === "function") {
+      cb = options;
+      options = void 0;
+    }
+    this.options = readOptions(options || {});
+    this.matchers = [];
+    if (this.options.pattern) {
+      const matchers = Array.isArray(this.options.pattern) ? this.options.pattern : [this.options.pattern];
+      this.matchers = matchers.map((m) => new Minimatch(m, {
+        dot: this.options.dot,
+        noglobstar: this.options.noglobstar,
+        matchBase: this.options.matchBase,
+        nocase: this.options.nocase
+      }));
+    }
+    this.ignoreMatchers = [];
+    if (this.options.ignore) {
+      const ignorePatterns = Array.isArray(this.options.ignore) ? this.options.ignore : [this.options.ignore];
+      this.ignoreMatchers = ignorePatterns.map((ignore) => new Minimatch(ignore, { dot: true }));
+    }
+    this.skipMatchers = [];
+    if (this.options.skip) {
+      const skipPatterns = Array.isArray(this.options.skip) ? this.options.skip : [this.options.skip];
+      this.skipMatchers = skipPatterns.map((skip) => new Minimatch(skip, { dot: true }));
+    }
+    this.iterator = explore((0, import_path5.resolve)(cwd || "."), this.options.follow, this.options.stat, this._shouldSkipDirectory.bind(this));
+    this.paused = false;
+    this.inactive = false;
+    this.aborted = false;
+    if (cb) {
+      const nonNullCb = cb;
+      const matches = [];
+      this.on("match", (match2) => matches.push(this.options.absolute ? match2.absolute : match2.relative));
+      this.on("error", (err) => nonNullCb(err));
+      this.on("end", () => nonNullCb(null, matches));
+    }
+    setTimeout(() => this._next());
+  }
+  _shouldSkipDirectory(relative3) {
+    return this.skipMatchers.some((m) => m.match(relative3));
+  }
+  _fileMatches(relative3, isDirectory) {
+    const file = relative3 + (isDirectory ? "/" : "");
+    return (this.matchers.length === 0 || this.matchers.some((m) => m.match(file))) && !this.ignoreMatchers.some((m) => m.match(file)) && (!this.options.nodir || !isDirectory);
+  }
+  _next() {
+    if (!this.paused && !this.aborted) this.iterator.next().then((obj) => {
+      if (!obj.done) {
+        const isDirectory = obj.value.stat.isDirectory();
+        if (this._fileMatches(obj.value.relative, isDirectory)) {
+          let relative3 = obj.value.relative;
+          let absolute = obj.value.absolute;
+          if (this.options.mark && isDirectory) {
+            relative3 += "/";
+            absolute += "/";
+          }
+          if (this.options.stat) this.emit("match", {
+            relative: relative3,
+            absolute,
+            stat: obj.value.stat
+          });
+          else this.emit("match", {
+            relative: relative3,
+            absolute
+          });
+        }
+        this._next();
+      } else this.emit("end");
+    }).catch((err) => {
+      this.abort();
+      this.emit("error", err);
+      if (!err.code && !this.options.silent) console.error(err);
+    });
+    else this.inactive = true;
+  }
+  abort() {
+    this.aborted = true;
+  }
+  pause() {
+    this.paused = true;
+  }
+  resume() {
+    this.paused = false;
+    if (this.inactive) {
+      this.inactive = false;
+      this._next();
+    }
+  }
+};
+var readdirGlob = (pattern, options, cb) => new ReaddirGlob(pattern, options, cb);
+readdirGlob.ReaddirGlob = ReaddirGlob;
+var src_default = readdirGlob;
+
+// node_modules/archiver/lib/core.js
+var import_lazystream = __toESM(require_lazystream(), 1);
+var import_async = __toESM(require_async(), 1);
+var import_path6 = require("path");
+
+// node_modules/archiver/lib/error.js
+var import_util32 = __toESM(require("util"), 1);
+var ERROR_CODES = {
+  ABORTED: "archive was aborted",
+  DIRECTORYDIRPATHREQUIRED: "diretory dirpath argument must be a non-empty string value",
+  DIRECTORYFUNCTIONINVALIDDATA: "invalid data returned by directory custom data function",
+  ENTRYNAMEREQUIRED: "entry name must be a non-empty string value",
+  FILEFILEPATHREQUIRED: "file filepath argument must be a non-empty string value",
+  FINALIZING: "archive already finalizing",
+  QUEUECLOSED: "queue closed",
+  NOENDMETHOD: "no suitable finalize/end method defined by module",
+  DIRECTORYNOTSUPPORTED: "support for directory entries not defined by module",
+  FORMATSET: "archive format already set",
+  INPUTSTEAMBUFFERREQUIRED: "input source must be valid Stream or Buffer instance",
+  MODULESET: "module already set",
+  SYMLINKNOTSUPPORTED: "support for symlink entries not defined by module",
+  SYMLINKFILEPATHREQUIRED: "symlink filepath argument must be a non-empty string value",
+  SYMLINKTARGETREQUIRED: "symlink target argument must be a non-empty string value",
+  ENTRYNOTSUPPORTED: "entry not supported"
+};
+function ArchiverError(code, data) {
+  Error.captureStackTrace(this, this.constructor);
+  this.message = ERROR_CODES[code] || code;
+  this.code = code;
+  this.data = data;
+}
+import_util32.default.inherits(ArchiverError, Error);
+
+// node_modules/archiver/lib/core.js
+var import_readable_stream2 = __toESM(require_ours(), 1);
+
+// node_modules/archiver/lib/utils.js
+var import_normalize_path = __toESM(require_normalize_path(), 1);
+var import_readable_stream = __toESM(require_ours(), 1);
+function dateify(dateish) {
+  dateish = dateish || /* @__PURE__ */ new Date();
+  if (dateish instanceof Date) {
+    dateish = dateish;
+  } else if (typeof dateish === "string") {
+    dateish = new Date(dateish);
+  } else {
+    dateish = /* @__PURE__ */ new Date();
+  }
+  return dateish;
+}
+function normalizeInputSource(source) {
+  if (source === null) {
+    return Buffer.alloc(0);
+  } else if (typeof source === "string") {
+    return Buffer.from(source);
+  } else if (isStream(source)) {
+    return source.pipe(new import_readable_stream.PassThrough());
+  }
+  return source;
+}
+function sanitizePath(filepath) {
+  return (0, import_normalize_path.default)(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+}
+function trailingSlashIt(str) {
+  return str.slice(-1) !== "/" ? str + "/" : str;
+}
+
+// node_modules/archiver/lib/core.js
+var { ReaddirGlob: ReaddirGlob2 } = src_default;
+var win32 = process.platform === "win32";
+var Archiver = class extends import_readable_stream2.Transform {
+  _supportsDirectory = false;
+  _supportsSymlink = false;
+  /**
+   * @constructor
+   * @param {String} format The archive format to use.
+   * @param {(CoreOptions|TransformOptions)} options See also {@link ZipOptions} and {@link TarOptions}.
+   */
+  constructor(options) {
+    options = {
+      highWaterMark: 1024 * 1024,
+      statConcurrency: 4,
+      ...options
+    };
+    super(options);
+    this.options = options;
+    this._format = false;
+    this._module = false;
+    this._pending = 0;
+    this._pointer = 0;
+    this._entriesCount = 0;
+    this._entriesProcessedCount = 0;
+    this._fsEntriesTotalBytes = 0;
+    this._fsEntriesProcessedBytes = 0;
+    this._queue = (0, import_async.queue)(this._onQueueTask.bind(this), 1);
+    this._queue.drain(this._onQueueDrain.bind(this));
+    this._statQueue = (0, import_async.queue)(
+      this._onStatQueueTask.bind(this),
+      options.statConcurrency
+    );
+    this._statQueue.drain(this._onQueueDrain.bind(this));
+    this._state = {
+      aborted: false,
+      finalize: false,
+      finalizing: false,
+      finalized: false,
+      modulePiped: false
+    };
+    this._streams = [];
+  }
+  /**
+   * Internal logic for `abort`.
+   *
+   * @private
+   * @return void
+   */
+  _abort() {
+    this._state.aborted = true;
+    this._queue.kill();
+    this._statQueue.kill();
+    if (this._queue.idle()) {
+      this._shutdown();
+    }
+  }
+  /**
+   * Internal helper for appending files.
+   *
+   * @private
+   * @param  {String} filepath The source filepath.
+   * @param  {EntryData} data The entry data.
+   * @return void
+   */
+  _append(filepath, data) {
+    data = data || {};
+    let task = {
+      source: null,
+      filepath
+    };
+    if (!data.name) {
+      data.name = filepath;
+    }
+    data.sourcePath = filepath;
+    task.data = data;
+    this._entriesCount++;
+    if (data.stats && data.stats instanceof import_fs2.Stats) {
+      task = this._updateQueueTaskWithStats(task, data.stats);
+      if (task) {
+        if (data.stats.size) {
+          this._fsEntriesTotalBytes += data.stats.size;
+        }
+        this._queue.push(task);
+      }
+    } else {
+      this._statQueue.push(task);
+    }
+  }
+  /**
+   * Internal logic for `finalize`.
+   *
+   * @private
+   * @return void
+   */
+  _finalize() {
+    if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+      return;
+    }
+    this._state.finalizing = true;
+    this._moduleFinalize();
+    this._state.finalizing = false;
+    this._state.finalized = true;
+  }
+  /**
+   * Checks the various state variables to determine if we can `finalize`.
+   *
+   * @private
+   * @return {Boolean}
+   */
+  _maybeFinalize() {
+    if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+      return false;
+    }
+    if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+      this._finalize();
+      return true;
+    }
+    return false;
+  }
+  /**
+   * Appends an entry to the module.
+   *
+   * @private
+   * @fires  Archiver#entry
+   * @param  {(Buffer|Stream)} source
+   * @param  {EntryData} data
+   * @param  {Function} callback
+   * @return void
+   */
+  _moduleAppend(source, data, callback) {
+    if (this._state.aborted) {
+      callback();
+      return;
+    }
+    this._module.append(
+      source,
+      data,
+      function(err) {
+        this._task = null;
+        if (this._state.aborted) {
+          this._shutdown();
+          return;
+        }
+        if (err) {
+          this.emit("error", err);
+          setImmediate(callback);
+          return;
+        }
+        this.emit("entry", data);
+        this._entriesProcessedCount++;
+        if (data.stats && data.stats.size) {
+          this._fsEntriesProcessedBytes += data.stats.size;
+        }
+        this.emit("progress", {
+          entries: {
+            total: this._entriesCount,
+            processed: this._entriesProcessedCount
+          },
+          fs: {
+            totalBytes: this._fsEntriesTotalBytes,
+            processedBytes: this._fsEntriesProcessedBytes
+          }
+        });
+        setImmediate(callback);
+      }.bind(this)
+    );
+  }
+  /**
+   * Finalizes the module.
+   *
+   * @private
+   * @return void
+   */
+  _moduleFinalize() {
+    if (typeof this._module.finalize === "function") {
+      this._module.finalize();
+    } else if (typeof this._module.end === "function") {
+      this._module.end();
+    } else {
+      this.emit("error", new ArchiverError("NOENDMETHOD"));
+    }
+  }
+  /**
+   * Pipes the module to our internal stream with error bubbling.
+   *
+   * @private
+   * @return void
+   */
+  _modulePipe() {
+    this._module.on("error", this._onModuleError.bind(this));
+    this._module.pipe(this);
+    this._state.modulePiped = true;
+  }
+  /**
+   * Unpipes the module from our internal stream.
+   *
+   * @private
+   * @return void
+   */
+  _moduleUnpipe() {
+    this._module.unpipe(this);
+    this._state.modulePiped = false;
+  }
+  /**
+   * Normalizes entry data with fallbacks for key properties.
+   *
+   * @private
+   * @param  {Object} data
+   * @param  {fs.Stats} stats
+   * @return {Object}
+   */
+  _normalizeEntryData(data, stats) {
+    data = {
+      type: "file",
+      name: null,
+      date: null,
+      mode: null,
+      prefix: null,
+      sourcePath: null,
+      stats: false,
+      ...data
+    };
+    if (stats && data.stats === false) {
+      data.stats = stats;
+    }
+    let isDir = data.type === "directory";
+    if (data.name) {
+      if (typeof data.prefix === "string" && "" !== data.prefix) {
+        data.name = data.prefix + "/" + data.name;
+        data.prefix = null;
+      }
+      data.name = sanitizePath(data.name);
+      if (data.type !== "symlink" && data.name.slice(-1) === "/") {
+        isDir = true;
+        data.type = "directory";
+      } else if (isDir) {
+        data.name += "/";
+      }
+    }
+    if (typeof data.mode === "number") {
+      if (win32) {
+        data.mode &= 511;
+      } else {
+        data.mode &= 4095;
+      }
+    } else if (data.stats && data.mode === null) {
+      if (win32) {
+        data.mode = data.stats.mode & 511;
+      } else {
+        data.mode = data.stats.mode & 4095;
+      }
+      if (win32 && isDir) {
+        data.mode = 493;
+      }
+    } else if (data.mode === null) {
+      data.mode = isDir ? 493 : 420;
+    }
+    if (data.stats && data.date === null) {
+      data.date = data.stats.mtime;
+    } else {
+      data.date = dateify(data.date);
+    }
+    return data;
+  }
+  /**
+   * Error listener that re-emits error on to our internal stream.
+   *
+   * @private
+   * @param  {Error} err
+   * @return void
+   */
+  _onModuleError(err) {
+    this.emit("error", err);
+  }
+  /**
+   * Checks the various state variables after queue has drained to determine if
+   * we need to `finalize`.
+   *
+   * @private
+   * @return void
+   */
+  _onQueueDrain() {
+    if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+      return;
+    }
+    if (this._state.finalize && this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+      this._finalize();
+    }
+  }
+  /**
+   * Appends each queue task to the module.
+   *
+   * @private
+   * @param  {Object} task
+   * @param  {Function} callback
+   * @return void
+   */
+  _onQueueTask(task, callback) {
+    const fullCallback = () => {
+      if (task.data.callback) {
+        task.data.callback();
+      }
+      callback();
+    };
+    if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+      fullCallback();
+      return;
+    }
+    this._task = task;
+    this._moduleAppend(task.source, task.data, fullCallback);
+  }
+  /**
+   * Performs a file stat and reinjects the task back into the queue.
+   *
+   * @private
+   * @param  {Object} task
+   * @param  {Function} callback
+   * @return void
+   */
+  _onStatQueueTask(task, callback) {
+    if (this._state.finalizing || this._state.finalized || this._state.aborted) {
+      callback();
+      return;
+    }
+    (0, import_fs2.lstat)(
+      task.filepath,
+      function(err, stats) {
+        if (this._state.aborted) {
+          setImmediate(callback);
+          return;
+        }
+        if (err) {
+          this._entriesCount--;
+          this.emit("warning", err);
+          setImmediate(callback);
+          return;
+        }
+        task = this._updateQueueTaskWithStats(task, stats);
+        if (task) {
+          if (stats.size) {
+            this._fsEntriesTotalBytes += stats.size;
+          }
+          this._queue.push(task);
+        }
+        setImmediate(callback);
+      }.bind(this)
+    );
+  }
+  /**
+   * Unpipes the module and ends our internal stream.
+   *
+   * @private
+   * @return void
+   */
+  _shutdown() {
+    this._moduleUnpipe();
+    this.end();
+  }
+  /**
+   * Tracks the bytes emitted by our internal stream.
+   *
+   * @private
+   * @param  {Buffer} chunk
+   * @param  {String} encoding
+   * @param  {Function} callback
+   * @return void
+   */
+  _transform(chunk, encoding, callback) {
+    if (chunk) {
+      this._pointer += chunk.length;
+    }
+    callback(null, chunk);
+  }
+  /**
+   * Updates and normalizes a queue task using stats data.
+   *
+   * @private
+   * @param  {Object} task
+   * @param  {Stats} stats
+   * @return {Object}
+   */
+  _updateQueueTaskWithStats(task, stats) {
+    if (stats.isFile()) {
+      task.data.type = "file";
+      task.data.sourceType = "stream";
+      task.source = new import_lazystream.Readable(function() {
+        return (0, import_fs2.createReadStream)(task.filepath);
+      });
+    } else if (stats.isDirectory() && this._supportsDirectory) {
+      task.data.name = trailingSlashIt(task.data.name);
+      task.data.type = "directory";
+      task.data.sourcePath = trailingSlashIt(task.filepath);
+      task.data.sourceType = "buffer";
+      task.source = Buffer.concat([]);
+    } else if (stats.isSymbolicLink() && this._supportsSymlink) {
+      const linkPath = (0, import_fs2.readlinkSync)(task.filepath);
+      const dirName = (0, import_path6.dirname)(task.filepath);
+      task.data.type = "symlink";
+      task.data.linkname = (0, import_path6.relative)(
+        dirName,
+        (0, import_path6.resolve)(dirName, linkPath)
+      );
+      task.data.sourceType = "buffer";
+      task.source = Buffer.concat([]);
+    } else {
+      if (stats.isDirectory()) {
+        this.emit(
+          "warning",
+          new ArchiverError("DIRECTORYNOTSUPPORTED", task.data)
+        );
+      } else if (stats.isSymbolicLink()) {
+        this.emit(
+          "warning",
+          new ArchiverError("SYMLINKNOTSUPPORTED", task.data)
+        );
+      } else {
+        this.emit("warning", new ArchiverError("ENTRYNOTSUPPORTED", task.data));
+      }
+      return null;
+    }
+    task.data = this._normalizeEntryData(task.data, stats);
+    return task;
+  }
+  /**
+   * Aborts the archiving process, taking a best-effort approach, by:
+   *
+   * - removing any pending queue tasks
+   * - allowing any active queue workers to finish
+   * - detaching internal module pipes
+   * - ending both sides of the Transform stream
+   *
+   * It will NOT drain any remaining sources.
+   *
+   * @return {this}
+   */
+  abort() {
+    if (this._state.aborted || this._state.finalized) {
+      return this;
+    }
+    this._abort();
+    return this;
+  }
+  /**
+   * Appends an input source (text string, buffer, or stream) to the instance.
+   *
+   * When the instance has received, processed, and emitted the input, the `entry`
+   * event is fired.
+   *
+   * @fires  Archiver#entry
+   * @param  {(Buffer|Stream|String)} source The input source.
+   * @param  {EntryData} data See also {@link ZipEntryData} and {@link TarEntryData}.
+   * @return {this}
+   */
+  append(source, data) {
+    if (this._state.finalize || this._state.aborted) {
+      this.emit("error", new ArchiverError("QUEUECLOSED"));
+      return this;
+    }
+    data = this._normalizeEntryData(data);
+    if (typeof data.name !== "string" || data.name.length === 0) {
+      this.emit("error", new ArchiverError("ENTRYNAMEREQUIRED"));
+      return this;
+    }
+    if (data.type === "directory" && !this._supportsDirectory) {
+      this.emit(
+        "error",
+        new ArchiverError("DIRECTORYNOTSUPPORTED", { name: data.name })
+      );
+      return this;
+    }
+    source = normalizeInputSource(source);
+    if (Buffer.isBuffer(source)) {
+      data.sourceType = "buffer";
+    } else if (isStream(source)) {
+      data.sourceType = "stream";
+    } else {
+      this.emit(
+        "error",
+        new ArchiverError("INPUTSTEAMBUFFERREQUIRED", { name: data.name })
+      );
+      return this;
+    }
+    this._entriesCount++;
+    this._queue.push({
+      data,
+      source
+    });
+    return this;
+  }
+  /**
+   * Appends a directory and its files, recursively, given its dirpath.
+   *
+   * @param  {String} dirpath The source directory path.
+   * @param  {String} destpath The destination path within the archive.
+   * @param  {(EntryData|Function)} data See also [ZipEntryData]{@link ZipEntryData} and
+   * [TarEntryData]{@link TarEntryData}.
+   * @return {this}
+   */
+  directory(dirpath, destpath, data) {
+    if (this._state.finalize || this._state.aborted) {
+      this.emit("error", new ArchiverError("QUEUECLOSED"));
+      return this;
+    }
+    if (typeof dirpath !== "string" || dirpath.length === 0) {
+      this.emit("error", new ArchiverError("DIRECTORYDIRPATHREQUIRED"));
+      return this;
+    }
+    this._pending++;
+    if (destpath === false) {
+      destpath = "";
+    } else if (typeof destpath !== "string") {
+      destpath = dirpath;
+    }
+    var dataFunction = false;
+    if (typeof data === "function") {
+      dataFunction = data;
+      data = {};
+    } else if (typeof data !== "object") {
+      data = {};
+    }
+    var globOptions = {
+      stat: true,
+      dot: true
+    };
+    function onGlobEnd() {
+      this._pending--;
+      this._maybeFinalize();
+    }
+    function onGlobError(err) {
+      this.emit("error", err);
+    }
+    function onGlobMatch(match2) {
+      globber.pause();
+      let ignoreMatch = false;
+      let entryData = Object.assign({}, data);
+      entryData.name = match2.relative;
+      entryData.prefix = destpath;
+      entryData.stats = match2.stat;
+      entryData.callback = globber.resume.bind(globber);
+      try {
+        if (dataFunction) {
+          entryData = dataFunction(entryData);
+          if (entryData === false) {
+            ignoreMatch = true;
+          } else if (typeof entryData !== "object") {
+            throw new ArchiverError("DIRECTORYFUNCTIONINVALIDDATA", {
+              dirpath
+            });
+          }
+        }
+      } catch (e) {
+        this.emit("error", e);
+        return;
+      }
+      if (ignoreMatch) {
+        globber.resume();
+        return;
+      }
+      this._append(match2.absolute, entryData);
+    }
+    const globber = src_default(dirpath, globOptions);
+    globber.on("error", onGlobError.bind(this));
+    globber.on("match", onGlobMatch.bind(this));
+    globber.on("end", onGlobEnd.bind(this));
+    return this;
+  }
+  /**
+   * Appends a file given its filepath using a
+   * [lazystream]{@link https://github.com/jpommerening/node-lazystream} wrapper to
+   * prevent issues with open file limits.
+   *
+   * When the instance has received, processed, and emitted the file, the `entry`
+   * event is fired.
+   *
+   * @param  {String} filepath The source filepath.
+   * @param  {EntryData} data See also [ZipEntryData]{@link ZipEntryData} and
+   * [TarEntryData]{@link TarEntryData}.
+   * @return {this}
+   */
+  file(filepath, data) {
+    if (this._state.finalize || this._state.aborted) {
+      this.emit("error", new ArchiverError("QUEUECLOSED"));
+      return this;
+    }
+    if (typeof filepath !== "string" || filepath.length === 0) {
+      this.emit("error", new ArchiverError("FILEFILEPATHREQUIRED"));
+      return this;
+    }
+    this._append(filepath, data);
+    return this;
+  }
+  /**
+   * Appends multiple files that match a glob pattern.
+   *
+   * @param  {String} pattern The [glob pattern]{@link https://github.com/isaacs/minimatch} to match.
+   * @param  {Object} options See [node-readdir-glob]{@link https://github.com/yqnn/node-readdir-glob#options}.
+   * @param  {EntryData} data See also [ZipEntryData]{@link ZipEntryData} and
+   * [TarEntryData]{@link TarEntryData}.
+   * @return {this}
+   */
+  glob(pattern, options, data) {
+    this._pending++;
+    options = {
+      stat: true,
+      pattern,
+      ...options
+    };
+    function onGlobEnd() {
+      this._pending--;
+      this._maybeFinalize();
+    }
+    function onGlobError(err) {
+      this.emit("error", err);
+    }
+    function onGlobMatch(match2) {
+      globber.pause();
+      const entryData = Object.assign({}, data);
+      entryData.callback = globber.resume.bind(globber);
+      entryData.stats = match2.stat;
+      entryData.name = match2.relative;
+      this._append(match2.absolute, entryData);
+    }
+    const globber = new ReaddirGlob2(options.cwd || ".", options);
+    globber.on("error", onGlobError.bind(this));
+    globber.on("match", onGlobMatch.bind(this));
+    globber.on("end", onGlobEnd.bind(this));
+    return this;
+  }
+  /**
+   * Finalizes the instance and prevents further appending to the archive
+   * structure (queue will continue til drained).
+   *
+   * The `end`, `close` or `finish` events on the destination stream may fire
+   * right after calling this method so you should set listeners beforehand to
+   * properly detect stream completion.
+   *
+   * @return {Promise}
+   */
+  finalize() {
+    if (this._state.aborted) {
+      var abortedError = new ArchiverError("ABORTED");
+      this.emit("error", abortedError);
+      return Promise.reject(abortedError);
+    }
+    if (this._state.finalize) {
+      var finalizingError = new ArchiverError("FINALIZING");
+      this.emit("error", finalizingError);
+      return Promise.reject(finalizingError);
+    }
+    this._state.finalize = true;
+    if (this._pending === 0 && this._queue.idle() && this._statQueue.idle()) {
+      this._finalize();
+    }
+    var self2 = this;
+    return new Promise(function(resolve14, reject) {
+      var errored;
+      self2._module.on("end", function() {
+        if (!errored) {
+          resolve14();
+        }
+      });
+      self2._module.on("error", function(err) {
+        errored = true;
+        reject(err);
+      });
+    });
+  }
+  /**
+   * Appends a symlink to the instance.
+   *
+   * This does NOT interact with filesystem and is used for programmatically creating symlinks.
+   *
+   * @param  {String} filepath The symlink path (within archive).
+   * @param  {String} target The target path (within archive).
+   * @param  {Number} mode Sets the entry permissions.
+   * @return {this}
+   */
+  symlink(filepath, target, mode) {
+    if (this._state.finalize || this._state.aborted) {
+      this.emit("error", new ArchiverError("QUEUECLOSED"));
+      return this;
+    }
+    if (typeof filepath !== "string" || filepath.length === 0) {
+      this.emit("error", new ArchiverError("SYMLINKFILEPATHREQUIRED"));
+      return this;
+    }
+    if (typeof target !== "string" || target.length === 0) {
+      this.emit(
+        "error",
+        new ArchiverError("SYMLINKTARGETREQUIRED", { filepath })
+      );
+      return this;
+    }
+    if (!this._supportsSymlink) {
+      this.emit(
+        "error",
+        new ArchiverError("SYMLINKNOTSUPPORTED", { filepath })
+      );
+      return this;
+    }
+    var data = {};
+    data.type = "symlink";
+    data.name = filepath.replace(/\\/g, "/");
+    data.linkname = target.replace(/\\/g, "/");
+    data.sourceType = "buffer";
+    if (typeof mode === "number") {
+      data.mode = mode;
+    }
+    this._entriesCount++;
+    this._queue.push({
+      data,
+      source: Buffer.concat([])
+    });
+    return this;
+  }
+  /**
+   * Returns the current length (in bytes) that has been emitted.
+   *
+   * @return {Number}
+   */
+  pointer() {
+    return this._pointer;
+  }
+};
+
+// node_modules/compress-commons/lib/archivers/archive-entry.js
+var ArchiveEntry = class {
+  getName() {
+  }
+  getSize() {
+  }
+  getLastModifiedDate() {
+  }
+  isDirectory() {
+  }
+};
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var import_normalize_path2 = __toESM(require_normalize_path(), 1);
+
+// node_modules/compress-commons/lib/archivers/zip/util.js
+function dateToDos(d, forceLocalTime) {
+  forceLocalTime = forceLocalTime || false;
+  var year = forceLocalTime ? d.getFullYear() : d.getUTCFullYear();
+  if (year < 1980) {
+    return 2162688;
+  } else if (year >= 2044) {
+    return 2141175677;
+  }
+  var val = {
+    year,
+    month: forceLocalTime ? d.getMonth() : d.getUTCMonth(),
+    date: forceLocalTime ? d.getDate() : d.getUTCDate(),
+    hours: forceLocalTime ? d.getHours() : d.getUTCHours(),
+    minutes: forceLocalTime ? d.getMinutes() : d.getUTCMinutes(),
+    seconds: forceLocalTime ? d.getSeconds() : d.getUTCSeconds()
+  };
+  return val.year - 1980 << 25 | val.month + 1 << 21 | val.date << 16 | val.hours << 11 | val.minutes << 5 | val.seconds / 2;
+}
+function dosToDate(dos) {
+  return new Date(
+    (dos >> 25 & 127) + 1980,
+    (dos >> 21 & 15) - 1,
+    dos >> 16 & 31,
+    dos >> 11 & 31,
+    dos >> 5 & 63,
+    (dos & 31) << 1
+  );
+}
+function getEightBytes(v) {
+  var buf = Buffer.alloc(8);
+  buf.writeUInt32LE(v % 4294967296, 0);
+  buf.writeUInt32LE(v / 4294967296 | 0, 4);
+  return buf;
+}
+function getShortBytes(v) {
+  var buf = Buffer.alloc(2);
+  buf.writeUInt16LE((v & 65535) >>> 0, 0);
+  return buf;
+}
+function getShortBytesValue(buf, offset) {
+  return buf.readUInt16LE(offset);
+}
+function getLongBytes(v) {
+  var buf = Buffer.alloc(4);
+  buf.writeUInt32LE((v & 4294967295) >>> 0, 0);
+  return buf;
+}
+
+// node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js
+var DATA_DESCRIPTOR_FLAG = 1 << 3;
+var ENCRYPTION_FLAG = 1 << 0;
+var NUMBER_OF_SHANNON_FANO_TREES_FLAG = 1 << 2;
+var SLIDING_DICTIONARY_SIZE_FLAG = 1 << 1;
+var STRONG_ENCRYPTION_FLAG = 1 << 6;
+var UFT8_NAMES_FLAG = 1 << 11;
+var GeneralPurposeBit = class _GeneralPurposeBit {
+  constructor() {
+    this.descriptor = false;
+    this.encryption = false;
+    this.utf8 = false;
+    this.numberOfShannonFanoTrees = 0;
+    this.strongEncryption = false;
+    this.slidingDictionarySize = 0;
+    return this;
+  }
+  encode() {
+    return getShortBytes(
+      (this.descriptor ? DATA_DESCRIPTOR_FLAG : 0) | (this.utf8 ? UFT8_NAMES_FLAG : 0) | (this.encryption ? ENCRYPTION_FLAG : 0) | (this.strongEncryption ? STRONG_ENCRYPTION_FLAG : 0)
+    );
+  }
+  static parse(buf, offset) {
+    var flag = getShortBytesValue(buf, offset);
+    var gbp = new _GeneralPurposeBit();
+    gbp.useDataDescriptor((flag & DATA_DESCRIPTOR_FLAG) !== 0);
+    gbp.useUTF8ForNames((flag & UFT8_NAMES_FLAG) !== 0);
+    gbp.useStrongEncryption((flag & STRONG_ENCRYPTION_FLAG) !== 0);
+    gbp.useEncryption((flag & ENCRYPTION_FLAG) !== 0);
+    gbp.setSlidingDictionarySize(
+      (flag & SLIDING_DICTIONARY_SIZE_FLAG) !== 0 ? 8192 : 4096
+    );
+    gbp.setNumberOfShannonFanoTrees(
+      (flag & NUMBER_OF_SHANNON_FANO_TREES_FLAG) !== 0 ? 3 : 2
+    );
+    return gbp;
+  }
+  setNumberOfShannonFanoTrees(n) {
+    this.numberOfShannonFanoTrees = n;
+  }
+  getNumberOfShannonFanoTrees() {
+    return this.numberOfShannonFanoTrees;
+  }
+  setSlidingDictionarySize(n) {
+    this.slidingDictionarySize = n;
+  }
+  getSlidingDictionarySize() {
+    return this.slidingDictionarySize;
+  }
+  useDataDescriptor(b) {
+    this.descriptor = b;
+  }
+  usesDataDescriptor() {
+    return this.descriptor;
+  }
+  useEncryption(b) {
+    this.encryption = b;
+  }
+  usesEncryption() {
+    return this.encryption;
+  }
+  useStrongEncryption(b) {
+    this.strongEncryption = b;
+  }
+  usesStrongEncryption() {
+    return this.strongEncryption;
+  }
+  useUTF8ForNames(b) {
+    this.utf8 = b;
+  }
+  usesUTF8ForNames() {
+    return this.utf8;
+  }
+};
+
+// node_modules/compress-commons/lib/archivers/zip/unix-stat.js
+var PERM_MASK = 4095;
+var FILE_TYPE_FLAG = 61440;
+var LINK_FLAG = 40960;
+var FILE_FLAG = 32768;
+var DIR_FLAG = 16384;
+var DEFAULT_LINK_PERM = 511;
+var DEFAULT_DIR_PERM = 493;
+var DEFAULT_FILE_PERM = 420;
+var unix_stat_default = {
+  PERM_MASK,
+  FILE_TYPE_FLAG,
+  LINK_FLAG,
+  FILE_FLAG,
+  DIR_FLAG,
+  DEFAULT_LINK_PERM,
+  DEFAULT_DIR_PERM,
+  DEFAULT_FILE_PERM
+};
+
+// node_modules/compress-commons/lib/archivers/zip/constants.js
+var EMPTY = Buffer.alloc(0);
+var SHORT_MASK = 65535;
+var SHORT_SHIFT = 16;
+var SHORT_ZERO = Buffer.from(Array(2));
+var LONG_ZERO = Buffer.from(Array(4));
+var MIN_VERSION_INITIAL = 10;
+var MIN_VERSION_DATA_DESCRIPTOR = 20;
+var MIN_VERSION_ZIP64 = 45;
+var VERSION_MADEBY = 45;
+var METHOD_STORED = 0;
+var METHOD_DEFLATED = 8;
+var PLATFORM_UNIX = 3;
+var PLATFORM_FAT = 0;
+var SIG_LFH = 67324752;
+var SIG_DD = 134695760;
+var SIG_CFH = 33639248;
+var SIG_EOCD = 101010256;
+var SIG_ZIP64_EOCD = 101075792;
+var SIG_ZIP64_EOCD_LOC = 117853008;
+var ZIP64_MAGIC_SHORT = 65535;
+var ZIP64_MAGIC = 4294967295;
+var ZIP64_EXTRA_ID = 1;
+var ZLIB_BEST_SPEED = 1;
+var MODE_MASK = 4095;
+var S_IFDIR = 16384;
+var S_IFREG = 32768;
+var S_DOS_A = 32;
+var S_DOS_D = 16;
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js
+var ZipArchiveEntry = class extends ArchiveEntry {
+  constructor(name) {
+    super();
+    this.platform = PLATFORM_FAT;
+    this.method = -1;
+    this.name = null;
+    this.size = 0;
+    this.csize = 0;
+    this.gpb = new GeneralPurposeBit();
+    this.crc = 0;
+    this.time = -1;
+    this.minver = MIN_VERSION_INITIAL;
+    this.mode = -1;
+    this.extra = null;
+    this.exattr = 0;
+    this.inattr = 0;
+    this.comment = null;
+    if (name) {
+      this.setName(name);
+    }
+  }
+  /**
+   * Returns the extra fields related to the entry.
+   *
+   * @returns {Buffer}
+   */
+  getCentralDirectoryExtra() {
+    return this.getExtra();
+  }
+  /**
+   * Returns the comment set for the entry.
+   *
+   * @returns {string}
+   */
+  getComment() {
+    return this.comment !== null ? this.comment : "";
+  }
+  /**
+   * Returns the compressed size of the entry.
+   *
+   * @returns {number}
+   */
+  getCompressedSize() {
+    return this.csize;
+  }
+  /**
+   * Returns the CRC32 digest for the entry.
+   *
+   * @returns {number}
+   */
+  getCrc() {
+    return this.crc;
+  }
+  /**
+   * Returns the external file attributes for the entry.
+   *
+   * @returns {number}
+   */
+  getExternalAttributes = function() {
+    return this.exattr;
+  };
+  /**
+   * Returns the extra fields related to the entry.
+   *
+   * @returns {Buffer}
+   */
+  getExtra() {
+    return this.extra !== null ? this.extra : EMPTY;
+  }
+  /**
+   * Returns the general purpose bits related to the entry.
+   *
+   * @returns {GeneralPurposeBit}
+   */
+  getGeneralPurposeBit() {
+    return this.gpb;
+  }
+  /**
+   * Returns the internal file attributes for the entry.
+   *
+   * @returns {number}
+   */
+  getInternalAttributes() {
+    return this.inattr;
+  }
+  /**
+   * Returns the last modified date of the entry.
+   *
+   * @returns {number}
+   */
+  getLastModifiedDate() {
+    return this.getTime();
+  }
+  /**
+   * Returns the extra fields related to the entry.
+   *
+   * @returns {Buffer}
+   */
+  getLocalFileDataExtra() {
+    return this.getExtra();
+  }
+  /**
+   * Returns the compression method used on the entry.
+   *
+   * @returns {number}
+   */
+  getMethod() {
+    return this.method;
+  }
+  /**
+   * Returns the filename of the entry.
+   *
+   * @returns {string}
+   */
+  getName() {
+    return this.name;
+  }
+  /**
+   * Returns the platform on which the entry was made.
+   *
+   * @returns {number}
+   */
+  getPlatform() {
+    return this.platform;
+  }
+  /**
+   * Returns the size of the entry.
+   *
+   * @returns {number}
+   */
+  getSize() {
+    return this.size;
+  }
+  /**
+   * Returns a date object representing the last modified date of the entry.
+   *
+   * @returns {number|Date}
+   */
+  getTime() {
+    return this.time !== -1 ? dosToDate(this.time) : -1;
+  }
+  /**
+   * Returns the DOS timestamp for the entry.
+   *
+   * @returns {number}
+   */
+  getTimeDos() {
+    return this.time !== -1 ? this.time : 0;
+  }
+  /**
+   * Returns the UNIX file permissions for the entry.
+   *
+   * @returns {number}
+   */
+  getUnixMode() {
+    return this.platform !== PLATFORM_UNIX ? 0 : this.getExternalAttributes() >> SHORT_SHIFT & SHORT_MASK;
+  }
+  /**
+   * Returns the version of ZIP needed to extract the entry.
+   *
+   * @returns {number}
+   */
+  getVersionNeededToExtract() {
+    return this.minver;
+  }
+  /**
+   * Sets the comment of the entry.
+   *
+   * @param comment
+   */
+  setComment(comment) {
+    if (Buffer.byteLength(comment) !== comment.length) {
+      this.getGeneralPurposeBit().useUTF8ForNames(true);
+    }
+    this.comment = comment;
+  }
+  /**
+   * Sets the compressed size of the entry.
+   *
+   * @param size
+   */
+  setCompressedSize(size) {
+    if (size < 0) {
+      throw new Error("invalid entry compressed size");
+    }
+    this.csize = size;
+  }
+  /**
+   * Sets the checksum of the entry.
+   *
+   * @param crc
+   */
+  setCrc(crc) {
+    if (crc < 0) {
+      throw new Error("invalid entry crc32");
+    }
+    this.crc = crc;
+  }
+  /**
+   * Sets the external file attributes of the entry.
+   *
+   * @param attr
+   */
+  setExternalAttributes(attr) {
+    this.exattr = attr >>> 0;
+  }
+  /**
+   * Sets the extra fields related to the entry.
+   *
+   * @param extra
+   */
+  setExtra(extra) {
+    this.extra = extra;
+  }
+  /**
+   * Sets the general purpose bits related to the entry.
+   *
+   * @param gpb
+   */
+  setGeneralPurposeBit(gpb) {
+    if (!(gpb instanceof GeneralPurposeBit)) {
+      throw new Error("invalid entry GeneralPurposeBit");
+    }
+    this.gpb = gpb;
+  }
+  /**
+   * Sets the internal file attributes of the entry.
+   *
+   * @param attr
+   */
+  setInternalAttributes(attr) {
+    this.inattr = attr;
+  }
+  /**
+   * Sets the compression method of the entry.
+   *
+   * @param method
+   */
+  setMethod(method) {
+    if (method < 0) {
+      throw new Error("invalid entry compression method");
+    }
+    this.method = method;
+  }
+  /**
+   * Sets the name of the entry.
+   *
+   * @param name
+   * @param prependSlash
+   */
+  setName(name, prependSlash = false) {
+    name = (0, import_normalize_path2.default)(name, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+    if (prependSlash) {
+      name = `/${name}`;
+    }
+    if (Buffer.byteLength(name) !== name.length) {
+      this.getGeneralPurposeBit().useUTF8ForNames(true);
+    }
+    this.name = name;
+  }
+  /**
+   * Sets the platform on which the entry was made.
+   *
+   * @param platform
+   */
+  setPlatform(platform2) {
+    this.platform = platform2;
+  }
+  /**
+   * Sets the size of the entry.
+   *
+   * @param size
+   */
+  setSize(size) {
+    if (size < 0) {
+      throw new Error("invalid entry size");
+    }
+    this.size = size;
+  }
+  /**
+   * Sets the time of the entry.
+   *
+   * @param time
+   * @param forceLocalTime
+   */
+  setTime(time, forceLocalTime) {
+    if (!(time instanceof Date)) {
+      throw new Error("invalid entry time");
+    }
+    this.time = dateToDos(time, forceLocalTime);
+  }
+  /**
+   * Sets the UNIX file permissions for the entry.
+   *
+   * @param mode
+   */
+  setUnixMode(mode) {
+    mode |= this.isDirectory() ? S_IFDIR : S_IFREG;
+    var extattr = 0;
+    extattr |= mode << SHORT_SHIFT | (this.isDirectory() ? S_DOS_D : S_DOS_A);
+    this.setExternalAttributes(extattr);
+    this.mode = mode & MODE_MASK;
+    this.platform = PLATFORM_UNIX;
+  }
+  /**
+   * Sets the version of ZIP needed to extract this entry.
+   *
+   * @param minver
+   */
+  setVersionNeededToExtract(minver) {
+    this.minver = minver;
+  }
+  /**
+   * Returns true if this entry represents a directory.
+   *
+   * @returns {boolean}
+   */
+  isDirectory() {
+    return this.getName().slice(-1) === "/";
+  }
+  /**
+   * Returns true if this entry represents a unix symlink,
+   * in which case the entry's content contains the target path
+   * for the symlink.
+   *
+   * @returns {boolean}
+   */
+  isUnixSymlink() {
+    return (this.getUnixMode() & unix_stat_default.FILE_TYPE_FLAG) === unix_stat_default.LINK_FLAG;
+  }
+  /**
+   * Returns true if this entry is using the ZIP64 extension of ZIP.
+   *
+   * @returns {boolean}
+   */
+  isZip64() {
+    return this.csize > ZIP64_MAGIC || this.size > ZIP64_MAGIC;
+  }
+};
+
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var import_readable_stream4 = __toESM(require_ours(), 1);
+
+// node_modules/compress-commons/lib/util/index.js
+var import_readable_stream3 = __toESM(require_ours(), 1);
+function normalizeInputSource2(source) {
+  if (source === null) {
+    return Buffer.alloc(0);
+  } else if (typeof source === "string") {
+    return Buffer.from(source);
+  } else if (isStream(source) && !source._readableState) {
+    var normalized = new import_readable_stream3.PassThrough();
+    source.pipe(normalized);
+    return normalized;
+  }
+  return source;
+}
+
+// node_modules/compress-commons/lib/archivers/archive-output-stream.js
+var ArchiveOutputStream = class extends import_readable_stream4.Transform {
+  constructor(options) {
+    super(options);
+    this.offset = 0;
+    this._archive = {
+      finish: false,
+      finished: false,
+      processing: false
+    };
+  }
+  _appendBuffer(zae, source, callback) {
+  }
+  _appendStream(zae, source, callback) {
+  }
+  _emitErrorCallback = function(err) {
+    if (err) {
+      this.emit("error", err);
+    }
+  };
+  _finish(ae) {
+  }
+  _normalizeEntry(ae) {
+  }
+  _transform(chunk, encoding, callback) {
+    callback(null, chunk);
+  }
+  entry(ae, source, callback) {
+    source = source || null;
+    if (typeof callback !== "function") {
+      callback = this._emitErrorCallback.bind(this);
+    }
+    if (!(ae instanceof ArchiveEntry)) {
+      callback(new Error("not a valid instance of ArchiveEntry"));
+      return;
+    }
+    if (this._archive.finish || this._archive.finished) {
+      callback(new Error("unacceptable entry after finish"));
+      return;
+    }
+    if (this._archive.processing) {
+      callback(new Error("already processing an entry"));
+      return;
+    }
+    this._archive.processing = true;
+    this._normalizeEntry(ae);
+    this._entry = ae;
+    source = normalizeInputSource2(source);
+    if (Buffer.isBuffer(source)) {
+      this._appendBuffer(ae, source, callback);
+    } else if (isStream(source)) {
+      this._appendStream(ae, source, callback);
+    } else {
+      this._archive.processing = false;
+      callback(
+        new Error("input source must be valid Stream or Buffer instance")
+      );
+      return;
+    }
+    return this;
+  }
+  finish() {
+    if (this._archive.processing) {
+      this._archive.finish = true;
+      return;
+    }
+    this._finish();
+  }
+  getBytesWritten() {
+    return this.offset;
+  }
+  write(chunk, cb) {
+    if (chunk) {
+      this.offset += chunk.length;
+    }
+    return super.write(chunk, cb);
+  }
+};
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+var import_crc_323 = __toESM(require_crc32(), 1);
+
+// node_modules/crc32-stream/lib/crc32-stream.js
+var import_readable_stream5 = __toESM(require_ours(), 1);
+var import_crc_32 = __toESM(require_crc32(), 1);
+var CRC32Stream = class extends import_readable_stream5.Transform {
+  constructor(options) {
+    super(options);
+    this.checksum = Buffer.allocUnsafe(4);
+    this.checksum.writeInt32BE(0, 0);
+    this.rawSize = 0;
+  }
+  _transform(chunk, encoding, callback) {
+    if (chunk) {
+      this.checksum = import_crc_32.default.buf(chunk, this.checksum) >>> 0;
+      this.rawSize += chunk.length;
+    }
+    callback(null, chunk);
+  }
+  digest(encoding) {
+    const checksum = Buffer.allocUnsafe(4);
+    checksum.writeUInt32BE(this.checksum >>> 0, 0);
+    return encoding ? checksum.toString(encoding) : checksum;
+  }
+  hex() {
+    return this.digest("hex").toUpperCase();
+  }
+  size() {
+    return this.rawSize;
+  }
+};
+
+// node_modules/crc32-stream/lib/deflate-crc32-stream.js
+var import_zlib2 = require("zlib");
+var import_crc_322 = __toESM(require_crc32(), 1);
+var DeflateCRC32Stream = class extends import_zlib2.DeflateRaw {
+  constructor(options) {
+    super(options);
+    this.checksum = Buffer.allocUnsafe(4);
+    this.checksum.writeInt32BE(0, 0);
+    this.rawSize = 0;
+    this.compressedSize = 0;
+  }
+  push(chunk, encoding) {
+    if (chunk) {
+      this.compressedSize += chunk.length;
+    }
+    return super.push(chunk, encoding);
+  }
+  _transform(chunk, encoding, callback) {
+    if (chunk) {
+      this.checksum = import_crc_322.default.buf(chunk, this.checksum) >>> 0;
+      this.rawSize += chunk.length;
+    }
+    super._transform(chunk, encoding, callback);
+  }
+  digest(encoding) {
+    const checksum = Buffer.allocUnsafe(4);
+    checksum.writeUInt32BE(this.checksum >>> 0, 0);
+    return encoding ? checksum.toString(encoding) : checksum;
+  }
+  hex() {
+    return this.digest("hex").toUpperCase();
+  }
+  size(compressed = false) {
+    if (compressed) {
+      return this.compressedSize;
+    } else {
+      return this.rawSize;
+    }
+  }
+};
+
+// node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js
+function _defaults(o) {
+  if (typeof o !== "object") {
+    o = {};
+  }
+  if (typeof o.zlib !== "object") {
+    o.zlib = {};
+  }
+  if (typeof o.zlib.level !== "number") {
+    o.zlib.level = ZLIB_BEST_SPEED;
+  }
+  o.forceZip64 = !!o.forceZip64;
+  o.forceLocalTime = !!o.forceLocalTime;
+  return o;
+}
+var ZipArchiveOutputStream = class extends ArchiveOutputStream {
+  constructor(options) {
+    const _options = _defaults(options);
+    super(_options);
+    this.options = _options;
+    this._entry = null;
+    this._entries = [];
+    this._archive = {
+      centralLength: 0,
+      centralOffset: 0,
+      comment: "",
+      finish: false,
+      finished: false,
+      processing: false,
+      forceZip64: _options.forceZip64,
+      forceLocalTime: _options.forceLocalTime
+    };
+  }
+  _afterAppend(ae) {
+    this._entries.push(ae);
+    if (ae.getGeneralPurposeBit().usesDataDescriptor()) {
+      this._writeDataDescriptor(ae);
+    }
+    this._archive.processing = false;
+    this._entry = null;
+    if (this._archive.finish && !this._archive.finished) {
+      this._finish();
+    }
+  }
+  _appendBuffer(ae, source, callback) {
+    if (source.length === 0) {
+      ae.setMethod(METHOD_STORED);
+    }
+    var method = ae.getMethod();
+    if (method === METHOD_STORED) {
+      ae.setSize(source.length);
+      ae.setCompressedSize(source.length);
+      ae.setCrc(import_crc_323.default.buf(source) >>> 0);
+    }
+    this._writeLocalFileHeader(ae);
+    if (method === METHOD_STORED) {
+      this.write(source);
+      this._afterAppend(ae);
+      callback(null, ae);
+      return;
+    } else if (method === METHOD_DEFLATED) {
+      this._smartStream(ae, callback).end(source);
+      return;
+    } else {
+      callback(new Error("compression method " + method + " not implemented"));
+      return;
+    }
+  }
+  _appendStream(ae, source, callback) {
+    ae.getGeneralPurposeBit().useDataDescriptor(true);
+    ae.setVersionNeededToExtract(MIN_VERSION_DATA_DESCRIPTOR);
+    this._writeLocalFileHeader(ae);
+    var smart = this._smartStream(ae, callback);
+    source.once("error", function(err) {
+      smart.emit("error", err);
+      smart.end();
+    });
+    source.pipe(smart);
+  }
+  _finish() {
+    this._archive.centralOffset = this.offset;
+    this._entries.forEach(
+      function(ae) {
+        this._writeCentralFileHeader(ae);
+      }.bind(this)
+    );
+    this._archive.centralLength = this.offset - this._archive.centralOffset;
+    if (this.isZip64()) {
+      this._writeCentralDirectoryZip64();
+    }
+    this._writeCentralDirectoryEnd();
+    this._archive.processing = false;
+    this._archive.finish = true;
+    this._archive.finished = true;
+    this.end();
+  }
+  _normalizeEntry(ae) {
+    if (ae.getMethod() === -1) {
+      ae.setMethod(METHOD_DEFLATED);
+    }
+    if (ae.getMethod() === METHOD_DEFLATED) {
+      ae.getGeneralPurposeBit().useDataDescriptor(true);
+      ae.setVersionNeededToExtract(MIN_VERSION_DATA_DESCRIPTOR);
+    }
+    if (ae.getTime() === -1) {
+      ae.setTime(/* @__PURE__ */ new Date(), this._archive.forceLocalTime);
+    }
+    ae._offsets = {
+      file: 0,
+      data: 0,
+      contents: 0
+    };
+  }
+  _smartStream(ae, callback) {
+    var deflate = ae.getMethod() === METHOD_DEFLATED;
+    var process2 = deflate ? new DeflateCRC32Stream(this.options.zlib) : new CRC32Stream();
+    var error3 = null;
+    function handleStuff() {
+      var digest = process2.digest().readUInt32BE(0);
+      ae.setCrc(digest);
+      ae.setSize(process2.size());
+      ae.setCompressedSize(process2.size(true));
+      this._afterAppend(ae);
+      callback(error3, ae);
+    }
+    process2.once("end", handleStuff.bind(this));
+    process2.once("error", function(err) {
+      error3 = err;
+    });
+    process2.pipe(this, { end: false });
+    return process2;
+  }
+  _writeCentralDirectoryEnd() {
+    var records = this._entries.length;
+    var size = this._archive.centralLength;
+    var offset = this._archive.centralOffset;
+    if (this.isZip64()) {
+      records = ZIP64_MAGIC_SHORT;
+      size = ZIP64_MAGIC;
+      offset = ZIP64_MAGIC;
+    }
+    this.write(getLongBytes(SIG_EOCD));
+    this.write(SHORT_ZERO);
+    this.write(SHORT_ZERO);
+    this.write(getShortBytes(records));
+    this.write(getShortBytes(records));
+    this.write(getLongBytes(size));
+    this.write(getLongBytes(offset));
+    var comment = this.getComment();
+    var commentLength = Buffer.byteLength(comment);
+    this.write(getShortBytes(commentLength));
+    this.write(comment);
+  }
+  _writeCentralDirectoryZip64() {
+    this.write(getLongBytes(SIG_ZIP64_EOCD));
+    this.write(getEightBytes(44));
+    this.write(getShortBytes(MIN_VERSION_ZIP64));
+    this.write(getShortBytes(MIN_VERSION_ZIP64));
+    this.write(LONG_ZERO);
+    this.write(LONG_ZERO);
+    this.write(getEightBytes(this._entries.length));
+    this.write(getEightBytes(this._entries.length));
+    this.write(getEightBytes(this._archive.centralLength));
+    this.write(getEightBytes(this._archive.centralOffset));
+    this.write(getLongBytes(SIG_ZIP64_EOCD_LOC));
+    this.write(LONG_ZERO);
+    this.write(
+      getEightBytes(this._archive.centralOffset + this._archive.centralLength)
+    );
+    this.write(getLongBytes(1));
+  }
+  _writeCentralFileHeader(ae) {
+    var gpb = ae.getGeneralPurposeBit();
+    var method = ae.getMethod();
+    var fileOffset = ae._offsets.file;
+    var size = ae.getSize();
+    var compressedSize = ae.getCompressedSize();
+    if (ae.isZip64() || fileOffset > ZIP64_MAGIC) {
+      size = ZIP64_MAGIC;
+      compressedSize = ZIP64_MAGIC;
+      fileOffset = ZIP64_MAGIC;
+      ae.setVersionNeededToExtract(MIN_VERSION_ZIP64);
+      var extraBuf = Buffer.concat(
+        [
+          getShortBytes(ZIP64_EXTRA_ID),
+          getShortBytes(24),
+          getEightBytes(ae.getSize()),
+          getEightBytes(ae.getCompressedSize()),
+          getEightBytes(ae._offsets.file)
+        ],
+        28
+      );
+      ae.setExtra(extraBuf);
+    }
+    this.write(getLongBytes(SIG_CFH));
+    this.write(getShortBytes(ae.getPlatform() << 8 | VERSION_MADEBY));
+    this.write(getShortBytes(ae.getVersionNeededToExtract()));
+    this.write(gpb.encode());
+    this.write(getShortBytes(method));
+    this.write(getLongBytes(ae.getTimeDos()));
+    this.write(getLongBytes(ae.getCrc()));
+    this.write(getLongBytes(compressedSize));
+    this.write(getLongBytes(size));
+    var name = ae.getName();
+    var comment = ae.getComment();
+    var extra = ae.getCentralDirectoryExtra();
+    if (gpb.usesUTF8ForNames()) {
+      name = Buffer.from(name);
+      comment = Buffer.from(comment);
+    }
+    this.write(getShortBytes(name.length));
+    this.write(getShortBytes(extra.length));
+    this.write(getShortBytes(comment.length));
+    this.write(SHORT_ZERO);
+    this.write(getShortBytes(ae.getInternalAttributes()));
+    this.write(getLongBytes(ae.getExternalAttributes()));
+    this.write(getLongBytes(fileOffset));
+    this.write(name);
+    this.write(extra);
+    this.write(comment);
+  }
+  _writeDataDescriptor(ae) {
+    this.write(getLongBytes(SIG_DD));
+    this.write(getLongBytes(ae.getCrc()));
+    if (ae.isZip64()) {
+      this.write(getEightBytes(ae.getCompressedSize()));
+      this.write(getEightBytes(ae.getSize()));
+    } else {
+      this.write(getLongBytes(ae.getCompressedSize()));
+      this.write(getLongBytes(ae.getSize()));
+    }
+  }
+  _writeLocalFileHeader(ae) {
+    var gpb = ae.getGeneralPurposeBit();
+    var method = ae.getMethod();
+    var name = ae.getName();
+    var extra = ae.getLocalFileDataExtra();
+    if (ae.isZip64()) {
+      gpb.useDataDescriptor(true);
+      ae.setVersionNeededToExtract(MIN_VERSION_ZIP64);
+    }
+    if (gpb.usesUTF8ForNames()) {
+      name = Buffer.from(name);
+    }
+    ae._offsets.file = this.offset;
+    this.write(getLongBytes(SIG_LFH));
+    this.write(getShortBytes(ae.getVersionNeededToExtract()));
+    this.write(gpb.encode());
+    this.write(getShortBytes(method));
+    this.write(getLongBytes(ae.getTimeDos()));
+    ae._offsets.data = this.offset;
+    if (gpb.usesDataDescriptor()) {
+      this.write(LONG_ZERO);
+      this.write(LONG_ZERO);
+      this.write(LONG_ZERO);
+    } else {
+      this.write(getLongBytes(ae.getCrc()));
+      this.write(getLongBytes(ae.getCompressedSize()));
+      this.write(getLongBytes(ae.getSize()));
+    }
+    this.write(getShortBytes(name.length));
+    this.write(getShortBytes(extra.length));
+    this.write(name);
+    this.write(extra);
+    ae._offsets.contents = this.offset;
+  }
+  getComment(comment) {
+    return this._archive.comment !== null ? this._archive.comment : "";
+  }
+  isZip64() {
+    return this._archive.forceZip64 || this._entries.length > ZIP64_MAGIC_SHORT || this._archive.centralLength > ZIP64_MAGIC || this._archive.centralOffset > ZIP64_MAGIC;
+  }
+  setComment(comment) {
+    this._archive.comment = comment;
+  }
+};
+
+// node_modules/zip-stream/utils.js
+var import_normalize_path3 = __toESM(require_normalize_path(), 1);
+function dateify2(dateish) {
+  dateish = dateish || /* @__PURE__ */ new Date();
+  if (dateish instanceof Date) {
+    dateish = dateish;
+  } else if (typeof dateish === "string") {
+    dateish = new Date(dateish);
+  } else {
+    dateish = /* @__PURE__ */ new Date();
+  }
+  return dateish;
+}
+function sanitizePath2(filepath) {
+  return (0, import_normalize_path3.default)(filepath, false).replace(/^\w+:/, "").replace(/^(\.\.\/|\/)+/, "");
+}
+
+// node_modules/zip-stream/index.js
+var ZipStream = class extends ZipArchiveOutputStream {
+  /**
+   * @constructor
+   * @extends external:ZipArchiveOutputStream
+   * @param {Object} [options]
+   * @param {String} [options.comment] Sets the zip archive comment.
+   * @param {Boolean} [options.forceLocalTime=false] Forces the archive to contain local file times instead of UTC.
+   * @param {Boolean} [options.forceZip64=false] Forces the archive to contain ZIP64 headers.
+   * @param {Boolean} [options.store=false] Sets the compression method to STORE.
+   * @param {Object} [options.zlib] Passed to [zlib]{@link https://nodejs.org/api/zlib.html#zlib_class_options}
+   * to control compression.
+   */
+  constructor(options) {
+    options = options || {};
+    options.zlib = options.zlib || {};
+    if (typeof options.level === "number" && options.level >= 0) {
+      options.zlib.level = options.level;
+      delete options.level;
+    }
+    if (!options.forceZip64 && typeof options.zlib.level === "number" && options.zlib.level === 0) {
+      options.store = true;
+    }
+    options.namePrependSlash = options.namePrependSlash || false;
+    super(options);
+    if (options.comment && options.comment.length > 0) {
+      this.setComment(options.comment);
+    }
+  }
+  /**
+   * Normalizes entry data with fallbacks for key properties.
+   *
+   * @private
+   * @param  {Object} data
+   * @return {Object}
+   */
+  _normalizeFileData(data) {
+    data = {
+      type: "file",
+      name: null,
+      namePrependSlash: this.options.namePrependSlash,
+      linkname: null,
+      date: null,
+      mode: null,
+      store: this.options.store,
+      comment: "",
+      ...data
+    };
+    let isDir = data.type === "directory";
+    const isSymlink = data.type === "symlink";
+    if (data.name) {
+      data.name = sanitizePath2(data.name);
+      if (!isSymlink && data.name.slice(-1) === "/") {
+        isDir = true;
+        data.type = "directory";
+      } else if (isDir) {
+        data.name += "/";
+      }
+    }
+    if (isDir || isSymlink) {
+      data.store = true;
+    }
+    data.date = dateify2(data.date);
+    return data;
+  }
+  /**
+   * Appends an entry given an input source (text string, buffer, or stream).
+   *
+   * @param  {(Buffer|Stream|String)} source The input source.
+   * @param  {Object} data
+   * @param  {String} data.name Sets the entry name including internal path.
+   * @param  {String} [data.comment] Sets the entry comment.
+   * @param  {(String|Date)} [data.date=NOW()] Sets the entry date.
+   * @param  {Number} [data.mode=D:0755/F:0644] Sets the entry permissions.
+   * @param  {Boolean} [data.store=options.store] Sets the compression method to STORE.
+   * @param  {String} [data.type=file] Sets the entry type. Defaults to `directory`
+   * if name ends with trailing slash.
+   * @param  {Function} callback
+   * @return this
+   */
+  entry(source, data, callback) {
+    if (typeof callback !== "function") {
+      callback = this._emitErrorCallback.bind(this);
+    }
+    data = this._normalizeFileData(data);
+    if (data.type !== "file" && data.type !== "directory" && data.type !== "symlink") {
+      callback(new Error(data.type + " entries not currently supported"));
+      return;
+    }
+    if (typeof data.name !== "string" || data.name.length === 0) {
+      callback(new Error("entry name must be a non-empty string value"));
+      return;
+    }
+    if (data.type === "symlink" && typeof data.linkname !== "string") {
+      callback(
+        new Error(
+          "entry linkname must be a non-empty string value when type equals symlink"
+        )
+      );
+      return;
+    }
+    const entry = new ZipArchiveEntry(data.name);
+    entry.setTime(data.date, this.options.forceLocalTime);
+    if (data.namePrependSlash) {
+      entry.setName(data.name, true);
+    }
+    if (data.store) {
+      entry.setMethod(0);
+    }
+    if (data.comment.length > 0) {
+      entry.setComment(data.comment);
+    }
+    if (data.type === "symlink" && typeof data.mode !== "number") {
+      data.mode = 40960;
+    }
+    if (typeof data.mode === "number") {
+      if (data.type === "symlink") {
+        data.mode |= 40960;
+      }
+      entry.setUnixMode(data.mode);
+    }
+    if (data.type === "symlink" && typeof data.linkname === "string") {
+      source = Buffer.from(data.linkname);
+    }
+    return super.entry(entry, source, callback);
+  }
+  /**
+   * Finalizes the instance and prevents further appending to the archive
+   * structure (queue will continue til drained).
+   *
+   * @return void
+   */
+  finalize() {
+    this.finish();
+  }
+};
+
+// node_modules/archiver/lib/plugins/zip.js
+var Zip = class {
+  /**
+   * @constructor
+   * @param {ZipOptions} [options]
+   * @param {String} [options.comment] Sets the zip archive comment.
+   * @param {Boolean} [options.forceLocalTime=false] Forces the archive to contain local file times instead of UTC.
+   * @param {Boolean} [options.forceZip64=false] Forces the archive to contain ZIP64 headers.
+   * @param {Boolean} [options.namePrependSlash=false] Prepends a forward slash to archive file paths.
+   * @param {Boolean} [options.store=false] Sets the compression method to STORE.
+   * @param {Object} [options.zlib] Passed to [zlib]{@link https://nodejs.org/api/zlib.html#zlib_class_options}
+   */
+  constructor(options) {
+    options = this.options = {
+      comment: "",
+      forceUTC: false,
+      namePrependSlash: false,
+      store: false,
+      ...options
+    };
+    this.engine = new ZipStream(options);
+  }
+  /**
+   * @param  {(Buffer|Stream)} source
+   * @param  {ZipEntryData} data
+   * @param  {String} data.name Sets the entry name including internal path.
+   * @param  {(String|Date)} [data.date=NOW()] Sets the entry date.
+   * @param  {Number} [data.mode=D:0755/F:0644] Sets the entry permissions.
+   * @param  {String} [data.prefix] Sets a path prefix for the entry name. Useful
+   * when working with methods like `directory` or `glob`.
+   * @param  {fs.Stats} [data.stats] Sets the fs stat data for this entry allowing
+   * for reduction of fs stat calls when stat data is already known.
+   * @param  {Boolean} [data.store=ZipOptions.store] Sets the compression method to STORE.
+   * @param  {Function} callback
+   * @return void
+   */
+  append(source, data, callback) {
+    this.engine.entry(source, data, callback);
+  }
+  /**
+   * @return void
+   */
+  finalize() {
+    this.engine.finalize();
+  }
+  /**
+   * @return this.engine
+   */
+  on() {
+    return this.engine.on.apply(this.engine, arguments);
+  }
+  /**
+   * @return this.engine
+   */
+  pipe() {
+    return this.engine.pipe.apply(this.engine, arguments);
+  }
+  /**
+   * @return this.engine
+   */
+  unpipe() {
+    return this.engine.unpipe.apply(this.engine, arguments);
+  }
+};
+
+// node_modules/archiver/lib/plugins/tar.js
+var import_tar_stream = __toESM(require_tar_stream(), 1);
+
+// node_modules/archiver/lib/plugins/json.js
+var import_readable_stream6 = __toESM(require_ours(), 1);
+
+// node_modules/buffer-crc32/dist/index.mjs
+var CRC_TABLE = new Int32Array([
+  0,
+  1996959894,
+  3993919788,
+  2567524794,
+  124634137,
+  1886057615,
+  3915621685,
+  2657392035,
+  249268274,
+  2044508324,
+  3772115230,
+  2547177864,
+  162941995,
+  2125561021,
+  3887607047,
+  2428444049,
+  498536548,
+  1789927666,
+  4089016648,
+  2227061214,
+  450548861,
+  1843258603,
+  4107580753,
+  2211677639,
+  325883990,
+  1684777152,
+  4251122042,
+  2321926636,
+  335633487,
+  1661365465,
+  4195302755,
+  2366115317,
+  997073096,
+  1281953886,
+  3579855332,
+  2724688242,
+  1006888145,
+  1258607687,
+  3524101629,
+  2768942443,
+  901097722,
+  1119000684,
+  3686517206,
+  2898065728,
+  853044451,
+  1172266101,
+  3705015759,
+  2882616665,
+  651767980,
+  1373503546,
+  3369554304,
+  3218104598,
+  565507253,
+  1454621731,
+  3485111705,
+  3099436303,
+  671266974,
+  1594198024,
+  3322730930,
+  2970347812,
+  795835527,
+  1483230225,
+  3244367275,
+  3060149565,
+  1994146192,
+  31158534,
+  2563907772,
+  4023717930,
+  1907459465,
+  112637215,
+  2680153253,
+  3904427059,
+  2013776290,
+  251722036,
+  2517215374,
+  3775830040,
+  2137656763,
+  141376813,
+  2439277719,
+  3865271297,
+  1802195444,
+  476864866,
+  2238001368,
+  4066508878,
+  1812370925,
+  453092731,
+  2181625025,
+  4111451223,
+  1706088902,
+  314042704,
+  2344532202,
+  4240017532,
+  1658658271,
+  366619977,
+  2362670323,
+  4224994405,
+  1303535960,
+  984961486,
+  2747007092,
+  3569037538,
+  1256170817,
+  1037604311,
+  2765210733,
+  3554079995,
+  1131014506,
+  879679996,
+  2909243462,
+  3663771856,
+  1141124467,
+  855842277,
+  2852801631,
+  3708648649,
+  1342533948,
+  654459306,
+  3188396048,
+  3373015174,
+  1466479909,
+  544179635,
+  3110523913,
+  3462522015,
+  1591671054,
+  702138776,
+  2966460450,
+  3352799412,
+  1504918807,
+  783551873,
+  3082640443,
+  3233442989,
+  3988292384,
+  2596254646,
+  62317068,
+  1957810842,
+  3939845945,
+  2647816111,
+  81470997,
+  1943803523,
+  3814918930,
+  2489596804,
+  225274430,
+  2053790376,
+  3826175755,
+  2466906013,
+  167816743,
+  2097651377,
+  4027552580,
+  2265490386,
+  503444072,
+  1762050814,
+  4150417245,
+  2154129355,
+  426522225,
+  1852507879,
+  4275313526,
+  2312317920,
+  282753626,
+  1742555852,
+  4189708143,
+  2394877945,
+  397917763,
+  1622183637,
+  3604390888,
+  2714866558,
+  953729732,
+  1340076626,
+  3518719985,
+  2797360999,
+  1068828381,
+  1219638859,
+  3624741850,
+  2936675148,
+  906185462,
+  1090812512,
+  3747672003,
+  2825379669,
+  829329135,
+  1181335161,
+  3412177804,
+  3160834842,
+  628085408,
+  1382605366,
+  3423369109,
+  3138078467,
+  570562233,
+  1426400815,
+  3317316542,
+  2998733608,
+  733239954,
+  1555261956,
+  3268935591,
+  3050360625,
+  752459403,
+  1541320221,
+  2607071920,
+  3965973030,
+  1969922972,
+  40735498,
+  2617837225,
+  3943577151,
+  1913087877,
+  83908371,
+  2512341634,
+  3803740692,
+  2075208622,
+  213261112,
+  2463272603,
+  3855990285,
+  2094854071,
+  198958881,
+  2262029012,
+  4057260610,
+  1759359992,
+  534414190,
+  2176718541,
+  4139329115,
+  1873836001,
+  414664567,
+  2282248934,
+  4279200368,
+  1711684554,
+  285281116,
+  2405801727,
+  4167216745,
+  1634467795,
+  376229701,
+  2685067896,
+  3608007406,
+  1308918612,
+  956543938,
+  2808555105,
+  3495958263,
+  1231636301,
+  1047427035,
+  2932959818,
+  3654703836,
+  1088359270,
+  936918e3,
+  2847714899,
+  3736837829,
+  1202900863,
+  817233897,
+  3183342108,
+  3401237130,
+  1404277552,
+  615818150,
+  3134207493,
+  3453421203,
+  1423857449,
+  601450431,
+  3009837614,
+  3294710456,
+  1567103746,
+  711928724,
+  3020668471,
+  3272380065,
+  1510334235,
+  755167117
+]);
+function ensureBuffer(input) {
+  if (Buffer.isBuffer(input)) {
+    return input;
+  }
+  if (typeof input === "number") {
+    return Buffer.alloc(input);
+  } else if (typeof input === "string") {
+    return Buffer.from(input);
+  } else {
+    throw new Error("input must be buffer, number, or string, received " + typeof input);
+  }
+}
+function bufferizeInt(num) {
+  const tmp = ensureBuffer(4);
+  tmp.writeInt32BE(num, 0);
+  return tmp;
+}
+function _crc32(buf, previous) {
+  buf = ensureBuffer(buf);
+  if (Buffer.isBuffer(previous)) {
+    previous = previous.readUInt32BE(0);
+  }
+  let crc = ~~previous ^ -1;
+  for (var n = 0; n < buf.length; n++) {
+    crc = CRC_TABLE[(crc ^ buf[n]) & 255] ^ crc >>> 8;
+  }
+  return crc ^ -1;
+}
+function crc324() {
+  return bufferizeInt(_crc32.apply(null, arguments));
+}
+crc324.signed = function() {
+  return _crc32.apply(null, arguments);
+};
+crc324.unsigned = function() {
+  return _crc32.apply(null, arguments) >>> 0;
+};
+
+// node_modules/archiver/index.js
+var ZipArchive = class extends Archiver {
+  constructor(options) {
+    super(options);
+    this._format = "zip";
+    this._module = new Zip(options);
+    this._supportsDirectory = true;
+    this._supportsSymlink = true;
+    this._modulePipe();
+  }
+};
 
 // src/artifact-scanner.ts
-var fs24 = __toESM(require("fs"));
+var fs25 = __toESM(require("fs"));
 var os6 = __toESM(require("os"));
-var path21 = __toESM(require("path"));
+var path22 = __toESM(require("path"));
 var exec = __toESM(require_exec());
 var GITHUB_PAT_CLASSIC_PATTERN = {
   type: "Personal Access Token (Classic)" /* PersonalAccessClassic */,
@@ -157946,17 +159422,17 @@ function isAuthToken(value, patterns = GITHUB_TOKEN_PATTERNS) {
   }
   return void 0;
 }
-function scanFileForTokens(filePath, relativePath, logger2) {
+function scanFileForTokens(filePath, relativePath2, logger2) {
   const findings = [];
   try {
-    const content = fs24.readFileSync(filePath, "utf8");
+    const content = fs25.readFileSync(filePath, "utf8");
     for (const { type, pattern } of GITHUB_TOKEN_PATTERNS) {
       const matches = content.match(pattern);
       if (matches) {
         for (let i = 0; i < matches.length; i++) {
-          findings.push({ tokenType: type, filePath: relativePath });
+          findings.push({ tokenType: type, filePath: relativePath2 });
         }
-        logger2.debug(`Found ${matches.length} ${type}(s) in ${relativePath}`);
+        logger2.debug(`Found ${matches.length} ${type}(s) in ${relativePath2}`);
       }
     }
     return findings;
@@ -157982,10 +159458,10 @@ async function scanArchiveFile(archivePath, relativeArchivePath, extractDir, log
     findings: []
   };
   try {
-    const tempExtractDir = fs24.mkdtempSync(
-      path21.join(extractDir, `extract-${depth}-`)
+    const tempExtractDir = fs25.mkdtempSync(
+      path22.join(extractDir, `extract-${depth}-`)
     );
-    const fileName = path21.basename(archivePath).toLowerCase();
+    const fileName = path22.basename(archivePath).toLowerCase();
     if (fileName.endsWith(".tar.gz") || fileName.endsWith(".tgz")) {
       logger2.debug(`Extracting tar.gz file: ${archivePath}`);
       await exec.exec("tar", ["-xzf", archivePath, "-C", tempExtractDir], {
@@ -158002,21 +159478,21 @@ async function scanArchiveFile(archivePath, relativeArchivePath, extractDir, log
       );
     } else if (fileName.endsWith(".zst")) {
       logger2.debug(`Extracting zst file: ${archivePath}`);
-      const outputFile = path21.join(
+      const outputFile = path22.join(
         tempExtractDir,
-        path21.basename(archivePath, ".zst")
+        path22.basename(archivePath, ".zst")
       );
       await exec.exec("zstd", ["-d", archivePath, "-o", outputFile], {
         silent: true
       });
     } else if (fileName.endsWith(".gz")) {
       logger2.debug(`Extracting gz file: ${archivePath}`);
-      const outputFile = path21.join(
+      const outputFile = path22.join(
         tempExtractDir,
-        path21.basename(archivePath, ".gz")
+        path22.basename(archivePath, ".gz")
       );
       await exec.exec("gunzip", ["-c", archivePath], {
-        outStream: fs24.createWriteStream(outputFile),
+        outStream: fs25.createWriteStream(outputFile),
         silent: true
       });
     } else if (fileName.endsWith(".zip")) {
@@ -158037,7 +159513,7 @@ async function scanArchiveFile(archivePath, relativeArchivePath, extractDir, log
     );
     result.scannedFiles += scanResult.scannedFiles;
     result.findings.push(...scanResult.findings);
-    fs24.rmSync(tempExtractDir, { recursive: true, force: true });
+    fs25.rmSync(tempExtractDir, { recursive: true, force: true });
   } catch (e) {
     logger2.debug(
       `Could not extract or scan archive file ${archivePath}: ${getErrorMessage(e)}`
@@ -158045,17 +159521,17 @@ async function scanArchiveFile(archivePath, relativeArchivePath, extractDir, log
   }
   return result;
 }
-async function scanFile(fullPath, relativePath, extractDir, logger2, depth = 0) {
+async function scanFile(fullPath, relativePath2, extractDir, logger2, depth = 0) {
   const result = {
     scannedFiles: 1,
     findings: []
   };
-  const fileName = path21.basename(fullPath).toLowerCase();
+  const fileName = path22.basename(fullPath).toLowerCase();
   const isArchive = fileName.endsWith(".zip") || fileName.endsWith(".tar.gz") || fileName.endsWith(".tgz") || fileName.endsWith(".tar.zst") || fileName.endsWith(".zst") || fileName.endsWith(".gz");
   if (isArchive) {
     const archiveResult = await scanArchiveFile(
       fullPath,
-      relativePath,
+      relativePath2,
       extractDir,
       logger2,
       depth
@@ -158063,7 +159539,7 @@ async function scanFile(fullPath, relativePath, extractDir, logger2, depth = 0)
     result.scannedFiles += archiveResult.scannedFiles;
     result.findings.push(...archiveResult.findings);
   }
-  const fileFindings = scanFileForTokens(fullPath, relativePath, logger2);
+  const fileFindings = scanFileForTokens(fullPath, relativePath2, logger2);
   result.findings.push(...fileFindings);
   return result;
 }
@@ -158072,14 +159548,14 @@ async function scanDirectory(dirPath, baseRelativePath, logger2, depth = 0) {
     scannedFiles: 0,
     findings: []
   };
-  const entries = fs24.readdirSync(dirPath, { withFileTypes: true });
+  const entries = fs25.readdirSync(dirPath, { withFileTypes: true });
   for (const entry of entries) {
-    const fullPath = path21.join(dirPath, entry.name);
-    const relativePath = path21.join(baseRelativePath, entry.name);
+    const fullPath = path22.join(dirPath, entry.name);
+    const relativePath2 = path22.join(baseRelativePath, entry.name);
     if (entry.isDirectory()) {
       const subResult = await scanDirectory(
         fullPath,
-        relativePath,
+        relativePath2,
         logger2,
         depth
       );
@@ -158088,8 +159564,8 @@ async function scanDirectory(dirPath, baseRelativePath, logger2, depth = 0) {
     } else if (entry.isFile()) {
       const fileResult = await scanFile(
         fullPath,
-        relativePath,
-        path21.dirname(fullPath),
+        relativePath2,
+        path22.dirname(fullPath),
         logger2,
         depth
       );
@@ -158107,11 +159583,11 @@ async function scanArtifactsForTokens(filesToScan, logger2) {
     scannedFiles: 0,
     findings: []
   };
-  const tempScanDir = fs24.mkdtempSync(path21.join(os6.tmpdir(), "artifact-scan-"));
+  const tempScanDir = fs25.mkdtempSync(path22.join(os6.tmpdir(), "artifact-scan-"));
   try {
     for (const filePath of filesToScan) {
-      const stats = fs24.statSync(filePath);
-      const fileName = path21.basename(filePath);
+      const stats = fs25.statSync(filePath);
+      const fileName = path22.basename(filePath);
       if (stats.isDirectory()) {
         const dirResult = await scanDirectory(filePath, fileName, logger2);
         result.scannedFiles += dirResult.scannedFiles;
@@ -158148,7 +159624,7 @@ async function scanArtifactsForTokens(filesToScan, logger2) {
     }
   } finally {
     try {
-      fs24.rmSync(tempScanDir, { recursive: true, force: true });
+      fs25.rmSync(tempScanDir, { recursive: true, force: true });
     } catch (e) {
       logger2.debug(
         `Could not clean up temporary scan directory: ${getErrorMessage(e)}`
@@ -158168,14 +159644,14 @@ async function uploadCombinedSarifArtifacts(logger2, gitHubVariant, codeQlVersio
       logger2.info(
         "Uploading available combined SARIF files as Actions debugging artifact..."
       );
-      const baseTempDir = path22.resolve(tempDir, "combined-sarif");
+      const baseTempDir = path23.resolve(tempDir, "combined-sarif");
       const toUpload = [];
-      if (fs25.existsSync(baseTempDir)) {
-        const outputDirs = fs25.readdirSync(baseTempDir);
+      if (fs26.existsSync(baseTempDir)) {
+        const outputDirs = fs26.readdirSync(baseTempDir);
         for (const outputDir of outputDirs) {
-          const sarifFiles = fs25.readdirSync(path22.resolve(baseTempDir, outputDir)).filter((f) => path22.extname(f) === ".sarif");
+          const sarifFiles = fs26.readdirSync(path23.resolve(baseTempDir, outputDir)).filter((f) => path23.extname(f) === ".sarif");
           for (const sarifFile of sarifFiles) {
-            toUpload.push(path22.resolve(baseTempDir, outputDir, sarifFile));
+            toUpload.push(path23.resolve(baseTempDir, outputDir, sarifFile));
           }
         }
       }
@@ -158201,17 +159677,17 @@ async function uploadCombinedSarifArtifacts(logger2, gitHubVariant, codeQlVersio
 function tryPrepareSarifDebugArtifact(config, language, logger2) {
   try {
     const analyzeActionOutputDir = process.env["CODEQL_ACTION_SARIF_RESULTS_OUTPUT_DIR" /* SARIF_RESULTS_OUTPUT_DIR */];
-    if (analyzeActionOutputDir !== void 0 && fs25.existsSync(analyzeActionOutputDir) && fs25.lstatSync(analyzeActionOutputDir).isDirectory()) {
-      const sarifFile = path22.resolve(
+    if (analyzeActionOutputDir !== void 0 && fs26.existsSync(analyzeActionOutputDir) && fs26.lstatSync(analyzeActionOutputDir).isDirectory()) {
+      const sarifFile = path23.resolve(
         analyzeActionOutputDir,
         `${language}.sarif`
       );
-      if (fs25.existsSync(sarifFile)) {
-        const sarifInDbLocation = path22.resolve(
+      if (fs26.existsSync(sarifFile)) {
+        const sarifInDbLocation = path23.resolve(
           config.dbLocation,
           `${language}.sarif`
         );
-        fs25.copyFileSync(sarifFile, sarifInDbLocation);
+        fs26.copyFileSync(sarifFile, sarifInDbLocation);
         return sarifInDbLocation;
       }
     }
@@ -158262,13 +159738,13 @@ async function tryUploadAllAvailableDebugArtifacts(codeql, config, logger2, code
         }
         logger2.info("Preparing database logs debug artifact...");
         const databaseDirectory = getCodeQLDatabasePath(config, language);
-        const logsDirectory = path22.resolve(databaseDirectory, "log");
+        const logsDirectory = path23.resolve(databaseDirectory, "log");
         if (doesDirectoryExist(logsDirectory)) {
           filesToUpload.push(...listFolder(logsDirectory));
           logger2.info("Database logs debug artifact ready for upload.");
         }
         logger2.info("Preparing database cluster logs debug artifact...");
-        const multiLanguageTracingLogsDirectory = path22.resolve(
+        const multiLanguageTracingLogsDirectory = path23.resolve(
           config.dbLocation,
           "log"
         );
@@ -158322,10 +159798,10 @@ function getArtifactSuffix(matrix) {
         for (const matrixKey of Object.keys(matrixObject).sort())
           suffix += `-${matrixObject[matrixKey]}`;
       } else {
-        core16.warning("User-specified `matrix` input is not an object.");
+        core17.warning("User-specified `matrix` input is not an object.");
       }
     } catch {
-      core16.warning(
+      core17.warning(
         "Could not parse user-specified `matrix` input into JSON. The debug artifact will not be named with the user's `matrix` input."
       );
     }
@@ -158335,7 +159811,7 @@ function getArtifactSuffix(matrix) {
 async function uploadDebugArtifacts(logger2, toUpload, rootDir, artifactName, ghVariant, codeQlVersion) {
   const uploadSupported = isSafeArtifactUpload(codeQlVersion);
   if (!uploadSupported) {
-    core16.info(
+    core17.info(
       `Skipping debug artifact upload because the current CLI does not support safe upload. Please upgrade to CLI v${SafeArtifactUploadVersion} or later.`
     );
     return "upload-not-supported";
@@ -158348,15 +159824,15 @@ async function uploadArtifacts(logger2, toUpload, rootDir, artifactName, ghVaria
   }
   if (isInTestMode()) {
     await scanArtifactsForTokens(toUpload, logger2);
-    core16.exportVariable("CODEQL_ACTION_ARTIFACT_SCAN_FINISHED", "true");
+    core17.exportVariable("CODEQL_ACTION_ARTIFACT_SCAN_FINISHED", "true");
   }
   const suffix = getArtifactSuffix(getOptionalInput("matrix"));
   const artifactUploader = await getArtifactUploaderClient(logger2, ghVariant);
   try {
     await artifactUploader.uploadArtifact(
       sanitizeArtifactName(`${artifactName}${suffix}`),
-      toUpload.map((file) => path22.normalize(file)),
-      path22.normalize(rootDir),
+      toUpload.map((file) => path23.normalize(file)),
+      path23.normalize(rootDir),
       {
         // ensure we don't keep the debug artifacts around for too long since they can be large.
         retentionDays: 7
@@ -158364,7 +159840,7 @@ async function uploadArtifacts(logger2, toUpload, rootDir, artifactName, ghVaria
     );
     return "upload-successful";
   } catch (e) {
-    core16.warning(`Failed to upload debug artifacts: ${e}`);
+    core17.warning(`Failed to upload debug artifacts: ${e}`);
     return "upload-failed";
   }
 }
@@ -158383,18 +159859,18 @@ async function getArtifactUploaderClient(logger2, ghVariant) {
 }
 async function createPartialDatabaseBundle(config, language) {
   const databasePath = getCodeQLDatabasePath(config, language);
-  const databaseBundlePath = path22.resolve(
+  const databaseBundlePath = path23.resolve(
     config.dbLocation,
     `${config.debugDatabaseName}-${language}-partial.zip`
   );
-  core16.info(
+  core17.info(
     `${config.debugDatabaseName}-${language} is not finalized. Uploading partial database bundle at ${databaseBundlePath}...`
   );
-  if (fs25.existsSync(databaseBundlePath)) {
-    await fs25.promises.rm(databaseBundlePath, { force: true });
+  if (fs26.existsSync(databaseBundlePath)) {
+    await fs26.promises.rm(databaseBundlePath, { force: true });
   }
-  const output = fs25.createWriteStream(databaseBundlePath);
-  const zip = (0, import_archiver.default)("zip");
+  const output = fs26.createWriteStream(databaseBundlePath);
+  const zip = new ZipArchive();
   zip.on("error", (err) => {
     throw err;
   });
@@ -158446,9 +159922,9 @@ async function runWrapper2() {
       getCsharpTempDependencyDir()
     ];
     for (const tempDependencyDir of tempDependencyDirs) {
-      if (fs26.existsSync(tempDependencyDir)) {
+      if (fs27.existsSync(tempDependencyDir)) {
         try {
-          fs26.rmSync(tempDependencyDir, { recursive: true });
+          fs27.rmSync(tempDependencyDir, { recursive: true });
         } catch (error3) {
           logger2.info(
             `Failed to remove temporary dependencies directory: ${getErrorMessage(error3)}`
@@ -158457,14 +159933,14 @@ async function runWrapper2() {
       }
     }
   } catch (error3) {
-    core17.setFailed(
+    core18.setFailed(
       `analyze post-action step failed: ${getErrorMessage(error3)}`
     );
   }
 }
 
 // src/autobuild-action.ts
-var core18 = __toESM(require_core());
+var core19 = __toESM(require_core());
 async function sendCompletedStatusReport(config, logger2, startedAt, allLanguages, failingLanguage, cause) {
   initializeEnvironment(getActionVersion());
   const status = getActionsStatus(cause, failingLanguage);
@@ -158487,8 +159963,7 @@ async function sendCompletedStatusReport(config, logger2, startedAt, allLanguage
     await sendStatusReport(statusReport);
   }
 }
-async function run2(startedAt) {
-  const logger2 = getActionsLogger();
+async function run2({ startedAt, logger: logger2 }) {
   let config;
   let currentLanguage;
   let languages;
@@ -158531,7 +160006,7 @@ async function run2(startedAt) {
     await endTracingForCluster(codeql, config, logger2);
   } catch (unwrappedError) {
     const error3 = wrapError(unwrappedError);
-    core18.setFailed(
+    core19.setFailed(
       `We were unable to automatically build your code. Please replace the call to the autobuild action with your custom build steps. ${error3.message}`
     );
     await sendCompletedStatusReport(
@@ -158544,55 +160019,30 @@ async function run2(startedAt) {
     );
     return;
   }
-  core18.exportVariable("CODEQL_ACTION_AUTOBUILD_DID_COMPLETE_SUCCESSFULLY" /* AUTOBUILD_DID_COMPLETE_SUCCESSFULLY */, "true");
+  core19.exportVariable("CODEQL_ACTION_AUTOBUILD_DID_COMPLETE_SUCCESSFULLY" /* AUTOBUILD_DID_COMPLETE_SUCCESSFULLY */, "true");
   await sendCompletedStatusReport(config, logger2, startedAt, languages ?? []);
 }
+var autobuild = {
+  name: "autobuild" /* Autobuild */,
+  run: run2
+};
 async function runWrapper3() {
-  const startedAt = /* @__PURE__ */ new Date();
-  const logger2 = getActionsLogger();
-  try {
-    await run2(startedAt);
-  } catch (error3) {
-    core18.setFailed(`autobuild action failed. ${getErrorMessage(error3)}`);
-    await sendUnhandledErrorStatusReport(
-      "autobuild" /* Autobuild */,
-      startedAt,
-      error3,
-      logger2
-    );
-  }
+  await runInActions(autobuild);
 }
 
 // src/init-action.ts
-var fs28 = __toESM(require("fs"));
-var path24 = __toESM(require("path"));
-var core20 = __toESM(require_core());
+var fs29 = __toESM(require("fs"));
+var path25 = __toESM(require("path"));
+var core21 = __toESM(require_core());
 var github3 = __toESM(require_github());
 var io7 = __toESM(require_io());
 var semver10 = __toESM(require_semver2());
 
-// src/config/file.ts
-function getConfigFileInput(logger2, actions, repositoryProperties) {
-  const input = actions.getOptionalInput("config-file");
-  if (input !== void 0) {
-    logger2.info(`Using configuration file input from workflow: ${input}`);
-    return input;
-  }
-  const propertyValue = repositoryProperties["github-codeql-config-file" /* CONFIG_FILE */];
-  if (propertyValue !== void 0 && propertyValue.trim().length > 0) {
-    logger2.info(
-      `Using configuration file input from repository property: ${propertyValue}`
-    );
-    return propertyValue;
-  }
-  return void 0;
-}
-
 // src/workflow.ts
-var fs27 = __toESM(require("fs"));
-var path23 = __toESM(require("path"));
-var import_zlib2 = __toESM(require("zlib"));
-var core19 = __toESM(require_core());
+var fs28 = __toESM(require("fs"));
+var path24 = __toESM(require("path"));
+var import_zlib3 = __toESM(require("zlib"));
+var core20 = __toESM(require_core());
 function toCodedErrors(errors) {
   return Object.entries(errors).reduce(
     (acc, [code, message]) => {
@@ -158715,7 +160165,7 @@ async function validateWorkflow(codeql, logger2) {
     } catch (e) {
       return `error: formatWorkflowErrors() failed: ${String(e)}`;
     }
-    core19.warning(message);
+    core20.warning(message);
   }
   return formatWorkflowCause(workflowErrors);
 }
@@ -158737,19 +160187,19 @@ async function getWorkflow(logger2) {
       "Using the workflow specified by the CODE_SCANNING_WORKFLOW_FILE environment variable."
     );
     return load(
-      import_zlib2.default.gunzipSync(Buffer.from(maybeWorkflow, "base64")).toString()
+      import_zlib3.default.gunzipSync(Buffer.from(maybeWorkflow, "base64")).toString()
     );
   }
   const workflowPath = await getWorkflowAbsolutePath(logger2);
-  return load(fs27.readFileSync(workflowPath, "utf-8"));
+  return load(fs28.readFileSync(workflowPath, "utf-8"));
 }
 async function getWorkflowAbsolutePath(logger2) {
-  const relativePath = await getWorkflowRelativePath();
-  const absolutePath = path23.join(
+  const relativePath2 = await getWorkflowRelativePath();
+  const absolutePath = path24.join(
     getRequiredEnvParam("GITHUB_WORKSPACE"),
-    relativePath
+    relativePath2
   );
-  if (fs27.existsSync(absolutePath)) {
+  if (fs28.existsSync(absolutePath)) {
     logger2.debug(
       `Derived the following absolute path for the currently executing workflow: ${absolutePath}.`
     );
@@ -158844,7 +160294,7 @@ function getCheckoutPathInputOrThrow(workflow, jobName, matrixVars) {
 }
 async function checkWorkflow(logger2, codeql) {
   if (!isDynamicWorkflow() && process.env["CODEQL_ACTION_SKIP_WORKFLOW_VALIDATION" /* SKIP_WORKFLOW_VALIDATION */] !== "true") {
-    core19.startGroup("Validating workflow");
+    core20.startGroup("Validating workflow");
     const validateWorkflowResult = await internal2.validateWorkflow(
       codeql,
       logger2
@@ -158856,7 +160306,7 @@ async function checkWorkflow(logger2, codeql) {
         `Unable to validate code scanning workflow: ${validateWorkflowResult}`
       );
     }
-    core19.endGroup();
+    core20.endGroup();
   }
 }
 var internal2 = {
@@ -158926,9 +160376,9 @@ async function sendCompletedStatusReport2(startedAt, config, configFile, toolsDo
     await sendStatusReport({ ...initStatusReport, ...initToolsDownloadFields });
   }
 }
-async function run3(startedAt) {
-  const logger2 = getActionsLogger();
-  const actionsEnv = getActionsEnv();
+async function run3(actionState) {
+  const startedAt = actionState.startedAt;
+  const logger2 = actionState.logger;
   let apiDetails;
   let config;
   let configFile;
@@ -158966,10 +160416,14 @@ async function run3(startedAt) {
     const repositoryProperties = repositoryPropertiesResult.orElse({});
     const jobRunUuid = v4_default();
     logger2.info(`Job run UUID is ${jobRunUuid}.`);
-    core20.exportVariable("JOB_RUN_UUID" /* JOB_RUN_UUID */, jobRunUuid);
-    core20.exportVariable("CODEQL_ACTION_INIT_HAS_RUN" /* INIT_ACTION_HAS_RUN */, "true");
-    configFile = getConfigFileInput(logger2, actionsEnv, repositoryProperties);
-    sourceRoot = path24.resolve(
+    core21.exportVariable("JOB_RUN_UUID" /* JOB_RUN_UUID */, jobRunUuid);
+    core21.exportVariable("CODEQL_ACTION_INIT_HAS_RUN" /* INIT_ACTION_HAS_RUN */, "true");
+    const actionStateWithFeatures = { ...actionState, features };
+    configFile = await getConfigFileInput(
+      actionStateWithFeatures,
+      repositoryProperties
+    );
+    sourceRoot = path25.resolve(
       getRequiredEnvParam("GITHUB_WORKSPACE"),
       getOptionalInput("source-root") || ""
     );
@@ -159026,19 +160480,19 @@ async function run3(startedAt) {
         );
       }
       if (semver10.lt(actualVer, publicPreview)) {
-        core20.exportVariable("CODEQL_ENABLE_EXPERIMENTAL_FEATURES" /* EXPERIMENTAL_FEATURES */, "true");
+        core21.exportVariable("CODEQL_ENABLE_EXPERIMENTAL_FEATURES" /* EXPERIMENTAL_FEATURES */, "true");
         logger2.info("Experimental Rust analysis enabled");
       }
     }
     analysisKinds = await getAnalysisKinds(logger2, features);
-    const debugMode = getOptionalInput("debug") === "true" || core20.isDebug();
+    const debugMode = getOptionalInput("debug") === "true" || core21.isDebug();
     const fileCoverageResult = await getFileCoverageInformationEnabled(
       debugMode,
       codeql,
       features,
       repositoryProperties
     );
-    config = await initConfig2(features, {
+    config = await initConfig2(actionStateWithFeatures, {
       analysisKinds,
       languagesInput: getOptionalInput("languages"),
       queriesInput: getOptionalInput("queries"),
@@ -159101,7 +160555,7 @@ async function run3(startedAt) {
     await checkInstallPython311(config.languages, codeql);
   } catch (unwrappedError) {
     const error3 = wrapError(unwrappedError);
-    core20.setFailed(error3.message);
+    core21.setFailed(error3.message);
     const statusReportBase = await createStatusReportBase(
       "init" /* Init */,
       error3 instanceof ConfigurationError ? "user-error" : "aborted",
@@ -159156,8 +160610,8 @@ async function run3(startedAt) {
     }
     const goFlags = process.env["GOFLAGS"];
     if (goFlags) {
-      core20.exportVariable("GOFLAGS", goFlags);
-      core20.warning(
+      core21.exportVariable("GOFLAGS", goFlags);
+      core21.warning(
         "Passing the GOFLAGS env parameter to the init action is deprecated. Please move this to the analyze action."
       );
     }
@@ -159170,29 +160624,29 @@ async function run3(startedAt) {
         )) {
           try {
             logger2.debug(`Applying static binary workaround for Go`);
-            const tempBinPath = path24.resolve(
+            const tempBinPath = path25.resolve(
               getTemporaryDirectory(),
               "codeql-action-go-tracing",
               "bin"
             );
-            fs28.mkdirSync(tempBinPath, { recursive: true });
-            core20.addPath(tempBinPath);
-            const goWrapperPath = path24.resolve(tempBinPath, "go");
-            fs28.writeFileSync(
+            fs29.mkdirSync(tempBinPath, { recursive: true });
+            core21.addPath(tempBinPath);
+            const goWrapperPath = path25.resolve(tempBinPath, "go");
+            fs29.writeFileSync(
               goWrapperPath,
               `#!/bin/bash
 
 exec ${goBinaryPath} "$@"`
             );
-            fs28.chmodSync(goWrapperPath, "755");
-            core20.exportVariable("CODEQL_ACTION_GO_BINARY" /* GO_BINARY_LOCATION */, goWrapperPath);
+            fs29.chmodSync(goWrapperPath, "755");
+            core21.exportVariable("CODEQL_ACTION_GO_BINARY" /* GO_BINARY_LOCATION */, goWrapperPath);
           } catch (e) {
             logger2.warning(
               `Analyzing Go on Linux, but failed to install wrapper script. Tracing custom builds may fail: ${e}`
             );
           }
         } else {
-          core20.exportVariable("CODEQL_ACTION_GO_BINARY" /* GO_BINARY_LOCATION */, goBinaryPath);
+          core21.exportVariable("CODEQL_ACTION_GO_BINARY" /* GO_BINARY_LOCATION */, goBinaryPath);
         }
       } catch (e) {
         logger2.warning(
@@ -159219,23 +160673,23 @@ exec ${goBinaryPath} "$@"`
         }
       }
     }
-    core20.exportVariable(
+    core21.exportVariable(
       "CODEQL_RAM",
       process.env["CODEQL_RAM"] || getCodeQLMemoryLimit(getOptionalInput("ram"), logger2).toString()
     );
-    core20.exportVariable(
+    core21.exportVariable(
       "CODEQL_THREADS",
       process.env["CODEQL_THREADS"] || getThreadsFlagValue(getOptionalInput("threads"), logger2).toString()
     );
     if (await features.getValue("disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */)) {
-      core20.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
+      core21.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
     }
     if (await features.getValue("force_jgit" /* ForceJGit */)) {
-      core20.exportVariable("CODEQL_GIT_BACKEND", "jgit");
+      core21.exportVariable("CODEQL_GIT_BACKEND", "jgit");
     }
     const kotlinLimitVar = "CODEQL_EXTRACTOR_KOTLIN_OVERRIDE_MAXIMUM_VERSION_LIMIT";
     if (await codeQlVersionAtLeast(codeql, "2.20.3") && !await codeQlVersionAtLeast(codeql, "2.20.4")) {
-      core20.exportVariable(kotlinLimitVar, "2.1.20");
+      core21.exportVariable(kotlinLimitVar, "2.1.20");
     }
     if (shouldRestoreCache(config.dependencyCachingEnabled)) {
       const dependencyCachingResult = await downloadDependencyCaches(
@@ -159262,7 +160716,7 @@ exec ${goBinaryPath} "$@"`
         `${"CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */} is already set to '${process.env["CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */]}', so the Action will not override it.`
       );
     } else if (await codeQlVersionAtLeast(codeql, CODEQL_VERSION_JAR_MINIMIZATION) && config.dependencyCachingEnabled && config.buildMode === "none" /* None */ && config.languages.includes("java" /* java */)) {
-      core20.exportVariable(
+      core21.exportVariable(
         "CODEQL_EXTRACTOR_JAVA_OPTION_MINIMIZE_DEPENDENCY_JARS" /* JAVA_EXTRACTOR_MINIMIZE_DEPENDENCY_JARS */,
         "true"
       );
@@ -159306,24 +160760,24 @@ exec ${goBinaryPath} "$@"`
     const tracerConfig = await getCombinedTracerConfig(codeql, config);
     if (tracerConfig !== void 0) {
       for (const [key, value] of Object.entries(tracerConfig.env)) {
-        core20.exportVariable(key, value);
+        core21.exportVariable(key, value);
       }
     }
     if (await features.getValue("java_network_debugging" /* JavaNetworkDebugging */)) {
       const existingJavaToolOptions = getOptionalEnvVar("JAVA_TOOL_OPTIONS" /* JAVA_TOOL_OPTIONS */) || "";
-      core20.exportVariable(
+      core21.exportVariable(
         "JAVA_TOOL_OPTIONS" /* JAVA_TOOL_OPTIONS */,
         `${existingJavaToolOptions} -Djavax.net.debug=all`
       );
     }
     flushDiagnostics(config);
     await saveConfig(config, logger2);
-    core20.setOutput("codeql-path", config.codeQLCmd);
-    core20.setOutput("codeql-version", (await codeql.getVersion()).version);
+    core21.setOutput("codeql-path", config.codeQLCmd);
+    core21.setOutput("codeql-version", (await codeql.getVersion()).version);
     writeCommandCacheFile();
   } catch (unwrappedError) {
     const error3 = wrapError(unwrappedError);
-    core20.setFailed(error3.message);
+    core21.setFailed(error3.message);
     await sendCompletedStatusReport2(
       startedAt,
       config,
@@ -159385,29 +160839,21 @@ async function recordZstdAvailability(config, zstdAvailability) {
     )
   );
 }
+var init = {
+  name: "init" /* Init */,
+  run: run3
+};
 async function runWrapper4() {
-  const startedAt = /* @__PURE__ */ new Date();
-  const logger2 = getActionsLogger();
-  try {
-    await run3(startedAt);
-  } catch (error3) {
-    core20.setFailed(`init action failed: ${getErrorMessage(error3)}`);
-    await sendUnhandledErrorStatusReport(
-      "init" /* Init */,
-      startedAt,
-      error3,
-      logger2
-    );
-  }
+  await runInActions(init);
   await checkForTimeout();
 }
 
 // src/init-action-post.ts
-var core21 = __toESM(require_core());
+var core22 = __toESM(require_core());
 
 // src/init-action-post-helper.ts
-var fs29 = __toESM(require("fs"));
-var import_path5 = __toESM(require("path"));
+var fs30 = __toESM(require("fs"));
+var import_path7 = __toESM(require("path"));
 var github4 = __toESM(require_github());
 function createFailedUploadFailedSarifResult(error3) {
   const wrappedError = wrapError(error3);
@@ -159518,8 +160964,8 @@ async function maybeUploadFailedSarifArtifact(config, features, logger2) {
   const name = sanitizeArtifactName(`sarif-artifact-${suffix}`);
   await client.uploadArtifact(
     name,
-    [import_path5.default.normalize(failedSarif.sarifFile)],
-    import_path5.default.normalize("..")
+    [import_path7.default.normalize(failedSarif.sarifFile)],
+    import_path7.default.normalize("..")
   );
   return { sarifID: name };
 }
@@ -159594,7 +161040,7 @@ async function uploadFailureInfo(uploadAllAvailableDebugArtifacts, printDebugLog
   }
   if (isSelfHostedRunner()) {
     try {
-      fs29.rmSync(config.dbLocation, {
+      fs30.rmSync(config.dbLocation, {
         recursive: true,
         force: true,
         maxRetries: 3
@@ -159751,7 +161197,7 @@ async function run4(startedAt) {
     }
   } catch (unwrappedError) {
     const error3 = wrapError(unwrappedError);
-    core21.setFailed(error3.message);
+    core22.setFailed(error3.message);
     const statusReportBase2 = await createStatusReportBase(
       "init-post" /* InitPost */,
       getActionsStatus(error3),
@@ -159796,14 +161242,14 @@ function getFinalJobStatus(config) {
   }
   let jobStatus;
   if (process.env["CODEQL_ACTION_ANALYZE_DID_COMPLETE_SUCCESSFULLY" /* ANALYZE_DID_COMPLETE_SUCCESSFULLY */] === "true") {
-    core21.exportVariable("CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */, "JOB_STATUS_SUCCESS" /* SuccessStatus */);
+    core22.exportVariable("CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */, "JOB_STATUS_SUCCESS" /* SuccessStatus */);
     jobStatus = "JOB_STATUS_SUCCESS" /* SuccessStatus */;
   } else if (config !== void 0) {
     jobStatus = "JOB_STATUS_CONFIGURATION_ERROR" /* ConfigErrorStatus */;
   } else {
     jobStatus = "JOB_STATUS_UNKNOWN" /* UnknownStatus */;
   }
-  core21.exportVariable("CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */, jobStatus);
+  core22.exportVariable("CODEQL_ACTION_JOB_STATUS" /* JOB_STATUS */, jobStatus);
   return jobStatus;
 }
 function getJobStatusFromEnvironment() {
@@ -159822,7 +161268,7 @@ async function runWrapper5() {
   try {
     await run4(startedAt);
   } catch (error3) {
-    core21.setFailed(`init post action failed: ${wrapError(error3).message}`);
+    core22.setFailed(`init post action failed: ${wrapError(error3).message}`);
     await sendUnhandledErrorStatusReport(
       "init-post" /* InitPost */,
       startedAt,
@@ -159833,7 +161279,7 @@ async function runWrapper5() {
 }
 
 // src/resolve-environment-action.ts
-var core22 = __toESM(require_core());
+var core23 = __toESM(require_core());
 
 // src/resolve-environment.ts
 async function runResolveBuildEnvironment(cmd, logger2, workingDir, language) {
@@ -159880,16 +161326,16 @@ async function run5(startedAt) {
       workingDirectory,
       getRequiredInput("language")
     );
-    core22.setOutput(ENVIRONMENT_OUTPUT_NAME, result);
+    core23.setOutput(ENVIRONMENT_OUTPUT_NAME, result);
   } catch (unwrappedError) {
     const error3 = wrapError(unwrappedError);
     if (error3 instanceof CliError) {
-      core22.setOutput(ENVIRONMENT_OUTPUT_NAME, {});
+      core23.setOutput(ENVIRONMENT_OUTPUT_NAME, {});
       logger2.warning(
         `Failed to resolve a build environment suitable for automatically building your code. ${error3.message}`
       );
     } else {
-      core22.setFailed(
+      core23.setFailed(
         `Failed to resolve a build environment suitable for automatically building your code. ${error3.message}`
       );
       const statusReportBase2 = await createStatusReportBase(
@@ -159926,7 +161372,7 @@ async function runWrapper6() {
   try {
     await run5(startedAt);
   } catch (error3) {
-    core22.setFailed(
+    core23.setFailed(
       `${"resolve-environment" /* ResolveEnvironment */} action failed: ${getErrorMessage(
         error3
       )}`
@@ -159942,7 +161388,7 @@ async function runWrapper6() {
 }
 
 // src/setup-codeql-action.ts
-var core23 = __toESM(require_core());
+var core24 = __toESM(require_core());
 async function sendCompletedStatusReport3(startedAt, toolsDownloadStatusReport, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger2, error3) {
   const statusReportBase = await createStatusReportBase(
     "setup-codeql" /* SetupCodeQL */,
@@ -159973,8 +161419,10 @@ async function sendCompletedStatusReport3(startedAt, toolsDownloadStatusReport,
   }
   await sendStatusReport({ ...initStatusReport, ...initToolsDownloadFields });
 }
-async function run6(startedAt) {
-  const logger2 = getActionsLogger();
+async function run6({
+  startedAt,
+  logger: logger2
+}) {
   let codeql;
   let toolsDownloadStatusReport;
   let toolsFeatureFlagsValid;
@@ -160000,7 +161448,7 @@ async function run6(startedAt) {
     );
     const jobRunUuid = v4_default();
     logger2.info(`Job run UUID is ${jobRunUuid}.`);
-    core23.exportVariable("JOB_RUN_UUID" /* JOB_RUN_UUID */, jobRunUuid);
+    core24.exportVariable("JOB_RUN_UUID" /* JOB_RUN_UUID */, jobRunUuid);
     const statusReportBase = await createStatusReportBase(
       "setup-codeql" /* SetupCodeQL */,
       "starting",
@@ -160033,12 +161481,12 @@ async function run6(startedAt) {
     toolsDownloadStatusReport = initCodeQLResult.toolsDownloadStatusReport;
     toolsVersion = initCodeQLResult.toolsVersion;
     toolsSource = initCodeQLResult.toolsSource;
-    core23.setOutput("codeql-path", codeql.getPath());
-    core23.setOutput("codeql-version", (await codeql.getVersion()).version);
-    core23.exportVariable("CODEQL_ACTION_SETUP_CODEQL_HAS_RUN" /* SETUP_CODEQL_ACTION_HAS_RUN */, "true");
+    core24.setOutput("codeql-path", codeql.getPath());
+    core24.setOutput("codeql-version", (await codeql.getVersion()).version);
+    core24.exportVariable("CODEQL_ACTION_SETUP_CODEQL_HAS_RUN" /* SETUP_CODEQL_ACTION_HAS_RUN */, "true");
   } catch (unwrappedError) {
     const error3 = wrapError(unwrappedError);
-    core23.setFailed(error3.message);
+    core24.setFailed(error3.message);
     const statusReportBase = await createStatusReportBase(
       "setup-codeql" /* SetupCodeQL */,
       error3 instanceof ConfigurationError ? "user-error" : "failure",
@@ -160063,31 +161511,23 @@ async function run6(startedAt) {
     logger2
   );
 }
+var setupCodeQL2 = {
+  name: "setup-codeql" /* SetupCodeQL */,
+  run: run6
+};
 async function runWrapper7() {
-  const startedAt = /* @__PURE__ */ new Date();
-  const logger2 = getActionsLogger();
-  try {
-    await run6(startedAt);
-  } catch (error3) {
-    core23.setFailed(`setup-codeql action failed: ${getErrorMessage(error3)}`);
-    await sendUnhandledErrorStatusReport(
-      "setup-codeql" /* SetupCodeQL */,
-      startedAt,
-      error3,
-      logger2
-    );
-  }
+  await runInActions(setupCodeQL2);
   await checkForTimeout();
 }
 
 // src/start-proxy-action.ts
 var import_child_process2 = require("child_process");
-var path28 = __toESM(require("path"));
-var core26 = __toESM(require_core());
+var path29 = __toESM(require("path"));
+var core27 = __toESM(require_core());
 
 // src/start-proxy.ts
-var path26 = __toESM(require("path"));
-var core25 = __toESM(require_core());
+var path27 = __toESM(require("path"));
+var core26 = __toESM(require_core());
 var toolcache4 = __toESM(require_tool_cache());
 
 // src/start-proxy/types.ts
@@ -160227,7 +161667,7 @@ function getAddressString(address) {
 }
 
 // src/start-proxy/validation.ts
-var core24 = __toESM(require_core());
+var core25 = __toESM(require_core());
 function cloneCredential(schema, obj) {
   const result = {};
   for (const key of Object.keys(schema)) {
@@ -160246,14 +161686,14 @@ function getAuthConfig(config) {
   }
   if (isToken(config)) {
     if (isDefined2(config.token)) {
-      core24.setSecret(config.token);
+      core25.setSecret(config.token);
     }
     return cloneCredential(tokenSchema, config);
   } else {
     let username = void 0;
     let password = void 0;
     if ("password" in config && isString(config.password)) {
-      core24.setSecret(config.password);
+      core25.setSecret(config.password);
       password = config.password;
     }
     if ("username" in config && isString(config.username)) {
@@ -160309,7 +161749,7 @@ function getSafeErrorMessage(error3) {
 }
 async function sendFailedStatusReport(logger2, startedAt, language, unwrappedError) {
   const error3 = wrapError(unwrappedError);
-  core25.setFailed(`start-proxy action failed: ${error3.message}`);
+  core26.setFailed(`start-proxy action failed: ${error3.message}`);
   const statusReportMessage = getSafeErrorMessage(error3);
   const errorStatusReportBase = await createStatusReportBase(
     "start-proxy" /* StartProxy */,
@@ -160402,12 +161842,12 @@ function getCredentials(logger2, registrySecrets, registriesCredentials, languag
     if (registryTypeForLanguage && !registryTypeForLanguage.some((t) => t === e.type)) {
       continue;
     }
-    const isPrintable = (str) => {
+    const isPrintable2 = (str) => {
       return str ? /^[\x20-\x7E]*$/.test(str) : true;
     };
     for (const key of Object.keys(e)) {
       const val = e[key];
-      if (typeof val === "string" && !isPrintable(val)) {
+      if (typeof val === "string" && !isPrintable2(val)) {
         throw new ConfigurationError(
           "Invalid credentials - fields must contain only printable characters"
         );
@@ -160556,7 +161996,7 @@ async function getProxyBinaryPath(logger2, features) {
       proxyInfo.version
     );
   }
-  return path26.join(proxyBin, proxyFileName);
+  return path27.join(proxyBin, proxyFileName);
 }
 
 // src/start-proxy/ca.ts
@@ -160621,8 +162061,8 @@ function generateCertificateAuthority() {
 }
 
 // src/start-proxy/environment.ts
-var fs30 = __toESM(require("fs"));
-var path27 = __toESM(require("path"));
+var fs31 = __toESM(require("fs"));
+var path28 = __toESM(require("path"));
 var toolrunner5 = __toESM(require_toolrunner());
 var io8 = __toESM(require_io());
 function checkEnvVar(logger2, name) {
@@ -160687,16 +162127,16 @@ function discoverActionsJdks() {
 function checkJdkSettings(logger2, jdkHome) {
   const filesToCheck = [
     // JDK 9+
-    path27.join("conf", "net.properties"),
+    path28.join("conf", "net.properties"),
     // JDK 8 and below
-    path27.join("lib", "net.properties")
+    path28.join("lib", "net.properties")
   ];
   for (const fileToCheck of filesToCheck) {
-    const file = path27.join(jdkHome, fileToCheck);
+    const file = path28.join(jdkHome, fileToCheck);
     try {
-      if (fs30.existsSync(file)) {
+      if (fs31.existsSync(file)) {
         logger2.debug(`Found '${file}'.`);
-        const lines = String(fs30.readFileSync(file)).split("\n");
+        const lines = String(fs31.readFileSync(file)).split("\n");
         for (const line of lines) {
           for (const property of javaProperties) {
             if (line.startsWith(`${property}=`)) {
@@ -160792,7 +162232,7 @@ var NetworkReachabilityBackend = class {
   proxy;
   agent;
   async checkConnection(url2) {
-    return new Promise((resolve13, reject) => {
+    return new Promise((resolve14, reject) => {
       const req = https2.request(
         url2,
         {
@@ -160805,7 +162245,7 @@ var NetworkReachabilityBackend = class {
         (res) => {
           res.destroy();
           if (res.statusCode !== void 0 && res.statusCode < 400) {
-            resolve13(res.statusCode);
+            resolve14(res.statusCode);
           } else {
             reject(new ReachabilityError(res.statusCode));
           }
@@ -160877,8 +162317,8 @@ async function run7(startedAt) {
   try {
     persistInputs();
     const tempDir = getTemporaryDirectory();
-    const proxyLogFilePath = path28.resolve(tempDir, "proxy.log");
-    core26.saveState("proxy-log-file", proxyLogFilePath);
+    const proxyLogFilePath = path29.resolve(tempDir, "proxy.log");
+    core27.saveState("proxy-log-file", proxyLogFilePath);
     const repositoryNwo = getRepositoryNwo();
     const gitHubVersion = await getGitHubVersion();
     features = initFeatures(
@@ -160903,7 +162343,7 @@ async function run7(startedAt) {
       `Credentials loaded for the following registries:
  ${credentials.map((c) => credentialToStr(c)).join("\n")}`
     );
-    if (core26.isDebug() || isInTestMode()) {
+    if (core27.isDebug() || isInTestMode()) {
       try {
         await checkProxyEnvironment(logger2, language);
       } catch (err) {
@@ -160943,7 +162383,7 @@ async function runWrapper8() {
   try {
     await run7(startedAt);
   } catch (error3) {
-    core26.setFailed(`start-proxy action failed: ${getErrorMessage(error3)}`);
+    core27.setFailed(`start-proxy action failed: ${getErrorMessage(error3)}`);
     await sendUnhandledErrorStatusReport(
       "start-proxy" /* StartProxy */,
       startedAt,
@@ -160969,7 +162409,7 @@ async function startProxy(binPath, config, logFilePath, logger2) {
     );
     subprocess.unref();
     if (subprocess.pid) {
-      core26.saveState("proxy-process-pid", `${subprocess.pid}`);
+      core27.saveState("proxy-process-pid", `${subprocess.pid}`);
     }
     subprocess.on("error", (error3) => {
       subprocessError = error3;
@@ -160988,25 +162428,25 @@ async function startProxy(binPath, config, logFilePath, logger2) {
     throw subprocessError;
   }
   logger2.info(`Proxy started on ${host}:${port}`);
-  core26.setOutput("proxy_host", host);
-  core26.setOutput("proxy_port", port.toString());
-  core26.setOutput("proxy_ca_certificate", config.ca.cert);
+  core27.setOutput("proxy_host", host);
+  core27.setOutput("proxy_port", port.toString());
+  core27.setOutput("proxy_ca_certificate", config.ca.cert);
   const registry_urls = config.all_credentials.filter((credential) => credential.url !== void 0).map((credential) => ({
     type: credential.type,
     url: credential.url,
     "replaces-base": credential["replaces-base"]
   }));
-  core26.setOutput("proxy_urls", JSON.stringify(registry_urls));
+  core27.setOutput("proxy_urls", JSON.stringify(registry_urls));
   return { host, port, cert: config.ca.cert, registries: registry_urls };
 }
 
 // src/start-proxy-action-post.ts
-var core27 = __toESM(require_core());
+var core28 = __toESM(require_core());
 async function runWrapper9() {
   const logger2 = getActionsLogger();
   try {
     restoreInputs();
-    const pid = core27.getState("proxy-process-pid");
+    const pid = core28.getState("proxy-process-pid");
     if (pid) {
       process.kill(Number(pid));
     }
@@ -161014,8 +162454,8 @@ async function runWrapper9() {
       getTemporaryDirectory(),
       logger2
     );
-    if (config?.debugMode || core27.isDebug()) {
-      const logFilePath = core27.getState("proxy-log-file");
+    if (config?.debugMode || core28.isDebug()) {
+      const logFilePath = core28.getState("proxy-log-file");
       logger2.info(
         "Debug mode is on. Uploading proxy log as Actions debugging artifact..."
       );
@@ -161043,7 +162483,7 @@ async function runWrapper9() {
 }
 
 // src/upload-sarif-action.ts
-var core28 = __toESM(require_core());
+var core29 = __toESM(require_core());
 async function sendSuccessStatusReport2(startedAt, uploadStats, logger2) {
   const statusReportBase = await createStatusReportBase(
     "upload-sarif" /* UploadSarif */,
@@ -161061,8 +162501,7 @@ async function sendSuccessStatusReport2(startedAt, uploadStats, logger2) {
     await sendStatusReport(statusReport);
   }
 }
-async function run8(startedAt) {
-  const logger2 = getActionsLogger();
+async function run8({ startedAt, logger: logger2 }) {
   try {
     initializeEnvironment(getActionVersion());
     const gitHubVersion = await getGitHubVersion();
@@ -161104,11 +162543,11 @@ async function run8(startedAt) {
     }
     const codeScanningResult = uploadResults["code-scanning" /* CodeScanning */];
     if (codeScanningResult !== void 0) {
-      core28.setOutput("sarif-id", codeScanningResult.sarifID);
+      core29.setOutput("sarif-id", codeScanningResult.sarifID);
     }
-    core28.setOutput("sarif-ids", JSON.stringify(uploadResults));
+    core29.setOutput("sarif-ids", JSON.stringify(uploadResults));
     if (shouldSkipSarifUpload()) {
-      core28.debug(
+      core29.debug(
         "SARIF upload disabled by an environment variable. Waiting for processing is disabled."
       );
     } else if (getRequiredInput("wait-for-processing") === "true") {
@@ -161128,7 +162567,7 @@ async function run8(startedAt) {
   } catch (unwrappedError) {
     const error3 = isThirdPartyAnalysis("upload-sarif" /* UploadSarif */) && unwrappedError instanceof InvalidSarifUploadError ? new ConfigurationError(unwrappedError.message) : wrapError(unwrappedError);
     const message = error3.message;
-    core28.setFailed(message);
+    core29.setFailed(message);
     const errorStatusReportBase = await createStatusReportBase(
       "upload-sarif" /* UploadSarif */,
       getActionsStatus(error3),
@@ -161145,26 +162584,16 @@ async function run8(startedAt) {
     return;
   }
 }
+var uploadSarif = {
+  name: "upload-sarif" /* UploadSarif */,
+  run: run8
+};
 async function runWrapper10() {
-  const startedAt = /* @__PURE__ */ new Date();
-  const logger2 = getActionsLogger();
-  try {
-    await run8(startedAt);
-  } catch (error3) {
-    core28.setFailed(
-      `codeql/upload-sarif action failed: ${getErrorMessage(error3)}`
-    );
-    await sendUnhandledErrorStatusReport(
-      "upload-sarif" /* UploadSarif */,
-      startedAt,
-      error3,
-      logger2
-    );
-  }
+  await runInActions(uploadSarif);
 }
 
 // src/upload-sarif-action-post.ts
-var core29 = __toESM(require_core());
+var core30 = __toESM(require_core());
 async function runWrapper11() {
   try {
     restoreInputs();
@@ -161173,7 +162602,7 @@ async function runWrapper11() {
     checkGitHubVersionInRange(gitHubVersion, logger2);
     if (process.env["CODEQL_ACTION_INIT_HAS_RUN" /* INIT_ACTION_HAS_RUN */] !== "true") {
       if (gitHubVersion.type === void 0) {
-        core29.warning(
+        core30.warning(
           `Did not upload debug artifacts because cannot determine the GitHub variant running.`
         );
         return;
@@ -161190,7 +162619,7 @@ async function runWrapper11() {
       );
     }
   } catch (error3) {
-    core29.setFailed(
+    core30.setFailed(
       `upload-sarif post-action step failed: ${getErrorMessage(error3)}`
     );
   }
@@ -161268,6 +162697,9 @@ normalize-path/index.js:
    * Released under the MIT License.
    *)
 
+safe-buffer/index.js:
+  (*! safe-buffer. MIT License. Feross Aboukhadijeh  *)
+
 archiver/lib/error.js:
 archiver/lib/core.js:
   (**
@@ -161281,6 +162713,7 @@ archiver/lib/core.js:
 crc-32/crc32.js:
   (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *)
 
+zip-stream/index.js:
 zip-stream/index.js:
   (**
    * ZipStream
@@ -161290,6 +162723,7 @@ zip-stream/index.js:
    * @copyright (c) 2014 Chris Talkington, contributors.
    *)
 
+archiver/lib/plugins/zip.js:
 archiver/lib/plugins/zip.js:
   (**
    * ZIP Format Plugin
@@ -161299,6 +162733,7 @@ archiver/lib/plugins/zip.js:
    * @copyright (c) 2012-2014 Chris Talkington, contributors.
    *)
 
+archiver/lib/plugins/tar.js:
 archiver/lib/plugins/tar.js:
   (**
    * TAR Format Plugin
@@ -161308,6 +162743,7 @@ archiver/lib/plugins/tar.js:
    * @copyright (c) 2012-2014 Chris Talkington, contributors.
    *)
 
+archiver/lib/plugins/json.js:
 archiver/lib/plugins/json.js:
   (**
    * JSON Format Plugin
@@ -161336,7 +162772,7 @@ tmp/lib/tmp.js:
    *)
 
 js-yaml/dist/js-yaml.mjs:
-  (*! js-yaml 4.2.0 https://github.com/nodeca/js-yaml @license MIT *)
+  (*! js-yaml 5.1.0 https://github.com/nodeca/js-yaml @license MIT *)
 
 long/index.js:
   (**
diff --git a/package-lock.json b/package-lock.json
index c11a11022..a580a2c5b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "codeql",
-  "version": "4.36.3",
+  "version": "4.37.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "codeql",
-      "version": "4.36.3",
+      "version": "4.37.1",
       "license": "MIT",
       "workspaces": [
         "pr-checks"
@@ -14,7 +14,7 @@
       "dependencies": {
         "@actions/artifact": "^5.0.3",
         "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
-        "@actions/cache": "^5.0.5",
+        "@actions/cache": "^5.1.0",
         "@actions/core": "^2.0.3",
         "@actions/exec": "^2.0.0",
         "@actions/github": "^8.0.1",
@@ -23,27 +23,27 @@
         "@actions/io": "^2.0.0",
         "@actions/tool-cache": "^3.0.1",
         "@octokit/plugin-retry": "^8.1.0",
-        "archiver": "^7.0.1",
+        "archiver": "^8.0.0",
         "fast-deep-equal": "^3.1.3",
         "follow-redirects": "^1.16.0",
         "get-folder-size": "^5.0.0",
         "https-proxy-agent": "^7.0.6",
-        "js-yaml": "^4.2.0",
+        "js-yaml": "^5.1.0",
         "jsonschema": "1.5.0",
         "long": "^5.3.2",
         "node-forge": "^1.4.0",
-        "semver": "^7.8.4",
-        "uuid": "^14.0.0"
+        "semver": "^7.8.5",
+        "uuid": "^14.0.1"
       },
       "devDependencies": {
         "@ava/typescript": "6.0.0",
         "@eslint/compat": "^2.1.0",
         "@microsoft/eslint-formatter-sarif": "^3.1.0",
         "@octokit/types": "^16.0.0",
-        "@types/archiver": "^7.0.0",
+        "@types/archiver": "^8.0.0",
         "@types/follow-redirects": "^1.14.4",
         "@types/js-yaml": "^4.0.9",
-        "@types/node": "^20.19.42",
+        "@types/node": "^20.19.43",
         "@types/node-forge": "^1.3.14",
         "@types/sarif": "^2.1.7",
         "@types/semver": "^7.7.1",
@@ -53,15 +53,15 @@
         "eslint": "^9.39.4",
         "eslint-import-resolver-typescript": "^4.4.5",
         "eslint-plugin-github": "^6.0.0",
-        "eslint-plugin-import-x": "^4.16.2",
+        "eslint-plugin-import-x": "^4.17.0",
         "eslint-plugin-jsdoc": "^62.9.0",
         "eslint-plugin-no-async-foreach": "^0.1.1",
-        "glob": "^11.1.0",
-        "globals": "^17.6.0",
+        "glob": "^13.0.6",
+        "globals": "^17.7.0",
         "nock": "^14.0.15",
         "sinon": "^22.0.0",
         "typescript": "^6.0.3",
-        "typescript-eslint": "^8.61.0"
+        "typescript-eslint": "^8.62.0"
       }
     },
     "node_modules/@aashutoshrathi/word-wrap": {
@@ -345,16 +345,119 @@
       "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
       "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg=="
     },
+    "node_modules/@actions/artifact/node_modules/archiver": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+      "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
+      "license": "MIT",
+      "dependencies": {
+        "archiver-utils": "^5.0.2",
+        "async": "^3.2.4",
+        "buffer-crc32": "^1.0.0",
+        "readable-stream": "^4.0.0",
+        "readdir-glob": "^1.1.2",
+        "tar-stream": "^3.0.0",
+        "zip-stream": "^6.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/@actions/artifact/node_modules/before-after-hook": {
       "version": "2.2.3",
       "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
       "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
       "license": "Apache-2.0"
     },
+    "node_modules/@actions/artifact/node_modules/brace-expansion": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz",
+      "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==",
+      "license": "MIT",
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/@actions/artifact/node_modules/compress-commons": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+      "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
+      "license": "MIT",
+      "dependencies": {
+        "crc-32": "^1.2.0",
+        "crc32-stream": "^6.0.0",
+        "is-stream": "^2.0.1",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/@actions/artifact/node_modules/crc32-stream": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+      "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
+      "license": "MIT",
+      "dependencies": {
+        "crc-32": "^1.2.0",
+        "readable-stream": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/@actions/artifact/node_modules/is-stream": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@actions/artifact/node_modules/minimatch": {
+      "version": "5.1.9",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
+      "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
+      "license": "ISC",
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@actions/artifact/node_modules/readdir-glob": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
+      "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "minimatch": "^5.1.0"
+      }
+    },
+    "node_modules/@actions/artifact/node_modules/zip-stream": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+      "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
+      "license": "MIT",
+      "dependencies": {
+        "archiver-utils": "^5.0.0",
+        "compress-commons": "^6.0.2",
+        "readable-stream": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/@actions/cache": {
-      "version": "5.0.5",
-      "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-5.0.5.tgz",
-      "integrity": "sha512-jiQSg0gfd+C2KPgcmdCOq7dCuCIQQWQ4b1YfGIRaaA9w7PJbRwTOcCz4LiFEUnqZGf0ha/8OKL3BeNwetHzYsQ==",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-5.1.0.tgz",
+      "integrity": "sha512-kTIj4YPrjjRPKSGlj7f8eq+Pijoy/SKBEbJcAwNsQTFGEF29NGqj1mqD02/PmhV6r4bRAixycexAWpmUJ2aCwg==",
       "license": "MIT",
       "dependencies": {
         "@actions/core": "^2.0.0",
@@ -1426,6 +1529,29 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
+      "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/nodeca"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
     "node_modules/@eslint/js": {
       "version": "9.39.4",
       "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz",
@@ -1555,90 +1681,6 @@
         "url": "https://github.com/sponsors/nzakas"
       }
     },
-    "node_modules/@isaacs/cliui": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
-      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
-      "license": "ISC",
-      "dependencies": {
-        "string-width": "^5.1.2",
-        "string-width-cjs": "npm:string-width@^4.2.0",
-        "strip-ansi": "^7.0.1",
-        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
-        "wrap-ansi": "^8.1.0",
-        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
-      "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
-      }
-    },
-    "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
-      "version": "9.2.2",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
-      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
-      "license": "MIT"
-    },
-    "node_modules/@isaacs/cliui/node_modules/string-width": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
-      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
-      "license": "MIT",
-      "dependencies": {
-        "eastasianwidth": "^0.2.0",
-        "emoji-regex": "^9.2.2",
-        "strip-ansi": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
-      "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
-      }
-    },
-    "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
-      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
-      "license": "MIT",
-      "dependencies": {
-        "ansi-styles": "^6.1.0",
-        "string-width": "^5.0.1",
-        "strip-ansi": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
-      }
-    },
     "node_modules/@isaacs/fs-minipass": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
@@ -1932,6 +1974,29 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/@microsoft/eslint-formatter-sarif/node_modules/js-yaml": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
+      "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/puzrin"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/nodeca"
+        }
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argparse": "^2.0.1"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
     "node_modules/@mswjs/interceptors": {
       "version": "0.41.3",
       "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.41.3.tgz",
@@ -2209,13 +2274,6 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/@package-json/types": {
-      "version": "0.0.12",
-      "resolved": "https://registry.npmjs.org/@package-json/types/-/types-0.0.12.tgz",
-      "integrity": "sha512-uu43FGU34B5VM9mCNjXCwLaGHYjXdNincqKLaraaCW+7S2+SmiBg1Nv8bPnmschrIfZmfKNY9f3fC376MRrObw==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/@pkgr/core": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
@@ -2421,12 +2479,13 @@
       }
     },
     "node_modules/@types/archiver": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-7.0.0.tgz",
-      "integrity": "sha512-/3vwGwx9n+mCQdYZ2IKGGHEFL30I96UgBlk8EtRDDFQ9uxM1l4O5Ci6r00EMAkiDaTqD9DQ6nVrWRICnBPtzzg==",
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-8.0.0.tgz",
+      "integrity": "sha512-YpXPbEuv9+eUIPPQWUPahj3cvs9isWRuF+J4z+KbdYVDO3rWorWQFxUVHnwPu2AgKwvgpki5F2VMX0Xx+mX45A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
+        "@types/node": "*",
         "@types/readdir-glob": "*"
       }
     },
@@ -2469,9 +2528,9 @@
       "license": "MIT"
     },
     "node_modules/@types/node": {
-      "version": "20.19.42",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.42.tgz",
-      "integrity": "sha512-5L7SUaFC1RyDraj2yRhyBzHTobyXHmohD100CChNtyPyleoq37Mqab5Gn8XEKI04dfN/oqPdpHk38MgcQWHbZg==",
+      "version": "20.19.43",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz",
+      "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -2528,17 +2587,17 @@
       "license": "MIT"
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.0.tgz",
-      "integrity": "sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.0.tgz",
+      "integrity": "sha512-o+mpz7EYiMzXoySXiKmzlabIvTVqUuK5yLrAedRPRDA0IpPFMUV1IXt6OqljIxX/kumN6EjUYp41Hqelh6p/Dw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/regexpp": "^4.12.2",
-        "@typescript-eslint/scope-manager": "8.61.0",
-        "@typescript-eslint/type-utils": "8.61.0",
-        "@typescript-eslint/utils": "8.61.0",
-        "@typescript-eslint/visitor-keys": "8.61.0",
+        "@typescript-eslint/scope-manager": "8.62.0",
+        "@typescript-eslint/type-utils": "8.62.0",
+        "@typescript-eslint/utils": "8.62.0",
+        "@typescript-eslint/visitor-keys": "8.62.0",
         "ignore": "^7.0.5",
         "natural-compare": "^1.4.0",
         "ts-api-utils": "^2.5.0"
@@ -2551,7 +2610,7 @@
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "@typescript-eslint/parser": "^8.61.0",
+        "@typescript-eslint/parser": "^8.62.0",
         "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
         "typescript": ">=4.8.4 <6.1.0"
       }
@@ -2567,16 +2626,16 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.0.tgz",
-      "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.0.tgz",
+      "integrity": "sha512-dzHeT2gySzZtLDsuqxU9AkYgIsQoHAHtRBpOqM+Ofzx1Bwrd2RcCjQJ+6iQbsHOIR6NS33bF2W1k3blN1zLDrA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/scope-manager": "8.61.0",
-        "@typescript-eslint/types": "8.61.0",
-        "@typescript-eslint/typescript-estree": "8.61.0",
-        "@typescript-eslint/visitor-keys": "8.61.0",
+        "@typescript-eslint/scope-manager": "8.62.0",
+        "@typescript-eslint/types": "8.62.0",
+        "@typescript-eslint/typescript-estree": "8.62.0",
+        "@typescript-eslint/visitor-keys": "8.62.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -2610,14 +2669,14 @@
       }
     },
     "node_modules/@typescript-eslint/project-service": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz",
-      "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.0.tgz",
+      "integrity": "sha512-wexnCqiTg7BOGtbLDftYpRWlmLq4xfoMd7BKFR6Y75sZS3QmRKLdN3yWLhmIYgqMmP/OXWpj3H8odkb5nGURCQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/tsconfig-utils": "^8.61.0",
-        "@typescript-eslint/types": "^8.61.0",
+        "@typescript-eslint/tsconfig-utils": "^8.62.0",
+        "@typescript-eslint/types": "^8.62.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -2650,14 +2709,14 @@
       }
     },
     "node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz",
-      "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.0.tgz",
+      "integrity": "sha512-1lX38kNxXIRb8mEc3lbq5mdHq1Pf2+U0nFU65KfT18mtPxxl0fvjuEE92mHuXPuCtElJhOrddOpyMlM3Z0umEA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.61.0",
-        "@typescript-eslint/visitor-keys": "8.61.0"
+        "@typescript-eslint/types": "8.62.0",
+        "@typescript-eslint/visitor-keys": "8.62.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2668,9 +2727,9 @@
       }
     },
     "node_modules/@typescript-eslint/tsconfig-utils": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz",
-      "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.0.tgz",
+      "integrity": "sha512-y2GAdB6ykaXUvuspbYnizQc4oDDz0Tz/Yc7iWrXf9mx8vm/L/0vLHCe0tS2boG96Zy+DivnVDQ9ZUEWoHqqx1g==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2685,15 +2744,15 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.0.tgz",
-      "integrity": "sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.0.tgz",
+      "integrity": "sha512-+g5O3j0w2ldzC86Pv6fvbO/xhAonbJFIdf/MKQ1d30gndlsVzUOE83ldfSE15Qrl9fhFjK6AovHs5Wpp6vx86w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.61.0",
-        "@typescript-eslint/typescript-estree": "8.61.0",
-        "@typescript-eslint/utils": "8.61.0",
+        "@typescript-eslint/types": "8.62.0",
+        "@typescript-eslint/typescript-estree": "8.62.0",
+        "@typescript-eslint/utils": "8.62.0",
         "debug": "^4.4.3",
         "ts-api-utils": "^2.5.0"
       },
@@ -2728,9 +2787,9 @@
       }
     },
     "node_modules/@typescript-eslint/types": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz",
-      "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.0.tgz",
+      "integrity": "sha512-KvAclkktORPvM54TgLgA4z9HIV1M8zOgw9ZVNXl9f/8dLYfXYX1wkMXP7qmabpijQRV5bHJLOmoyGQbLMaUYeg==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2742,16 +2801,16 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz",
-      "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.0.tgz",
+      "integrity": "sha512-+hVbNxtW64pIcZWDPGbyaKF7vp2IBTVY5ma1blwwksrjdsbdqqEKvJWMGbBofei4F6Dovx1M0RJgoFeNu2279A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.61.0",
-        "@typescript-eslint/tsconfig-utils": "8.61.0",
-        "@typescript-eslint/types": "8.61.0",
-        "@typescript-eslint/visitor-keys": "8.61.0",
+        "@typescript-eslint/project-service": "8.62.0",
+        "@typescript-eslint/tsconfig-utils": "8.62.0",
+        "@typescript-eslint/types": "8.62.0",
+        "@typescript-eslint/visitor-keys": "8.62.0",
         "debug": "^4.4.3",
         "minimatch": "^10.2.2",
         "semver": "^7.7.3",
@@ -2780,9 +2839,9 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-      "version": "5.0.6",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
-      "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
+      "version": "5.0.7",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz",
+      "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -2827,16 +2886,16 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.0.tgz",
-      "integrity": "sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.0.tgz",
+      "integrity": "sha512-82r66fi9zYwZ+mTq3vKgwjbZ1PVk/DJzrXFLpG6RnBbdvH8TEGVHIs9H4d2drhkOzf0syZuD/OZvvlu6GDbP4g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.9.1",
-        "@typescript-eslint/scope-manager": "8.61.0",
-        "@typescript-eslint/types": "8.61.0",
-        "@typescript-eslint/typescript-estree": "8.61.0"
+        "@typescript-eslint/scope-manager": "8.62.0",
+        "@typescript-eslint/types": "8.62.0",
+        "@typescript-eslint/typescript-estree": "8.62.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2851,13 +2910,13 @@
       }
     },
     "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz",
-      "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.0.tgz",
+      "integrity": "sha512-CY3uyFSRbcQv3nnSv8S0+lDftMVz6P963PoRlxrV7ew/Md564g9ut60PYzdLM5qW4jFn93GBF+Soi90ISAN+GQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.61.0",
+        "@typescript-eslint/types": "8.62.0",
         "eslint-visitor-keys": "^5.0.0"
       },
       "engines": {
@@ -3210,6 +3269,8 @@
     },
     "node_modules/abort-controller": {
       "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
       "license": "MIT",
       "dependencies": {
         "event-target-shim": "^5.0.0"
@@ -3289,6 +3350,7 @@
     },
     "node_modules/ansi-regex": {
       "version": "5.0.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -3298,6 +3360,7 @@
       "version": "6.2.3",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
       "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=12"
@@ -3307,21 +3370,23 @@
       }
     },
     "node_modules/archiver": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
-      "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/archiver/-/archiver-8.0.0.tgz",
+      "integrity": "sha512-fV1orZfsnPn9BaSByR/qE67rJCLJEy2Ox5bq7nJh+jquWaNh6Sfec75kJ2T6PtdGUbPQlrVoSVCEOa5SdiTQ1g==",
       "license": "MIT",
       "dependencies": {
-        "archiver-utils": "^5.0.2",
         "async": "^3.2.4",
         "buffer-crc32": "^1.0.0",
+        "is-stream": "^4.0.0",
+        "lazystream": "^1.0.0",
+        "normalize-path": "^3.0.0",
         "readable-stream": "^4.0.0",
-        "readdir-glob": "^1.1.2",
+        "readdir-glob": "^3.0.0",
         "tar-stream": "^3.0.0",
-        "zip-stream": "^6.0.1"
+        "zip-stream": "^7.0.2"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=18"
       }
     },
     "node_modules/archiver-utils": {
@@ -4145,6 +4210,7 @@
     },
     "node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -4155,6 +4221,7 @@
     },
     "node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/comment-parser": {
@@ -4174,31 +4241,19 @@
       "dev": true
     },
     "node_modules/compress-commons": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
-      "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-7.0.1.tgz",
+      "integrity": "sha512-g0S8KAD8qf4+V//pr3BfB1aBnARLXNz2Gx+jmHU0LEriUuoQUOPOulVquHKTJ8+EAIIO7fhseNDr9wK5Q9FKBQ==",
       "license": "MIT",
       "dependencies": {
         "crc-32": "^1.2.0",
-        "crc32-stream": "^6.0.0",
-        "is-stream": "^2.0.1",
+        "crc32-stream": "^7.0.1",
+        "is-stream": "^4.0.0",
         "normalize-path": "^3.0.0",
         "readable-stream": "^4.0.0"
       },
       "engines": {
-        "node": ">= 14"
-      }
-    },
-    "node_modules/compress-commons/node_modules/is-stream": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
-      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=18"
       }
     },
     "node_modules/concat-map": {
@@ -4262,22 +4317,23 @@
       }
     },
     "node_modules/crc32-stream": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
-      "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-7.0.1.tgz",
+      "integrity": "sha512-IBWsY8xznyQrcHn8h4bC8/4ErNke5elzgG8GcqF4RFPw6aHkWWRc7Tgw6upjaTX/CT/yQgqYENkxYsTYN+hW2g==",
       "license": "MIT",
       "dependencies": {
         "crc-32": "^1.2.0",
         "readable-stream": "^4.0.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=18"
       }
     },
     "node_modules/cross-spawn": {
       "version": "7.0.6",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
       "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+      "dev": true,
       "dependencies": {
         "path-key": "^3.1.0",
         "shebang-command": "^2.0.0",
@@ -4476,12 +4532,6 @@
         "node": ">= 0.4"
       }
     },
-    "node_modules/eastasianwidth": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
-      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
-      "license": "MIT"
-    },
     "node_modules/electron-to-chromium": {
       "version": "1.5.68",
       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.68.tgz",
@@ -4503,6 +4553,7 @@
     },
     "node_modules/emoji-regex": {
       "version": "8.0.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/es-abstract": {
@@ -5074,13 +5125,12 @@
       }
     },
     "node_modules/eslint-plugin-import-x": {
-      "version": "4.16.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.16.2.tgz",
-      "integrity": "sha512-rM9K8UBHcWKpzQzStn1YRN2T5NvdeIfSVoKu/lKF41znQXHAUcBbYXe5wd6GNjZjTrP7viQ49n1D83x/2gYgIw==",
+      "version": "4.17.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.17.0.tgz",
+      "integrity": "sha512-aM7V25Bg6YuYxtEhwjafzfS0NTMds1D2PMQI0K4KqJxQJRtkP4CO+MQTWRdBq2qAnmPxTxLevhXUBtByxJqS1w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@package-json/types": "^0.0.12",
         "@typescript-eslint/types": "^8.56.0",
         "comment-parser": "^1.4.1",
         "debug": "^4.4.1",
@@ -5556,6 +5606,8 @@
     },
     "node_modules/event-target-shim": {
       "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+      "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
       "license": "MIT",
       "engines": {
         "node": ">=6"
@@ -5832,22 +5884,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/foreground-child": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
-      "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
-      "license": "ISC",
-      "dependencies": {
-        "cross-spawn": "^7.0.6",
-        "signal-exit": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
     "node_modules/fsevents": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -6033,23 +6069,17 @@
       }
     },
     "node_modules/glob": {
-      "version": "11.1.0",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz",
-      "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==",
+      "version": "13.0.6",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
+      "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
       "license": "BlueOak-1.0.0",
       "dependencies": {
-        "foreground-child": "^3.3.1",
-        "jackspeak": "^4.1.1",
-        "minimatch": "^10.1.1",
-        "minipass": "^7.1.2",
-        "package-json-from-dist": "^1.0.0",
-        "path-scurry": "^2.0.0"
-      },
-      "bin": {
-        "glob": "dist/esm/bin.mjs"
+        "minimatch": "^10.2.2",
+        "minipass": "^7.1.3",
+        "path-scurry": "^2.0.2"
       },
       "engines": {
-        "node": "20 || >=22"
+        "node": "18 || 20 || >=22"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
@@ -6105,9 +6135,9 @@
       }
     },
     "node_modules/globals": {
-      "version": "17.6.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz",
-      "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==",
+      "version": "17.7.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-17.7.0.tgz",
+      "integrity": "sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -6423,7 +6453,9 @@
       }
     },
     "node_modules/inherits": {
-      "version": "2.0.3",
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
       "license": "ISC"
     },
     "node_modules/internal-slot": {
@@ -6622,6 +6654,7 @@
     },
     "node_modules/is-fullwidth-code-point": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -6806,7 +6839,6 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz",
       "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=18"
@@ -6933,23 +6965,9 @@
     },
     "node_modules/isexe": {
       "version": "2.0.0",
+      "dev": true,
       "license": "ISC"
     },
-    "node_modules/jackspeak": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz",
-      "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
-      "license": "BlueOak-1.0.0",
-      "dependencies": {
-        "@isaacs/cliui": "^8.0.2"
-      },
-      "engines": {
-        "node": "20 || >=22"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
     "node_modules/js-string-escape": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
@@ -6960,9 +6978,9 @@
       }
     },
     "node_modules/js-yaml": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
-      "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.1.0.tgz",
+      "integrity": "sha512-s8VA5jkR8f22S3NAXmhKPFqGUduqZGlsufabVOgN14iTdw/RXcym7bKkbwjxLK9Yw2lEvvmJjFp119+KPeo8Kg==",
       "funding": [
         {
           "type": "github",
@@ -6978,7 +6996,7 @@
         "argparse": "^2.0.1"
       },
       "bin": {
-        "js-yaml": "bin/js-yaml.js"
+        "js-yaml": "bin/js-yaml.mjs"
       }
     },
     "node_modules/jschardet": {
@@ -7220,10 +7238,10 @@
       "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="
     },
     "node_modules/lru-cache": {
-      "version": "11.1.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz",
-      "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==",
-      "license": "ISC",
+      "version": "11.5.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz",
+      "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==",
+      "license": "BlueOak-1.0.0",
       "engines": {
         "node": "20 || >=22"
       }
@@ -7364,10 +7382,10 @@
       }
     },
     "node_modules/minipass": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
-      "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
-      "license": "ISC",
+      "version": "7.1.3",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+      "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
+      "license": "BlueOak-1.0.0",
       "engines": {
         "node": ">=16 || 14 >=14.17"
       }
@@ -7516,6 +7534,8 @@
     },
     "node_modules/normalize-path": {
       "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
       "license": "MIT",
       "engines": {
         "node": ">=0.10.0"
@@ -7760,12 +7780,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/package-json-from-dist": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
-      "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
-      "license": "BlueOak-1.0.0"
-    },
     "node_modules/parent-module": {
       "version": "1.0.1",
       "dev": true,
@@ -7833,6 +7847,7 @@
     },
     "node_modules/path-key": {
       "version": "3.1.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -7844,16 +7859,16 @@
       "license": "MIT"
     },
     "node_modules/path-scurry": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
-      "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
+      "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
       "license": "BlueOak-1.0.0",
       "dependencies": {
         "lru-cache": "^11.0.0",
         "minipass": "^7.1.2"
       },
       "engines": {
-        "node": "20 || >=22"
+        "node": "18 || 20 || >=22"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
@@ -7977,6 +7992,8 @@
     },
     "node_modules/process": {
       "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+      "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
       "license": "MIT",
       "engines": {
         "node": ">= 0.6.0"
@@ -8030,9 +8047,9 @@
       "license": "MIT"
     },
     "node_modules/readable-stream": {
-      "version": "4.5.2",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
-      "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
+      "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
       "license": "MIT",
       "dependencies": {
         "abort-controller": "^3.0.0",
@@ -8046,33 +8063,54 @@
       }
     },
     "node_modules/readdir-glob": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
-      "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-3.0.0.tgz",
+      "integrity": "sha512-AhNB2KgKeVJr16nK9LLZbJNWnYoT23ZrumNKFDebHBdkC8KHSqWo871JAUhoWC/RtjEVdqNMFpM6qrwRbaUqpw==",
       "license": "Apache-2.0",
       "dependencies": {
-        "minimatch": "^5.1.0"
+        "minimatch": "^10.2.2"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/yqnn"
+      }
+    },
+    "node_modules/readdir-glob/node_modules/balanced-match": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+      "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+      "license": "MIT",
+      "engines": {
+        "node": "18 || 20 || >=22"
       }
     },
     "node_modules/readdir-glob/node_modules/brace-expansion": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz",
-      "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==",
+      "version": "5.0.6",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
+      "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
       "license": "MIT",
       "dependencies": {
-        "balanced-match": "^1.0.0"
+        "balanced-match": "^4.0.2"
+      },
+      "engines": {
+        "node": "18 || 20 || >=22"
       }
     },
     "node_modules/readdir-glob/node_modules/minimatch": {
-      "version": "5.1.9",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
-      "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
-      "license": "ISC",
+      "version": "10.2.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
+      "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "brace-expansion": "^2.0.1"
+        "brace-expansion": "^5.0.5"
       },
       "engines": {
-        "node": ">=10"
+        "node": "18 || 20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
     "node_modules/reflect.getprototypeof": {
@@ -8321,9 +8359,9 @@
       }
     },
     "node_modules/semver": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz",
-      "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==",
+      "version": "7.8.5",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
+      "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
       "license": "ISC",
       "bin": {
         "semver": "bin/semver.js"
@@ -8409,6 +8447,7 @@
     },
     "node_modules/shebang-command": {
       "version": "2.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "shebang-regex": "^3.0.0"
@@ -8419,6 +8458,7 @@
     },
     "node_modules/shebang-regex": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -8504,6 +8544,7 @@
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
       "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "dev": true,
       "engines": {
         "node": ">=14"
       },
@@ -8679,21 +8720,7 @@
     },
     "node_modules/string-width": {
       "version": "4.2.3",
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/string-width-cjs": {
-      "name": "string-width",
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "emoji-regex": "^8.0.0",
@@ -8779,19 +8806,7 @@
     },
     "node_modules/strip-ansi": {
       "version": "6.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-ansi-cjs": {
-      "name": "strip-ansi",
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-regex": "^5.0.1"
@@ -8881,9 +8896,9 @@
       }
     },
     "node_modules/supertap/node_modules/js-yaml": {
-      "version": "3.14.2",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
-      "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
+      "version": "3.15.0",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz",
+      "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -9302,16 +9317,16 @@
       }
     },
     "node_modules/typescript-eslint": {
-      "version": "8.61.0",
-      "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.0.tgz",
-      "integrity": "sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==",
+      "version": "8.62.0",
+      "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.0.tgz",
+      "integrity": "sha512-8QxXi+ZACKX0kaqO4gY8kn0RSD9gFfaHDWwjqtEN48aWCBkX4MJaufWN+c3BzlrXLOxfywDL8CaoqUwcRq4j4Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/eslint-plugin": "8.61.0",
-        "@typescript-eslint/parser": "8.61.0",
-        "@typescript-eslint/typescript-estree": "8.61.0",
-        "@typescript-eslint/utils": "8.61.0"
+        "@typescript-eslint/eslint-plugin": "8.62.0",
+        "@typescript-eslint/parser": "8.62.0",
+        "@typescript-eslint/typescript-estree": "8.62.0",
+        "@typescript-eslint/utils": "8.62.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -9345,9 +9360,9 @@
       }
     },
     "node_modules/undici": {
-      "version": "6.24.1",
-      "resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz",
-      "integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==",
+      "version": "6.27.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz",
+      "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==",
       "license": "MIT",
       "engines": {
         "node": ">=18.17"
@@ -9475,9 +9490,9 @@
       "license": "MIT"
     },
     "node_modules/uuid": {
-      "version": "14.0.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz",
-      "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==",
+      "version": "14.0.1",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz",
+      "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==",
       "funding": [
         "https://github.com/sponsors/broofa",
         "https://github.com/sponsors/ctavan"
@@ -9516,6 +9531,7 @@
     },
     "node_modules/which": {
       "version": "2.0.2",
+      "dev": true,
       "license": "ISC",
       "dependencies": {
         "isexe": "^2.0.0"
@@ -9634,39 +9650,6 @@
         "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/wrap-ansi-cjs": {
-      "name": "wrap-ansi",
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
-      "license": "MIT",
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
-      }
-    },
-    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "license": "MIT",
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
     "node_modules/wrap-ansi/node_modules/ansi-styles": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -9807,17 +9790,17 @@
       }
     },
     "node_modules/zip-stream": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
-      "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-7.0.5.tgz",
+      "integrity": "sha512-dSvYKdvLsAHCDqPOhIwk/q5CvuWtTB3Dgpoe0uVEFjTzIOAmsQpprX25InCvrvJsirEbu1OHyy67n/kAj1Sw/w==",
       "license": "MIT",
       "dependencies": {
-        "archiver-utils": "^5.0.0",
-        "compress-commons": "^6.0.2",
+        "compress-commons": "^7.0.0",
+        "normalize-path": "^3.0.0",
         "readable-stream": "^4.0.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=18"
       }
     },
     "pr-checks": {
@@ -9827,11 +9810,11 @@
         "@octokit/core": "^7.0.6",
         "@octokit/plugin-paginate-rest": ">=9.2.2",
         "@octokit/plugin-rest-endpoint-methods": "^17.0.0",
-        "semver": "^7.8.0",
+        "semver": "^7.8.5",
         "yaml": "^2.9.0"
       },
       "devDependencies": {
-        "@types/node": "^20.19.42",
+        "@types/node": "^20.19.43",
         "tsx": "^4.22.4"
       }
     }
diff --git a/package.json b/package.json
index d24cfc08c..46fb37e98 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "codeql",
-  "version": "4.36.3",
+  "version": "4.37.1",
   "private": true,
   "description": "CodeQL action",
   "scripts": {
@@ -22,7 +22,7 @@
   "dependencies": {
     "@actions/artifact": "^5.0.3",
     "@actions/artifact-legacy": "npm:@actions/artifact@^1.1.2",
-    "@actions/cache": "^5.0.5",
+    "@actions/cache": "^5.1.0",
     "@actions/core": "^2.0.3",
     "@actions/exec": "^2.0.0",
     "@actions/github": "^8.0.1",
@@ -31,27 +31,27 @@
     "@actions/io": "^2.0.0",
     "@actions/tool-cache": "^3.0.1",
     "@octokit/plugin-retry": "^8.1.0",
-    "archiver": "^7.0.1",
+    "archiver": "^8.0.0",
     "fast-deep-equal": "^3.1.3",
     "follow-redirects": "^1.16.0",
     "get-folder-size": "^5.0.0",
     "https-proxy-agent": "^7.0.6",
-    "js-yaml": "^4.2.0",
+    "js-yaml": "^5.1.0",
     "jsonschema": "1.5.0",
     "long": "^5.3.2",
     "node-forge": "^1.4.0",
-    "semver": "^7.8.4",
-    "uuid": "^14.0.0"
+    "semver": "^7.8.5",
+    "uuid": "^14.0.1"
   },
   "devDependencies": {
     "@ava/typescript": "6.0.0",
     "@eslint/compat": "^2.1.0",
     "@microsoft/eslint-formatter-sarif": "^3.1.0",
     "@octokit/types": "^16.0.0",
-    "@types/archiver": "^7.0.0",
+    "@types/archiver": "^8.0.0",
     "@types/follow-redirects": "^1.14.4",
     "@types/js-yaml": "^4.0.9",
-    "@types/node": "^20.19.42",
+    "@types/node": "^20.19.43",
     "@types/node-forge": "^1.3.14",
     "@types/sarif": "^2.1.7",
     "@types/semver": "^7.7.1",
@@ -61,15 +61,15 @@
     "eslint": "^9.39.4",
     "eslint-import-resolver-typescript": "^4.4.5",
     "eslint-plugin-github": "^6.0.0",
-    "eslint-plugin-import-x": "^4.16.2",
+    "eslint-plugin-import-x": "^4.17.0",
     "eslint-plugin-jsdoc": "^62.9.0",
     "eslint-plugin-no-async-foreach": "^0.1.1",
-    "glob": "^11.1.0",
-    "globals": "^17.6.0",
+    "glob": "^13.0.6",
+    "globals": "^17.7.0",
     "nock": "^14.0.15",
     "sinon": "^22.0.0",
     "typescript": "^6.0.3",
-    "typescript-eslint": "^8.61.0"
+    "typescript-eslint": "^8.62.0"
   },
   "overrides": {
     "@actions/tool-cache": {
@@ -90,7 +90,7 @@
     "eslint-plugin-jsx-a11y": {
       "semver": ">=6.3.1"
     },
-    "glob": "^11.1.0",
+    "glob": "^13.0.6",
     "undici": "^6.24.0"
   }
 }
diff --git a/pr-checks/checks/go-indirect-tracing-workaround-diagnostic.yml b/pr-checks/checks/go-indirect-tracing-workaround-diagnostic.yml
index 69f9b4762..895dba2b6 100644
--- a/pr-checks/checks/go-indirect-tracing-workaround-diagnostic.yml
+++ b/pr-checks/checks/go-indirect-tracing-workaround-diagnostic.yml
@@ -12,7 +12,7 @@ steps:
       languages: go
       tools: ${{ steps.prepare-test.outputs.tools-url }}
   # Deliberately change Go after the `init` step
-  - uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
+  - uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
     with:
       go-version: "1.20"
   - name: Build code
diff --git a/pr-checks/checks/multi-language-autodetect.yml b/pr-checks/checks/multi-language-autodetect.yml
index fcafe5fb3..801f4521a 100644
--- a/pr-checks/checks/multi-language-autodetect.yml
+++ b/pr-checks/checks/multi-language-autodetect.yml
@@ -4,6 +4,16 @@ operatingSystems:
   - ubuntu
   - os: macos
     runner-image: macos-latest-xlarge
+  # Older CodeQL CLI versions only support Swift up to 6.1, which requires Xcode 16. That is
+  # not available on macOS 26, so run these versions on macOS 15 where we select Xcode 16
+  # below. See https://github.com/actions/runner-images/issues/14167.
+  - os: macos
+    runner-image: macos-15-xlarge
+    codeql-versions:
+      - stable-v2.19.4
+      - stable-v2.20.7
+      - stable-v2.21.4
+      - stable-v2.22.4
 env:
   CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI: true
 installGo: true
@@ -13,12 +23,13 @@ steps:
     # We need Python 3.13 for older CLI versions because they are not compatible with Python 3.14 or newer.
     # See https://github.com/github/codeql-action/pull/3212
     if: matrix.version != 'nightly-latest' && matrix.version != 'linked'
-    uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
+    uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
     with:
       python-version: "3.13"
 
   - name: Use Xcode 16
-    if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
+    # Only the older CodeQL CLI versions need Xcode 16, and these run on macOS 15.
+    if: matrix.os == 'macos-15-xlarge'
     run: sudo xcode-select -s "/Applications/Xcode_16.app"
 
   - uses: ./../action/init
diff --git a/pr-checks/checks/rubocop-multi-language.yml b/pr-checks/checks/rubocop-multi-language.yml
index 182816cb3..dd9c21828 100644
--- a/pr-checks/checks/rubocop-multi-language.yml
+++ b/pr-checks/checks/rubocop-multi-language.yml
@@ -5,7 +5,7 @@ versions:
   - default
 steps:
   - name: Set up Ruby
-    uses: ruby/setup-ruby@12fd324f1d0b43274fdc8130f6980590a667c455 # v1.312.0
+    uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314.0
     with:
       ruby-version: 2.6
   - name: Install Code Scanning integration
diff --git a/pr-checks/checks/submit-sarif-failure.yml b/pr-checks/checks/submit-sarif-failure.yml
index 2bba971d7..9212a5dc7 100644
--- a/pr-checks/checks/submit-sarif-failure.yml
+++ b/pr-checks/checks/submit-sarif-failure.yml
@@ -21,7 +21,7 @@ permissions:
   security-events: write # needed to upload the SARIF file
 
 steps:
-  - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
+  - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
   - uses: ./init
     with:
       languages: javascript
diff --git a/pr-checks/checks/swift-custom-build.yml b/pr-checks/checks/swift-custom-build.yml
index 7a07d5b7e..a2d04421b 100644
--- a/pr-checks/checks/swift-custom-build.yml
+++ b/pr-checks/checks/swift-custom-build.yml
@@ -11,9 +11,6 @@ installDotNet: true
 env:
   DOTNET_GENERATE_ASPNET_CERTIFICATE: "false"
 steps:
-  - name: Use Xcode 16
-    if: runner.os == 'macOS' && matrix.version != 'nightly-latest'
-    run: sudo xcode-select -s "/Applications/Xcode_16.app"
   - uses: ./../action/init
     id: init
     with:
diff --git a/pr-checks/checks/with-checkout-path.yml b/pr-checks/checks/with-checkout-path.yml
index e91066e18..7a5866b78 100644
--- a/pr-checks/checks/with-checkout-path.yml
+++ b/pr-checks/checks/with-checkout-path.yml
@@ -14,7 +14,7 @@ steps:
       rm -rf ./* .github .git
   # Check out the actions repo again, but at a different location.
   # choose an arbitrary SHA so that we can later test that the commit_oid is not from main
-  - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
+  - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
     with:
       ref: 474bbf07f9247ffe1856c6a0f94aeeb10e7afee6
       path: x/y/z/some-path
diff --git a/pr-checks/package.json b/pr-checks/package.json
index 649b14795..e5a119ff1 100644
--- a/pr-checks/package.json
+++ b/pr-checks/package.json
@@ -7,11 +7,11 @@
     "@octokit/core": "^7.0.6",
     "@octokit/plugin-paginate-rest": ">=9.2.2",
     "@octokit/plugin-rest-endpoint-methods": "^17.0.0",
-    "semver": "^7.8.0",
+    "semver": "^7.8.5",
     "yaml": "^2.9.0"
   },
   "devDependencies": {
-    "@types/node": "^20.19.42",
+    "@types/node": "^20.19.43",
     "tsx": "^4.22.4"
   }
 }
diff --git a/pr-checks/sync.ts b/pr-checks/sync.ts
index b969fcb93..cc4f66946 100755
--- a/pr-checks/sync.ts
+++ b/pr-checks/sync.ts
@@ -54,6 +54,13 @@ type OperatingSystem =
       os: OperatingSystemIdentifier;
       /** Optional runner image label. */
       "runner-image"?: string;
+      /**
+       * Optional CodeQL versions to run on this entry. If specified, this entry runs only these
+       * versions. A sibling entry for the same OS that omits `codeql-versions` runs all versions
+       * not claimed by any sibling entry. This allows pinning specific CodeQL versions to a
+       * particular runner image while letting the remaining versions default to another.
+       */
+      "codeql-versions"?: string[];
     };
 
 /**
@@ -226,8 +233,8 @@ const languageSetups: LanguageSetups = {
         name: "Install Go",
         uses: pinnedUses(
           "actions/setup-go",
-          "4a3601121dd01d1626a1e23e37211e3254c1c06c",
-          "v6.4.0",
+          "924ae3a1cded613372ab5595356fb5720e22ba16",
+          "v6.5.0",
         ),
         with: {
           "go-version": `\${{ inputs.go-version || '${defaultLanguageVersions.go}' }}`,
@@ -246,8 +253,8 @@ const languageSetups: LanguageSetups = {
         name: "Install Java",
         uses: pinnedUses(
           "actions/setup-java",
-          "ad2b38190b15e4d6bdf0c97fb4fca8412226d287",
-          "v5.3.0",
+          "1bcf9fb12cf4aa7d266a90ae39939e61372fe520",
+          "v5.4.0",
         ),
         with: {
           "java-version": `\${{ inputs.java-version || '${defaultLanguageVersions.java}' }}`,
@@ -264,8 +271,8 @@ const languageSetups: LanguageSetups = {
         name: "Install Python",
         uses: pinnedUses(
           "actions/setup-python",
-          "a309ff8b426b58ec0e2a45f0f869d46889d02405",
-          "v6.2.0",
+          "ece7cb06caefa5fff74198d8649806c4678c61a1",
+          "v6.3.0",
         ),
         with: {
           "python-version": `\${{ inputs.python-version || '${defaultLanguageVersions.python}' }}`,
@@ -281,8 +288,8 @@ const languageSetups: LanguageSetups = {
         name: "Install .NET",
         uses: pinnedUses(
           "actions/setup-dotnet",
-          "9a946fdbd5fb07b82b2f5a4466058b876ab72bb2",
-          "v5.3.0",
+          "26b0ec14cb23fa6904739307f278c14f94c95bf1",
+          "v5.4.0",
         ),
         with: {
           "dotnet-version": `\${{ inputs.dotnet-version || '${defaultLanguageVersions.csharp}' }}`,
@@ -352,6 +359,28 @@ function generateJobMatrix(
 ): Array> {
   let matrix: Array> = [];
 
+  const operatingSystems = checkSpecification.operatingSystems ?? ["ubuntu"];
+
+  // For each OS, collect the CodeQL versions explicitly claimed by entries that specify
+  // `codeql-versions`. A sibling entry for the same OS that omits `codeql-versions` runs all
+  // versions not in this set.
+  const claimedVersionsByOs = new Map>();
+  for (const operatingSystemConfig of operatingSystems) {
+    if (typeof operatingSystemConfig === "string") {
+      continue;
+    }
+    const entryVersions = operatingSystemConfig["codeql-versions"];
+    if (!entryVersions) {
+      continue;
+    }
+    const claimed =
+      claimedVersionsByOs.get(operatingSystemConfig.os) ?? new Set();
+    for (const entryVersion of entryVersions) {
+      claimed.add(entryVersion);
+    }
+    claimedVersionsByOs.set(operatingSystemConfig.os, claimed);
+  }
+
   for (const version of checkSpecification.versions ?? defaultTestVersions) {
     if (version === "latest") {
       throw new Error(
@@ -364,7 +393,6 @@ function generateJobMatrix(
       "macos-latest",
       "windows-latest",
     ];
-    const operatingSystems = checkSpecification.operatingSystems ?? ["ubuntu"];
 
     for (const operatingSystemConfig of operatingSystems) {
       const operatingSystem =
@@ -379,6 +407,19 @@ function generateJobMatrix(
         continue;
       }
 
+      // An entry that specifies `codeql-versions` runs only those versions. A sibling entry for
+      // the same OS that omits `codeql-versions` runs all versions not claimed by its siblings.
+      const entryVersions =
+        typeof operatingSystemConfig === "string"
+          ? undefined
+          : operatingSystemConfig["codeql-versions"];
+      const runsThisVersion = entryVersions
+        ? entryVersions.includes(version)
+        : !claimedVersionsByOs.get(operatingSystem)?.has(version);
+      if (!runsThisVersion) {
+        continue;
+      }
+
       const runnerImagesForOs =
         typeof operatingSystemConfig === "string" ||
         operatingSystemConfig["runner-image"] === undefined
@@ -488,8 +529,8 @@ function generateJob(
       name: "Check out repository",
       uses: pinnedUses(
         "actions/checkout",
-        "df4cb1c069e1874edd31b4311f1884172cec0e10",
-        "v6.0.3",
+        "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0",
+        "v7.0.0",
       ),
     },
     ...setupInfo.steps,
@@ -724,9 +765,7 @@ function main(): void {
         push: {
           branches: ["main", "releases/v*"],
         },
-        pull_request: {
-          types: ["opened", "synchronize", "reopened", "ready_for_review"],
-        },
+        pull_request: {},
         merge_group: {
           types: ["checks_requested"],
         },
diff --git a/src/action-common.ts b/src/action-common.ts
new file mode 100644
index 000000000..dc76e9fdb
--- /dev/null
+++ b/src/action-common.ts
@@ -0,0 +1,95 @@
+import * as core from "@actions/core";
+
+import { ActionsEnv, getActionsEnv } from "./actions-util";
+import { Env } from "./environment";
+import { FeatureEnablement } from "./feature-flags";
+import { getActionsLogger, Logger } from "./logging";
+import {
+  ActionName,
+  getDisplayActionName,
+  sendUnhandledErrorStatusReport,
+} from "./status-report";
+import { getEnv, getErrorMessage } from "./util";
+
+/** Common state that is always available in `ActionState`. */
+export interface BaseState {
+  /** The name of the Action. */
+  name: ActionName;
+  /** When the Action was started. */
+  startedAt: Date;
+}
+
+/** Describes different state features that an Action may have. */
+export interface FeatureState {
+  Logger: {
+    /** The logger that is in use. */
+    logger: Logger;
+  };
+  Env: {
+    /** Information about environment variables. */
+    env: Env;
+  };
+  Actions: {
+    /** Access to Actions-related functionality. */
+    actions: ActionsEnv;
+  };
+  FeatureFlags: {
+    /** Information about enabled feature flags. */
+    features: FeatureEnablement;
+  };
+}
+
+/** Identifies a type of state an Action may have. */
+export type StateFeature = keyof FeatureState;
+
+/** Constructs the intersection of all state types identifies by `Fs`. */
+export type FieldsOf = Fs extends []
+  ? BaseState
+  : Fs extends [
+        infer Head extends StateFeature,
+        ...infer Tail extends readonly StateFeature[],
+      ]
+    ? FeatureState[Head] & FieldsOf
+    : never;
+
+/** Describes the state of an Action that has access to the state corresponding to `Fs`. */
+export type ActionState = FieldsOf;
+
+/** The type of an Action's main entry point. This is a function that is provided
+ * with a basic `ActionState` object with features that are always available.
+ * Each Action can then augment the `state` further if additional features are required.
+ */
+export type ActionMain = (
+  state: ActionState<["Logger", "Env", "Actions"]>,
+) => Promise;
+
+/** A specification for a CodeQL Action step. */
+export interface Action {
+  /** The name of the Action. */
+  name: ActionName;
+  /** The entry point for the Action. */
+  run: ActionMain;
+}
+
+/** A generic entry point that sets up the basic environment for the `action` and runs it. */
+export async function runInActions(action: Action) {
+  const startedAt = new Date();
+  const logger = getActionsLogger();
+  const env = getEnv();
+  const actionsEnv = getActionsEnv();
+
+  try {
+    await action.run({
+      name: action.name,
+      startedAt,
+      logger,
+      env,
+      actions: actionsEnv,
+    });
+  } catch (error) {
+    core.setFailed(
+      `${getDisplayActionName(action.name)} action failed: ${getErrorMessage(error)}`,
+    );
+    await sendUnhandledErrorStatusReport(action.name, startedAt, error, logger);
+  }
+}
diff --git a/src/actions-util.ts b/src/actions-util.ts
index dea22d5c5..5fd1ebc4f 100644
--- a/src/actions-util.ts
+++ b/src/actions-util.ts
@@ -7,12 +7,13 @@ import * as github from "@actions/github";
 import * as io from "@actions/io";
 
 import type { Config } from "./config-utils";
+import { Env, EnvVar, ActionsEnvVars } from "./environment";
 import { Logger } from "./logging";
 import {
   doesDirectoryExist,
   getCodeQLDatabasePath,
-  getRequiredEnvParam,
   ConfigurationError,
+  getEnv,
 } from "./util";
 
 /**
@@ -61,17 +62,21 @@ export const getOptionalInput = function (name: string): string | undefined {
   return value.length > 0 ? value : undefined;
 };
 
-export function getTemporaryDirectory(): string {
-  const value = process.env["CODEQL_ACTION_TEMP"];
-  return value !== undefined && value !== ""
-    ? value
-    : getRequiredEnvParam("RUNNER_TEMP");
+/**
+ * Gets the temporary directory used by the CodeQL Action. This will either be the temporary
+ * directory that has been set in `CODEQL_ACTION_TEMP` by e.g. a previous step, or the
+ * value of `RUNNER_TEMP` otherwise.
+ */
+export function getTemporaryDirectory(env: Env = getEnv()): string {
+  return (
+    env.getOptional(EnvVar.TEMP) ?? env.getRequired(ActionsEnvVars.RUNNER_TEMP)
+  );
 }
 
 const PR_DIFF_RANGE_JSON_FILENAME = "pr-diff-range.json";
 
-export function getDiffRangesJsonFilePath(): string {
-  return path.join(getTemporaryDirectory(), PR_DIFF_RANGE_JSON_FILENAME);
+export function getDiffRangesJsonFilePath(env: Env = getEnv()): string {
+  return path.join(getTemporaryDirectory(env), PR_DIFF_RANGE_JSON_FILENAME);
 }
 
 export function getActionVersion(): string {
@@ -83,16 +88,16 @@ export function getActionVersion(): string {
  *
  * This will be "dynamic" for default setup workflow runs.
  */
-export function getWorkflowEventName() {
-  return getRequiredEnvParam("GITHUB_EVENT_NAME");
+export function getWorkflowEventName(env: Env = getEnv()) {
+  return env.getRequired(ActionsEnvVars.GITHUB_EVENT_NAME);
 }
 
 /**
  * Returns whether the current workflow is executing a local copy of the Action, e.g. we're running
  * a workflow on the codeql-action repo itself.
  */
-export function isRunningLocalAction(): boolean {
-  const relativeScriptPath = getRelativeScriptPath();
+export function isRunningLocalAction(env: Env = getEnv()): boolean {
+  const relativeScriptPath = getRelativeScriptPath(env);
   return (
     relativeScriptPath.startsWith("..") || path.isAbsolute(relativeScriptPath)
   );
@@ -103,15 +108,15 @@ export function isRunningLocalAction(): boolean {
  *
  * This can be used to get the Action's name or tell if we're running a local Action.
  */
-function getRelativeScriptPath(): string {
-  const runnerTemp = getRequiredEnvParam("RUNNER_TEMP");
+function getRelativeScriptPath(env: Env): string {
+  const runnerTemp = env.getRequired(ActionsEnvVars.RUNNER_TEMP);
   const actionsDirectory = path.join(path.dirname(runnerTemp), "_actions");
   return path.relative(actionsDirectory, __filename);
 }
 
 /** Returns the contents of `GITHUB_EVENT_PATH` as a JSON object. */
-export function getWorkflowEvent(): any {
-  const eventJsonFile = getRequiredEnvParam("GITHUB_EVENT_PATH");
+export function getWorkflowEvent(env: Env = getEnv()): any {
+  const eventJsonFile = env.getRequired(ActionsEnvVars.GITHUB_EVENT_PATH);
   try {
     return JSON.parse(fs.readFileSync(eventJsonFile, "utf-8"));
   } catch (e) {
@@ -180,17 +185,17 @@ export function getUploadValue(input: string | undefined): UploadKind {
 /**
  * Get the workflow run ID.
  */
-export function getWorkflowRunID(): number {
-  const workflowRunIdString = getRequiredEnvParam("GITHUB_RUN_ID");
+export function getWorkflowRunID(env: Env = getEnv()): number {
+  const workflowRunIdString = env.getRequired(ActionsEnvVars.GITHUB_RUN_ID);
   const workflowRunID = parseInt(workflowRunIdString, 10);
   if (Number.isNaN(workflowRunID)) {
     throw new Error(
-      `GITHUB_RUN_ID must define a non NaN workflow run ID. Current value is ${workflowRunIdString}`,
+      `${ActionsEnvVars.GITHUB_RUN_ID} must define a non NaN workflow run ID. Current value is ${workflowRunIdString}`,
     );
   }
   if (workflowRunID < 0) {
     throw new Error(
-      `GITHUB_RUN_ID must be a non-negative integer. Current value is ${workflowRunIdString}`,
+      `${ActionsEnvVars.GITHUB_RUN_ID} must be a non-negative integer. Current value is ${workflowRunIdString}`,
     );
   }
   return workflowRunID;
@@ -199,17 +204,19 @@ export function getWorkflowRunID(): number {
 /**
  * Get the workflow run attempt number.
  */
-export function getWorkflowRunAttempt(): number {
-  const workflowRunAttemptString = getRequiredEnvParam("GITHUB_RUN_ATTEMPT");
+export function getWorkflowRunAttempt(env: Env = getEnv()): number {
+  const workflowRunAttemptString = env.getRequired(
+    ActionsEnvVars.GITHUB_RUN_ATTEMPT,
+  );
   const workflowRunAttempt = parseInt(workflowRunAttemptString, 10);
   if (Number.isNaN(workflowRunAttempt)) {
     throw new Error(
-      `GITHUB_RUN_ATTEMPT must define a non NaN workflow run attempt. Current value is ${workflowRunAttemptString}`,
+      `${ActionsEnvVars.GITHUB_RUN_ATTEMPT} must define a non NaN workflow run attempt. Current value is ${workflowRunAttemptString}`,
     );
   }
   if (workflowRunAttempt <= 0) {
     throw new Error(
-      `GITHUB_RUN_ATTEMPT must be a positive integer. Current value is ${workflowRunAttemptString}`,
+      `${ActionsEnvVars.GITHUB_RUN_ATTEMPT} must be a positive integer. Current value is ${workflowRunAttemptString}`,
     );
   }
   return workflowRunAttempt;
@@ -266,18 +273,18 @@ export const getFileType = async (filePath: string): Promise => {
   }
 };
 
-export function isSelfHostedRunner() {
-  return process.env.RUNNER_ENVIRONMENT === "self-hosted";
+export function isSelfHostedRunner(env: Env = getEnv()) {
+  return env.getOptional(ActionsEnvVars.RUNNER_ENVIRONMENT) === "self-hosted";
 }
 
 /** Determines whether the workflow trigger is `dynamic`. */
-export function isDynamicWorkflow(): boolean {
-  return getWorkflowEventName() === "dynamic";
+export function isDynamicWorkflow(env: Env = getEnv()): boolean {
+  return getWorkflowEventName(env) === "dynamic";
 }
 
 /** Determines whether we are running in default setup. */
-export function isDefaultSetup(): boolean {
-  return isDynamicWorkflow();
+export function isDefaultSetup(env: Env = getEnv()): boolean {
+  return isDynamicWorkflow(env);
 }
 
 export function prettyPrintInvocation(cmd: string, args: string[]): string {
@@ -375,9 +382,10 @@ const persistedInputsKey = "persisted_inputs";
  * This would be simplified if actions/runner#3514 is addressed.
  * https://github.com/actions/runner/issues/3514
  */
-export const persistInputs = function () {
-  const inputEnvironmentVariables = Object.entries(process.env).filter(
-    ([name]) => name.startsWith("INPUT_"),
+export const persistInputs = function (env: Env = getEnv()) {
+  const entries = env.entries();
+  const inputEnvironmentVariables = entries.filter(([name]) =>
+    name.startsWith("INPUT_"),
   );
   core.saveState(persistedInputsKey, JSON.stringify(inputEnvironmentVariables));
 };
@@ -405,7 +413,9 @@ export interface PullRequestBranches {
  * @returns the base and head branches of the pull request, or undefined if
  * we are not analyzing a pull request.
  */
-export function getPullRequestBranches(): PullRequestBranches | undefined {
+export function getPullRequestBranches(
+  env: Env = getEnv(),
+): PullRequestBranches | undefined {
   const pullRequest = github.context.payload.pull_request;
   if (pullRequest) {
     return {
@@ -419,8 +429,10 @@ export function getPullRequestBranches(): PullRequestBranches | undefined {
 
   // PR analysis under Default Setup does not have the pull_request context,
   // but it should set CODE_SCANNING_REF and CODE_SCANNING_BASE_BRANCH.
-  const codeScanningRef = process.env.CODE_SCANNING_REF;
-  const codeScanningBaseBranch = process.env.CODE_SCANNING_BASE_BRANCH;
+  const codeScanningRef = env.getOptional(EnvVar.CODE_SCANNING_REF);
+  const codeScanningBaseBranch = env.getOptional(
+    EnvVar.CODE_SCANNING_BASE_BRANCH,
+  );
   if (codeScanningRef && codeScanningBaseBranch) {
     return {
       base: codeScanningBaseBranch,
@@ -435,8 +447,8 @@ export function getPullRequestBranches(): PullRequestBranches | undefined {
 /**
  * Returns whether we are analyzing a pull request.
  */
-export function isAnalyzingPullRequest(): boolean {
-  return getPullRequestBranches() !== undefined;
+export function isAnalyzingPullRequest(env: Env = getEnv()): boolean {
+  return getPullRequestBranches(env) !== undefined;
 }
 
 /**
@@ -460,13 +472,14 @@ const qualityCategoryMapping: Record = {
 export function fixCodeQualityCategory(
   logger: Logger,
   category?: string,
+  env: Env = getEnv(),
 ): string | undefined {
   // The `category` should always be set by Default Setup. We perform this check
   // to avoid potential issues if Code Quality supports Advanced Setup in the future
   // and before this workaround is removed.
   if (
     category !== undefined &&
-    isDefaultSetup() &&
+    isDefaultSetup(env) &&
     category.startsWith("/language:")
   ) {
     const language = category.substring("/language:".length);
diff --git a/src/analyze-action.ts b/src/analyze-action.ts
index cc2777bc5..f7cbbaabe 100644
--- a/src/analyze-action.ts
+++ b/src/analyze-action.ts
@@ -4,6 +4,7 @@ import { performance } from "perf_hooks";
 
 import * as core from "@actions/core";
 
+import { Action, ActionState, runInActions } from "./action-common";
 import * as actionsUtil from "./actions-util";
 import * as analyses from "./analyses";
 import {
@@ -40,7 +41,6 @@ import {
   createStatusReportBase,
   DatabaseCreationTimings,
   getActionsStatus,
-  sendUnhandledErrorStatusReport,
   StatusReportBase,
 } from "./status-report";
 import {
@@ -212,7 +212,7 @@ async function runAutobuildIfLegacyGoWorkflow(config: Config, logger: Logger) {
   await runAutobuild(config, BuiltInLanguage.go, logger);
 }
 
-async function run(startedAt: Date) {
+async function run({ startedAt, logger }: ActionState<["Logger"]>) {
   // To capture errors appropriately, keep as much code within the try-catch as
   // possible, and only use safe functions outside.
 
@@ -228,7 +228,6 @@ async function run(startedAt: Date) {
   let didUploadTrapCaches = false;
   let dependencyCacheResults: DependencyCacheUploadStatusReport | undefined;
   let databaseUploadResults: DatabaseUploadResult[] = [];
-  const logger = getActionsLogger();
 
   try {
     util.initializeEnvironment(actionsUtil.getActionVersion());
@@ -523,19 +522,13 @@ async function run(startedAt: Date) {
   }
 }
 
+/** Defines the `analyze` Action. */
+const analyze: Action = {
+  name: ActionName.Analyze,
+  run,
+};
+
 export async function runWrapper() {
-  const startedAt = new Date();
-  const logger = getActionsLogger();
-  try {
-    await run(startedAt);
-  } catch (error) {
-    core.setFailed(`analyze action failed: ${util.getErrorMessage(error)}`);
-    await sendUnhandledErrorStatusReport(
-      ActionName.Analyze,
-      startedAt,
-      error,
-      logger,
-    );
-  }
+  await runInActions(analyze);
   await util.checkForTimeout();
 }
diff --git a/src/analyze.ts b/src/analyze.ts
index 63830445d..411477b59 100644
--- a/src/analyze.ts
+++ b/src/analyze.ts
@@ -281,11 +281,11 @@ extensions:
         .join(checkoutPath, range.path)
         .replaceAll(path.sep, "/");
 
-      // Using yaml.dump() with `forceQuotes: true` ensures that all special
+      // Using yaml.dump() with `quoteStyle: "double"` ensures that all special
       // characters are escaped, and that the path is always rendered as a
       // quoted string on a single line.
       return (
-        `      - [${yaml.dump(filename, { forceQuotes: true }).trim()}, ` +
+        `      - [${yaml.dump(filename, { forceQuotes: true, quoteStyle: "single" }).trim()}, ` +
         `${range.startLine}, ${range.endLine}]\n`
       );
     })
diff --git a/src/api-client.test.ts b/src/api-client.test.ts
index f8846e768..34a72f14e 100644
--- a/src/api-client.test.ts
+++ b/src/api-client.test.ts
@@ -6,7 +6,8 @@ import * as sinon from "sinon";
 import * as actionsUtil from "./actions-util";
 import * as api from "./api-client";
 import { DO_NOT_RETRY_STATUSES } from "./api-client";
-import { setupTests } from "./testing-utils";
+import { ActionsEnvVars } from "./environment";
+import { getTestEnv, setupTests } from "./testing-utils";
 import * as util from "./util";
 
 setupTests(test);
@@ -20,16 +21,13 @@ test.serial("getApiClient", async (t) => {
   const githubStub: sinon.SinonStub = sinon.stub();
   pluginStub.returns(githubStub);
 
-  sinon.stub(actionsUtil, "getRequiredInput").withArgs("token").returns("xyz");
-  const requiredEnvParamStub = sinon.stub(util, "getRequiredEnvParam");
-  requiredEnvParamStub
-    .withArgs("GITHUB_SERVER_URL")
-    .returns("http://github.localhost");
-  requiredEnvParamStub
-    .withArgs("GITHUB_API_URL")
-    .returns("http://api.github.localhost");
+  const env = getTestEnv();
+  env.set(ActionsEnvVars.GITHUB_SERVER_URL, "http://github.localhost");
+  env.set(ActionsEnvVars.GITHUB_API_URL, "http://api.github.localhost");
 
-  api.getApiClient();
+  sinon.stub(actionsUtil, "getRequiredInput").withArgs("token").returns("xyz");
+
+  api.getApiClient(env);
 
   t.assert(
     githubStub.calledOnceWithExactly({
@@ -181,6 +179,7 @@ test.serial(
       "Code Security must be enabled for this repository to use code scanning",
       "Advanced Security must be enabled for this repository to use code scanning",
       "Code Scanning is not enabled for this repository. Please enable code scanning in the repository settings.",
+      "Code quality is not enabled for this repository. Please enable code quality in the repository settings.",
     ];
     const transforms = [
       (msg: string) => msg,
diff --git a/src/api-client.ts b/src/api-client.ts
index 4a061d482..eafac7ec7 100644
--- a/src/api-client.ts
+++ b/src/api-client.ts
@@ -3,7 +3,7 @@ import * as githubUtils from "@actions/github/lib/utils";
 import * as retry from "@octokit/plugin-retry";
 
 import { getActionVersion, getRequiredInput } from "./actions-util";
-import { EnvVar } from "./environment";
+import { EnvVar, ReadOnlyEnv, ActionsEnvVars, getEnv } from "./environment";
 import { Logger } from "./logging";
 import { getRepositoryNwo, RepositoryNwo } from "./repository";
 import {
@@ -67,16 +67,16 @@ function createApiClientWithDetails(
   );
 }
 
-export function getApiDetails(): GitHubApiDetails {
+export function getApiDetails(env: ReadOnlyEnv = getEnv()): GitHubApiDetails {
   return {
     auth: getRequiredInput("token"),
-    url: getRequiredEnvParam("GITHUB_SERVER_URL"),
-    apiURL: getRequiredEnvParam("GITHUB_API_URL"),
+    url: env.getRequired(ActionsEnvVars.GITHUB_SERVER_URL),
+    apiURL: env.getRequired(ActionsEnvVars.GITHUB_API_URL),
   };
 }
 
-export function getApiClient() {
-  return createApiClientWithDetails(getApiDetails());
+export function getApiClient(env: ReadOnlyEnv = getEnv()) {
+  return createApiClientWithDetails(getApiDetails(env));
 }
 
 export function getApiClientWithExternalAuth(
@@ -311,6 +311,7 @@ function isEnablementError(msg: string) {
     /Code Security must be enabled/i,
     /Advanced Security must be enabled/i,
     /Code Scanning is not enabled/i,
+    /Code Quality is not enabled/i,
   ].some((pattern) => pattern.test(msg));
 }
 
diff --git a/src/api-compatibility.json b/src/api-compatibility.json
index 435f8f1d6..756944019 100644
--- a/src/api-compatibility.json
+++ b/src/api-compatibility.json
@@ -1 +1 @@
-{"maximumVersion": "3.22", "minimumVersion": "3.16"}
+{"maximumVersion": "3.22", "minimumVersion": "3.17"}
diff --git a/src/autobuild-action.ts b/src/autobuild-action.ts
index dc2021137..afda0e236 100644
--- a/src/autobuild-action.ts
+++ b/src/autobuild-action.ts
@@ -1,5 +1,6 @@
 import * as core from "@actions/core";
 
+import { Action, ActionState, runInActions } from "./action-common";
 import {
   getActionVersion,
   getOptionalInput,
@@ -11,13 +12,12 @@ import { getCodeQL } from "./codeql";
 import { Config, getConfig } from "./config-utils";
 import { EnvVar } from "./environment";
 import { Language } from "./languages";
-import { Logger, getActionsLogger } from "./logging";
+import { Logger } from "./logging";
 import {
   StatusReportBase,
   getActionsStatus,
   createStatusReportBase,
   sendStatusReport,
-  sendUnhandledErrorStatusReport,
   ActionName,
 } from "./status-report";
 import { endTracingForCluster } from "./tracer-config";
@@ -26,7 +26,6 @@ import {
   checkDiskUsage,
   checkGitHubVersionInRange,
   ConfigurationError,
-  getErrorMessage,
   initializeEnvironment,
   wrapError,
 } from "./util";
@@ -69,11 +68,10 @@ async function sendCompletedStatusReport(
   }
 }
 
-async function run(startedAt: Date) {
+async function run({ startedAt, logger }: ActionState<["Logger"]>) {
   // To capture errors appropriately, keep as much code within the try-catch as
   // possible, and only use safe functions outside.
 
-  const logger = getActionsLogger();
   let config: Config | undefined;
   let currentLanguage: Language | undefined;
   let languages: Language[] | undefined;
@@ -142,18 +140,12 @@ async function run(startedAt: Date) {
   await sendCompletedStatusReport(config, logger, startedAt, languages ?? []);
 }
 
+/** Defines the `autobuild` Action. */
+const autobuild: Action = {
+  name: ActionName.Autobuild,
+  run,
+};
+
 export async function runWrapper() {
-  const startedAt = new Date();
-  const logger = getActionsLogger();
-  try {
-    await run(startedAt);
-  } catch (error) {
-    core.setFailed(`autobuild action failed. ${getErrorMessage(error)}`);
-    await sendUnhandledErrorStatusReport(
-      ActionName.Autobuild,
-      startedAt,
-      error,
-      logger,
-    );
-  }
+  await runInActions(autobuild);
 }
diff --git a/src/autobuild.ts b/src/autobuild.ts
index fc4983f4e..7ec6ba987 100644
--- a/src/autobuild.ts
+++ b/src/autobuild.ts
@@ -5,7 +5,7 @@ import { getGitHubVersion } from "./api-client";
 import { CodeQL, getCodeQL } from "./codeql";
 import * as configUtils from "./config-utils";
 import { DocUrl } from "./doc-url";
-import { EnvVar } from "./environment";
+import { ActionsEnvVars, EnvVar } from "./environment";
 import { Feature, featureConfig, initFeatures } from "./feature-flags";
 import { BuiltInLanguage, Language } from "./languages";
 import { Logger } from "./logging";
@@ -126,7 +126,7 @@ export async function setupCppAutobuild(codeql: CodeQL, logger: Logger) {
   if (await features.getValue(Feature.CppDependencyInstallation, codeql)) {
     // disable autoinstall on self-hosted runners unless explicitly requested
     if (
-      process.env["RUNNER_ENVIRONMENT"] === "self-hosted" &&
+      process.env[ActionsEnvVars.RUNNER_ENVIRONMENT] === "self-hosted" &&
       process.env[envVar] !== "true"
     ) {
       logger.info(
diff --git a/src/codeql.ts b/src/codeql.ts
index 7e144c538..5120b321e 100644
--- a/src/codeql.ts
+++ b/src/codeql.ts
@@ -254,17 +254,17 @@ const CODEQL_MINIMUM_VERSION = "2.19.4";
 /**
  * This version will shortly become the oldest version of CodeQL that the Action will run with.
  */
-const CODEQL_NEXT_MINIMUM_VERSION = "2.19.4";
+const CODEQL_NEXT_MINIMUM_VERSION = "2.20.7";
 
 /**
  * This is the version of GHES that was most recently deprecated.
  */
-const GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.15";
+const GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.16";
 
 /**
  * This is the deprecation date for the version of GHES that was most recently deprecated.
  */
-const GHES_MOST_RECENT_DEPRECATION_DATE = "2026-04-09";
+const GHES_MOST_RECENT_DEPRECATION_DATE = "2026-07-01";
 
 /** The CLI verbosity level to use for extraction in debug mode. */
 const EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
@@ -517,17 +517,10 @@ async function getCodeQLForCmd(
       return cmd;
     },
     async getVersion() {
-      return getCachedOrRun(CommandCacheKey.Version, cmd, async () => {
-        const output = await runCli(cmd, ["version", "--format=json"], {
+      return getCachedOrRun(CommandCacheKey.Version, cmd, () => {
+        return runCliJson(cmd, ["version", "--format=json"], {
           noStreamStdout: true,
         });
-        try {
-          return JSON.parse(output) as VersionInfo;
-        } catch {
-          throw Error(
-            `Invalid JSON output from \`version --format=json\`: ${output}`,
-          );
-        }
       });
     },
     async printVersion() {
@@ -733,26 +726,20 @@ async function getCodeQLForCmd(
         filterToLanguagesWithQueries: boolean;
       } = { filterToLanguagesWithQueries: false },
     ) {
-      const codeqlArgs = [
+      return runCliJson(cmd, [
         "resolve",
         "languages",
         "--format=betterjson",
         "--extractor-options-verbosity=4",
         "--extractor-include-aliases",
+        // TODO: Unconditionally include `--filter-to-languages-with-queries`
+        //       once CODEQL_MINIMUM_VERSION is at least v2.23.0
+        //       — the first version to support this flag.
         ...(filterToLanguagesWithQueries
           ? ["--filter-to-languages-with-queries"]
           : []),
         ...getExtraOptionsFromEnv(["resolve", "languages"]),
-      ];
-      const output = await runCli(cmd, codeqlArgs);
-
-      try {
-        return JSON.parse(output) as ResolveLanguagesOutput;
-      } catch (e) {
-        throw new Error(
-          `Unexpected output from codeql resolve languages with --format=betterjson: ${e}`,
-        );
-      }
+      ]);
     },
     async resolveBuildEnvironment(
       workingDir: string | undefined,
@@ -768,15 +755,7 @@ async function getCodeQLForCmd(
       if (workingDir !== undefined) {
         codeqlArgs.push("--working-dir", workingDir);
       }
-      const output = await runCli(cmd, codeqlArgs);
-
-      try {
-        return JSON.parse(output) as ResolveBuildEnvironmentOutput;
-      } catch (e) {
-        throw new Error(
-          `Unexpected output from codeql resolve build-environment: ${e} in\n${output}`,
-        );
-      }
+      return await runCliJson(cmd, codeqlArgs);
     },
     async databaseRunQueries(
       databasePath: string,
@@ -978,15 +957,9 @@ async function getCodeQLForCmd(
         ...getExtraOptionsFromEnv(["resolve", "queries"]),
         ...queries,
       ];
-      const output = await runCli(cmd, codeqlArgs, { noStreamStdout: true });
-
-      try {
-        return JSON.parse(output) as string[];
-      } catch (e) {
-        throw new Error(
-          `Unexpected output from codeql resolve queries --format=startingpacks: ${e}`,
-        );
-      }
+      return await runCliJson(cmd, codeqlArgs, {
+        noStreamStdout: true,
+      });
     },
     async resolveDatabase(
       databasePath: string,
@@ -998,15 +971,9 @@ async function getCodeQLForCmd(
         "--format=json",
         ...getExtraOptionsFromEnv(["resolve", "database"]),
       ];
-      const output = await runCli(cmd, codeqlArgs, { noStreamStdout: true });
-
-      try {
-        return JSON.parse(output) as ResolveDatabaseOutput;
-      } catch (e) {
-        throw new Error(
-          `Unexpected output from codeql resolve database --format=json: ${e}`,
-        );
-      }
+      return await runCliJson(cmd, codeqlArgs, {
+        noStreamStdout: true,
+      });
     },
     async mergeResults(
       sarifFiles: string[],
@@ -1162,6 +1129,30 @@ async function runCli(
   }
 }
 
+/**
+ * Wraps the command executor {@link runCli} and tries to parse the output as JSON.
+ * @param cmd The command to run.
+ * @param args The arguments to pass to the command.
+ * @param opts The options for running the command.
+ * @param opts.stdin Optional string to pass to the command's standard input.
+ * @param opts.noStreamStdout Optional boolean to indicate whether to stream the command's standard output.
+ * @returns The parsed JSON output from the command.
+ */
+async function runCliJson(
+  cmd: string,
+  args: string[] = [],
+  opts: { stdin?: string; noStreamStdout?: boolean } = {},
+): Promise {
+  const output = await runCli(cmd, args, opts);
+  try {
+    return JSON.parse(output) as T;
+  } catch (e) {
+    throw Error(
+      `Unexpected output from codeql ${args.join(" ")}: ${getErrorMessage(e)}`,
+    );
+  }
+}
+
 /**
  * Writes the code scanning configuration that is to be used by the CLI.
  *
diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts
index 73d5320fc..3d947f3f3 100644
--- a/src/config-utils.test.ts
+++ b/src/config-utils.test.ts
@@ -36,6 +36,7 @@ import {
   mockCodeQLVersion,
   createTestConfig,
   makeMacro,
+  initAllState,
 } from "./testing-utils";
 import {
   GitHubVariant,
@@ -160,8 +161,9 @@ test.serial("load empty config", async (t) => {
       },
     });
 
+    const state = initAllState({ logger });
     const config = await configUtils.initConfig(
-      createFeatures([]),
+      state,
       createTestInitConfigInputs({
         languagesInput: languages,
         repository: { owner: "github", repo: "example" },
@@ -202,8 +204,9 @@ test.serial("load code quality config", async (t) => {
       },
     });
 
+    const state = initAllState({ logger });
     const config = await configUtils.initConfig(
-      createFeatures([]),
+      state,
       createTestInitConfigInputs({
         analysisKinds: [AnalysisKind.CodeQuality],
         languagesInput: languages,
@@ -280,9 +283,10 @@ test.serial(
         repositoryProperties,
       });
 
+      const state = initAllState({ logger });
       await t.notThrowsAsync(async () => {
         const config = await configUtils.initConfig(
-          createFeatures([]),
+          state,
           createTestInitConfigInputs({
             analysisKinds: [AnalysisKind.CodeQuality],
             languagesInput: languages,
@@ -321,8 +325,9 @@ test.serial("loading a saved config produces the same config", async (t) => {
     // Sanity check that getConfig returns undefined before we have called initConfig
     t.deepEqual(await configUtils.getConfig(tempDir, logger), undefined);
 
+    const state = initAllState({ logger });
     const config1 = await configUtils.initConfig(
-      createFeatures([]),
+      state,
       createTestInitConfigInputs({
         languagesInput: "javascript,python",
         tempDir,
@@ -373,8 +378,9 @@ test.serial("loading config with version mismatch throws", async (t) => {
       .stub(actionsUtil, "getActionVersion")
       .returns("does-not-exist");
 
+    const state = initAllState({ logger });
     const config = await configUtils.initConfig(
-      createFeatures([]),
+      state,
       createTestInitConfigInputs({
         languagesInput: "javascript,python",
         tempDir,
@@ -402,8 +408,9 @@ test.serial("loading config with version mismatch throws", async (t) => {
 test.serial("load input outside of workspace", async (t) => {
   return await withTmpDir(async (tempDir) => {
     try {
+      const state = initAllState();
       await configUtils.initConfig(
-        createFeatures([]),
+        state,
         createTestInitConfigInputs({
           configFile: "../input",
           tempDir,
@@ -424,34 +431,6 @@ test.serial("load input outside of workspace", async (t) => {
   });
 });
 
-test.serial("load non-local input with invalid repo syntax", async (t) => {
-  return await withTmpDir(async (tempDir) => {
-    // no filename given, just a repo
-    const configFile = "octo-org/codeql-config@main";
-
-    try {
-      await configUtils.initConfig(
-        createFeatures([]),
-        createTestInitConfigInputs({
-          configFile,
-          tempDir,
-          workspacePath: tempDir,
-        }),
-      );
-      throw new Error("initConfig did not throw error");
-    } catch (err) {
-      t.deepEqual(
-        err,
-        new ConfigurationError(
-          errorMessages.getConfigFileRepoFormatInvalidMessage(
-            "octo-org/codeql-config@main",
-          ),
-        ),
-      );
-    }
-  });
-});
-
 test.serial("load non-existent input", async (t) => {
   return await withTmpDir(async (tempDir) => {
     const languagesInput = "javascript";
@@ -459,8 +438,9 @@ test.serial("load non-existent input", async (t) => {
     t.false(fs.existsSync(path.join(tempDir, configFile)));
 
     try {
+      const state = initAllState();
       await configUtils.initConfig(
-        createFeatures([]),
+        state,
         createTestInitConfigInputs({
           languagesInput,
           configFile,
@@ -536,8 +516,9 @@ test.serial("load non-empty input", async (t) => {
     const languagesInput = "javascript";
     const configFilePath = createConfigFile(inputFileContents, tempDir);
 
+    const state = initAllState();
     const actualConfig = await configUtils.initConfig(
-      createFeatures([]),
+      state,
       createTestInitConfigInputs({
         languagesInput,
         buildModeInput: "none",
@@ -595,8 +576,9 @@ test.serial(
       // Only JS, python packs will be ignored
       const languagesInput = "javascript";
 
+      const state = initAllState();
       const config = await configUtils.initConfig(
-        createFeatures([]),
+        state,
         createTestInitConfigInputs({
           languagesInput,
           configFile: configFilePath,
@@ -647,8 +629,9 @@ test.serial("API client used when reading remote config", async (t) => {
     const configFile = "octo-org/codeql-config/config.yaml@main";
     const languagesInput = "javascript";
 
+    const state = initAllState();
     await configUtils.initConfig(
-      createFeatures([]),
+      state,
       createTestInitConfigInputs({
         languagesInput,
         configFile,
@@ -669,9 +652,10 @@ test.serial(
       mockGetContents(dummyResponse);
 
       const repoReference = "octo-org/codeql-config/config.yaml@main";
+      const state = initAllState();
       try {
         await configUtils.initConfig(
-          createFeatures([]),
+          state,
           createTestInitConfigInputs({
             configFile: repoReference,
             tempDir,
@@ -699,9 +683,10 @@ test.serial("Invalid format of remote config handled correctly", async (t) => {
     mockGetContents(dummyResponse);
 
     const repoReference = "octo-org/codeql-config/config.yaml@main";
+    const state = initAllState();
     try {
       await configUtils.initConfig(
-        createFeatures([]),
+        state,
         createTestInitConfigInputs({
           configFile: repoReference,
           tempDir,
@@ -729,9 +714,10 @@ test.serial("No detected languages", async (t) => {
       },
     });
 
+    const state = initAllState();
     try {
       await configUtils.initConfig(
-        createFeatures([]),
+        state,
         createTestInitConfigInputs({
           tempDir,
           codeql,
@@ -752,9 +738,10 @@ test.serial("Unknown languages", async (t) => {
   return await withTmpDir(async (tempDir) => {
     const languagesInput = "rubbish,english";
 
+    const state = initAllState();
     try {
       await configUtils.initConfig(
-        createFeatures([]),
+        state,
         createTestInitConfigInputs({
           languagesInput,
           tempDir,
diff --git a/src/config-utils.ts b/src/config-utils.ts
index 73532d837..15aa31538 100644
--- a/src/config-utils.ts
+++ b/src/config-utils.ts
@@ -5,6 +5,7 @@ import { performance } from "perf_hooks";
 import * as core from "@actions/core";
 import * as yaml from "js-yaml";
 
+import { ActionState } from "./action-common";
 import {
   getActionVersion,
   getOptionalInput,
@@ -18,8 +19,9 @@ import {
   getAnalysisConfig,
 } from "./analyses";
 import * as api from "./api-client";
-import { CachingKind, getCachingKind } from "./caching-utils";
+import { getCachingKind } from "./caching-utils";
 import { type CodeQL } from "./codeql";
+import { type Config } from "./config/action-config";
 import {
   calculateAugmentation,
   ExcludeQueryFilter,
@@ -27,6 +29,12 @@ import {
   parseUserConfig,
   UserConfig,
 } from "./config/db-config";
+import { getRemoteConfig } from "./config/file";
+import {
+  parseRegistries,
+  type RegistryConfigNoCredentials,
+  type RegistryConfigWithCredentials,
+} from "./config/pack-registries";
 import {
   addNoLanguageDiagnostic,
   makeTelemetryDiagnostic,
@@ -79,6 +87,8 @@ import {
   isHostedRunner,
 } from "./util";
 
+export { type Config } from "./config/action-config";
+
 /**
  * The minimum available disk space (in MB) required to perform overlay analysis.
  * If the available disk space on the runner is below the threshold when deciding
@@ -117,148 +127,6 @@ const OVERLAY_MINIMUM_MEMORY_MB = 5 * 1024;
  */
 const CODEQL_VERSION_REDUCED_OVERLAY_MEMORY_USAGE = "2.24.3";
 
-export type RegistryConfigWithCredentials = RegistryConfigNoCredentials & {
-  // Token to use when downloading packs from this registry.
-  token: string;
-};
-
-/**
- * The list of registries and the associated pack globs that determine where each
- * pack can be downloaded from.
- */
-export interface RegistryConfigNoCredentials {
-  // URL of a package registry, eg- https://ghcr.io/v2/
-  url: string;
-
-  // List of globs that determine which packs are associated with this registry.
-  packages: string[] | string;
-
-  // Kind of registry, either "github" or "docker". Default is "docker".
-  // "docker" refers specifically to the GitHub Container Registry, which is the usual way of sharing CodeQL packs.
-  // "github" refers to packs published as content in a GitHub repository. This kind of registry is used in scenarios
-  // where GHCR is not available, such as certain GHES environments.
-  kind?: "github" | "docker";
-}
-
-/**
- * Format of the parsed config file.
- */
-export interface Config {
-  /**
-   * The version of the CodeQL Action that the configuration is for.
-   */
-  version: string;
-  /**
-   * Set of analysis kinds that are enabled.
-   */
-  analysisKinds: AnalysisKind[];
-  /**
-   * Set of languages to run analysis for.
-   */
-  languages: Language[];
-  /**
-   * Build mode, if set. Currently only a single build mode is supported per job.
-   */
-  buildMode: BuildMode | undefined;
-  /**
-   * A unaltered copy of the original user input.
-   * Mainly intended to be used for status reporting.
-   * If any field is useful for the actual processing
-   * of the action then consider pulling it out to a
-   * top-level field above.
-   */
-  originalUserInput: UserConfig;
-  /**
-   * Directory to use for temporary files that should be
-   * deleted at the end of the job.
-   */
-  tempDir: string;
-  /**
-   * Path of the CodeQL executable.
-   */
-  codeQLCmd: string;
-  /**
-   * Version of GitHub we are talking to.
-   */
-  gitHubVersion: GitHubVersion;
-  /**
-   * The location where CodeQL databases should be stored.
-   */
-  dbLocation: string;
-  /**
-   * Specifies whether we are debugging mode and should try to produce extra
-   * output for debugging purposes when possible.
-   */
-  debugMode: boolean;
-  /**
-   * Specifies the name of the debugging artifact if we are in debug mode.
-   */
-  debugArtifactName: string;
-  /**
-   * Specifies the name of the database in the debugging artifact.
-   */
-  debugDatabaseName: string;
-  /**
-   * The configuration we computed by combining `originalUserInput` with `augmentationProperties`,
-   * as well as adjustments made to it based on unsupported or required options.
-   */
-  computedConfig: UserConfig;
-
-  /**
-   * Partial map from languages to locations of TRAP caches for that language.
-   * If a key is omitted, then TRAP caching should not be used for that language.
-   */
-  trapCaches: { [language: Language]: string };
-
-  /**
-   * Time taken to download TRAP caches. Used for status reporting.
-   */
-  trapCacheDownloadTime: number;
-
-  /** A value indicating how dependency caching should be used. */
-  dependencyCachingEnabled: CachingKind;
-
-  /** The keys of caches that we restored, if any. */
-  dependencyCachingRestoredKeys: string[];
-
-  /**
-   * Extra query exclusions to append to the config.
-   */
-  extraQueryExclusions: ExcludeQueryFilter[];
-
-  /**
-   * The overlay database mode to use.
-   */
-  overlayDatabaseMode: OverlayDatabaseMode;
-
-  /**
-   * Whether to use caching for overlay databases. If it is true, the action
-   * will upload the created overlay-base database to the actions cache, and
-   * download an overlay-base database from the actions cache before it creates
-   * a new overlay database. If it is false, the action assumes that the
-   * workflow will be responsible for managing database storage and retrieval.
-   *
-   * This property has no effect unless `overlayDatabaseMode` is `Overlay` or
-   * `OverlayBase`.
-   */
-  useOverlayDatabaseCaching: boolean;
-
-  /**
-   * Whether the overlay database mode was set explicitly.
-   */
-  overlayModeSetExplicitly: boolean;
-
-  /**
-   * A partial mapping from repository properties that affect us to their values.
-   */
-  repositoryProperties: RepositoryProperties;
-
-  /**
-   * Whether to enable file coverage information.
-   */
-  enableFileCoverageInformation: boolean;
-}
-
 async function getSupportedLanguageMap(
   codeql: CodeQL,
   logger: Logger,
@@ -597,12 +465,11 @@ async function downloadCacheWithTime(
 }
 
 async function loadUserConfig(
-  logger: Logger,
+  actionState: ActionState<["Logger", "Env", "FeatureFlags"]>,
   configFile: string,
   workspacePath: string,
   apiDetails: api.GitHubApiCombinedDetails,
   tempDir: string,
-  validateConfig: boolean,
 ): Promise {
   if (isLocal(configFile)) {
     if (configFile !== userConfigFromActionPath(tempDir)) {
@@ -615,14 +482,12 @@ async function loadUserConfig(
         );
       }
     }
-    return getLocalConfig(logger, configFile, validateConfig);
-  } else {
-    return await getRemoteConfig(
-      logger,
-      configFile,
-      apiDetails,
-      validateConfig,
+    const validateConfig = await actionState.features.getValue(
+      Feature.ValidateDbConfig,
     );
+    return getLocalConfig(actionState.logger, configFile, validateConfig);
+  } else {
+    return await getRemoteConfig(actionState, configFile, apiDetails);
   }
 }
 
@@ -1136,10 +1001,11 @@ export async function applyIncrementalAnalysisSettings(
  * a default config. The parsed config is then stored to a known location.
  */
 export async function initConfig(
-  features: FeatureEnablement,
+  actionState: ActionState<["Logger", "Env", "FeatureFlags"]>,
   inputs: InitConfigInputs,
 ): Promise {
-  const { logger, tempDir } = inputs;
+  const { logger, features } = actionState;
+  const { tempDir } = inputs;
 
   // if configInput is set, it takes precedence over configFile
   if (inputs.configInput) {
@@ -1158,14 +1024,12 @@ export async function initConfig(
     logger.debug("No configuration file was provided");
   } else {
     logger.debug(`Using configuration file: ${inputs.configFile}`);
-    const validateConfig = await features.getValue(Feature.ValidateDbConfig);
     userConfig = await loadUserConfig(
-      logger,
+      actionState,
       inputs.configFile,
       inputs.workspacePath,
       inputs.apiDetails,
       tempDir,
-      validateConfig,
     );
   }
 
@@ -1315,29 +1179,6 @@ export async function initConfig(
   return config;
 }
 
-function parseRegistries(
-  registriesInput: string | undefined,
-): RegistryConfigWithCredentials[] | undefined {
-  try {
-    return registriesInput
-      ? (yaml.load(registriesInput) as RegistryConfigWithCredentials[])
-      : undefined;
-  } catch {
-    throw new ConfigurationError(
-      "Invalid registries input. Must be a YAML string.",
-    );
-  }
-}
-
-export function parseRegistriesWithoutCredentials(
-  registriesInput?: string,
-): RegistryConfigNoCredentials[] | undefined {
-  return parseRegistries(registriesInput)?.map((r) => {
-    const { url, packages, kind } = r;
-    return { url, packages, kind };
-  });
-}
-
 function isLocal(configPath: string): boolean {
   // If the path starts with ./, look locally
   if (configPath.indexOf("./") === 0) {
@@ -1367,54 +1208,6 @@ function getLocalConfig(
   );
 }
 
-async function getRemoteConfig(
-  logger: Logger,
-  configFile: string,
-  apiDetails: api.GitHubApiCombinedDetails,
-  validateConfig: boolean,
-): Promise {
-  // retrieve the various parts of the config location, and ensure they're present
-  const format = new RegExp(
-    "(?[^/]+)/(?[^/]+)/(?[^@]+)@(?.*)",
-  );
-  const pieces = format.exec(configFile);
-  // 5 = 4 groups + the whole expression
-  if (pieces?.groups === undefined || pieces.length < 5) {
-    throw new ConfigurationError(
-      errorMessages.getConfigFileRepoFormatInvalidMessage(configFile),
-    );
-  }
-
-  const response = await api
-    .getApiClientWithExternalAuth(apiDetails)
-    .rest.repos.getContent({
-      owner: pieces.groups.owner,
-      repo: pieces.groups.repo,
-      path: pieces.groups.path,
-      ref: pieces.groups.ref,
-    });
-
-  let fileContents: string;
-  if ("content" in response.data && response.data.content !== undefined) {
-    fileContents = response.data.content;
-  } else if (Array.isArray(response.data)) {
-    throw new ConfigurationError(
-      errorMessages.getConfigFileDirectoryGivenMessage(configFile),
-    );
-  } else {
-    throw new ConfigurationError(
-      errorMessages.getConfigFileFormatInvalidMessage(configFile),
-    );
-  }
-
-  return parseUserConfig(
-    logger,
-    configFile,
-    Buffer.from(fileContents, "base64").toString("binary"),
-    validateConfig,
-  );
-}
-
 /**
  * Get the file path where the parsed config will be stored.
  */
diff --git a/src/config/action-config.ts b/src/config/action-config.ts
new file mode 100644
index 000000000..de6882e77
--- /dev/null
+++ b/src/config/action-config.ts
@@ -0,0 +1,128 @@
+import type { AnalysisKind } from "../analyses";
+import type { CachingKind } from "../caching-utils";
+import type { RepositoryProperties } from "../feature-flags/properties";
+import type { Language } from "../languages";
+import type { OverlayDatabaseMode } from "../overlay/overlay-database-mode";
+import type { BuildMode, GitHubVersion } from "../util";
+
+import type { ExcludeQueryFilter, UserConfig } from "./db-config";
+
+/**
+ * Format of the CodeQL Action configuration state that is persisted
+ * between steps of the CodeQL Action in a CodeQL workflow.
+ */
+export interface Config {
+  /**
+   * The version of the CodeQL Action that the configuration is for.
+   */
+  version: string;
+  /**
+   * Set of analysis kinds that are enabled.
+   */
+  analysisKinds: AnalysisKind[];
+  /**
+   * Set of languages to run analysis for.
+   */
+  languages: Language[];
+  /**
+   * Build mode, if set. Currently only a single build mode is supported per job.
+   */
+  buildMode: BuildMode | undefined;
+  /**
+   * A unaltered copy of the original user input.
+   * Mainly intended to be used for status reporting.
+   * If any field is useful for the actual processing
+   * of the action then consider pulling it out to a
+   * top-level field above.
+   */
+  originalUserInput: UserConfig;
+  /**
+   * Directory to use for temporary files that should be
+   * deleted at the end of the job.
+   */
+  tempDir: string;
+  /**
+   * Path of the CodeQL executable.
+   */
+  codeQLCmd: string;
+  /**
+   * Version of GitHub we are talking to.
+   */
+  gitHubVersion: GitHubVersion;
+  /**
+   * The location where CodeQL databases should be stored.
+   */
+  dbLocation: string;
+  /**
+   * Specifies whether we are debugging mode and should try to produce extra
+   * output for debugging purposes when possible.
+   */
+  debugMode: boolean;
+  /**
+   * Specifies the name of the debugging artifact if we are in debug mode.
+   */
+  debugArtifactName: string;
+  /**
+   * Specifies the name of the database in the debugging artifact.
+   */
+  debugDatabaseName: string;
+  /**
+   * The configuration we computed by combining `originalUserInput` with `augmentationProperties`,
+   * as well as adjustments made to it based on unsupported or required options.
+   */
+  computedConfig: UserConfig;
+
+  /**
+   * Partial map from languages to locations of TRAP caches for that language.
+   * If a key is omitted, then TRAP caching should not be used for that language.
+   */
+  trapCaches: { [language: Language]: string };
+
+  /**
+   * Time taken to download TRAP caches. Used for status reporting.
+   */
+  trapCacheDownloadTime: number;
+
+  /** A value indicating how dependency caching should be used. */
+  dependencyCachingEnabled: CachingKind;
+
+  /** The keys of caches that we restored, if any. */
+  dependencyCachingRestoredKeys: string[];
+
+  /**
+   * Extra query exclusions to append to the config.
+   */
+  extraQueryExclusions: ExcludeQueryFilter[];
+
+  /**
+   * The overlay database mode to use.
+   */
+  overlayDatabaseMode: OverlayDatabaseMode;
+
+  /**
+   * Whether to use caching for overlay databases. If it is true, the action
+   * will upload the created overlay-base database to the actions cache, and
+   * download an overlay-base database from the actions cache before it creates
+   * a new overlay database. If it is false, the action assumes that the
+   * workflow will be responsible for managing database storage and retrieval.
+   *
+   * This property has no effect unless `overlayDatabaseMode` is `Overlay` or
+   * `OverlayBase`.
+   */
+  useOverlayDatabaseCaching: boolean;
+
+  /**
+   * Whether the overlay database mode was set explicitly.
+   */
+  overlayModeSetExplicitly: boolean;
+
+  /**
+   * A partial mapping from repository properties that affect us to their values.
+   */
+  repositoryProperties: RepositoryProperties;
+
+  /**
+   * Whether to enable file coverage information.
+   */
+  enableFileCoverageInformation: boolean;
+}
diff --git a/src/config/file.test.ts b/src/config/file.test.ts
index 4c511c1a7..3362d26c6 100644
--- a/src/config/file.test.ts
+++ b/src/config/file.test.ts
@@ -1,22 +1,19 @@
 import test from "ava";
 import sinon from "sinon";
 
+import { Feature } from "../feature-flags";
 import { RepositoryPropertyName } from "../feature-flags/properties";
-import {
-  getTestActionsEnv,
-  RecordingLogger,
-  setupTests,
-} from "../testing-utils";
+import { callee, setupTests } from "../testing-utils";
 
 import { getConfigFileInput } from "./file";
 
 setupTests(test);
 
 test("getConfigFileInput returns undefined by default", async (t) => {
-  const logger = new RecordingLogger();
-  const actionsEnv = getTestActionsEnv();
-  const result = getConfigFileInput(logger, actionsEnv, {});
-  t.is(result, undefined);
+  await callee(getConfigFileInput)
+    .withArgs({})
+    .withFeatures([Feature.ConfigFileRepositoryProperty])
+    .passes(async (fn) => t.is(await fn(), undefined));
 });
 
 const repositoryProperties = {
@@ -24,9 +21,12 @@ const repositoryProperties = {
 };
 
 test("getConfigFileInput returns input value", async (t) => {
-  const logger = new RecordingLogger();
-  const actionsEnv = getTestActionsEnv();
   const testInput = "/some/path";
+  const target = callee(getConfigFileInput).withFeatures([
+    Feature.ConfigFileRepositoryProperty,
+  ]);
+
+  const actionsEnv = target.getState().actions;
   sinon
     .stub(actionsEnv, "getOptionalInput")
     .withArgs("config-file")
@@ -34,36 +34,63 @@ test("getConfigFileInput returns input value", async (t) => {
 
   // Even though both an input and repository property are configured,
   // we prefer the direct input to the Action.
-  const result = getConfigFileInput(logger, actionsEnv, repositoryProperties);
-  t.is(result, testInput);
-
-  // Check for the expected log message.
-  t.true(logger.hasMessage("Using configuration file input from workflow"));
-});
-
-test("getConfigFileInput returns repository property value", async (t) => {
-  const logger = new RecordingLogger();
-  const actionsEnv = getTestActionsEnv();
-
-  // Since there is no direct input, we should use the repository property.
-  const result = getConfigFileInput(logger, actionsEnv, repositoryProperties);
-  t.is(result, repositoryProperties[RepositoryPropertyName.CONFIG_FILE]);
+  const targetWithArgs = target
+    .withActions(actionsEnv)
+    .withArgs(repositoryProperties);
+  await targetWithArgs.passes(async (fn) => t.is(await fn(), testInput));
 
   // Check for the expected log message.
   t.true(
-    logger.hasMessage(
-      "Using configuration file input from repository property",
-    ),
+    targetWithArgs
+      .getLogger()
+      .hasMessage("Using configuration file input from workflow"),
+  );
+});
+
+test("getConfigFileInput returns repository property value", async (t) => {
+  // Since there is no direct input, we should use the repository property.
+  const target = callee(getConfigFileInput)
+    .withFeatures([Feature.ConfigFileRepositoryProperty])
+    .withArgs(repositoryProperties);
+
+  await target.passes(async (fn) =>
+    t.is(await fn(), repositoryProperties[RepositoryPropertyName.CONFIG_FILE]),
+  );
+
+  // Check for the expected log message.
+  t.true(
+    target
+      .getLogger()
+      .hasMessage("Using configuration file input from repository property"),
   );
 });
 
 test("getConfigFileInput ignores empty repository property value", async (t) => {
-  const logger = new RecordingLogger();
-  const actionsEnv = getTestActionsEnv();
-
   // Since the repository property value is an empty/whitespace string, we should ignore it.
-  const result = getConfigFileInput(logger, actionsEnv, {
-    [RepositoryPropertyName.CONFIG_FILE]: "   ",
-  });
-  t.is(result, undefined);
+  await callee(getConfigFileInput)
+    .withFeatures([Feature.ConfigFileRepositoryProperty])
+    .withArgs({ [RepositoryPropertyName.CONFIG_FILE]: "   " })
+    .passes(async (fn) => t.is(await fn(), undefined));
+});
+
+test("getConfigFileInput ignores repository property value when FF is off", async (t) => {
+  // Since the FF is off, we should ignore the repository property value.
+  const target = callee(getConfigFileInput)
+    .withFeatures([])
+    .withArgs(repositoryProperties);
+
+  await target.passes(async (fn) => t.is(await fn(), undefined));
+
+  t.false(
+    target
+      .getLogger()
+      .hasMessage("Using configuration file input from repository property"),
+  );
+  t.true(
+    target
+      .getLogger()
+      .hasMessage(
+        "Ignoring configuration file input from repository property, because the corresponding feature flag is disabled.",
+      ),
+  );
 });
diff --git a/src/config/file.ts b/src/config/file.ts
index 24613dc55..5ff2dee08 100644
--- a/src/config/file.ts
+++ b/src/config/file.ts
@@ -1,18 +1,27 @@
-import { ActionsEnv } from "../actions-util";
+import { ActionState } from "../action-common";
+import * as api from "../api-client";
+import * as errorMessages from "../error-messages";
+import { Feature } from "../feature-flags";
 import {
   RepositoryProperties,
   RepositoryPropertyName,
 } from "../feature-flags/properties";
-import { Logger } from "../logging";
+import { ConfigurationError } from "../util";
+
+import { parseUserConfig, UserConfig } from "./db-config";
+import { parseRemoteFileAddress } from "./remote-file";
 
 /**
  * Gets the value that is configured for the configuration file, if any.
  */
-export function getConfigFileInput(
-  logger: Logger,
-  actions: ActionsEnv,
+export async function getConfigFileInput(
+  {
+    logger,
+    actions,
+    features,
+  }: ActionState<["Logger", "Actions", "FeatureFlags"]>,
   repositoryProperties: Partial,
-): string | undefined {
+): Promise {
   const input = actions.getOptionalInput("config-file");
 
   if (input !== undefined) {
@@ -24,11 +33,71 @@ export function getConfigFileInput(
     repositoryProperties[RepositoryPropertyName.CONFIG_FILE];
 
   if (propertyValue !== undefined && propertyValue.trim().length > 0) {
-    logger.info(
-      `Using configuration file input from repository property: ${propertyValue}`,
+    // Only use the repository property value if the FF is enabled.
+    const useRepositoryProperty = await features.getValue(
+      Feature.ConfigFileRepositoryProperty,
     );
-    return propertyValue;
+
+    if (useRepositoryProperty) {
+      logger.info(
+        `Using configuration file input from repository property: ${propertyValue}`,
+      );
+      return propertyValue;
+    } else {
+      logger.info(
+        "Ignoring configuration file input from repository property, because the corresponding feature flag is disabled.",
+      );
+    }
   }
 
   return undefined;
 }
+
+/**
+ * Attempts to fetch a `UserConfig` from a remote `address`.
+ *
+ * @param actionState The current Action state.
+ * @param configFile The remote address of the configuration file.
+ * @param apiDetails Information about how to connect to the API.
+ *
+ * @returns The `UserConfig`, if it could be fetched and parsed successfully.
+ */
+export async function getRemoteConfig(
+  actionState: ActionState<["Logger", "Env", "FeatureFlags"]>,
+  configFile: string,
+  apiDetails: api.GitHubApiCombinedDetails,
+): Promise {
+  const address = await parseRemoteFileAddress(actionState, configFile);
+
+  const response = await api
+    .getApiClientWithExternalAuth(apiDetails)
+    .rest.repos.getContent({
+      owner: address.owner,
+      repo: address.repo,
+      path: address.path,
+      ref: address.ref,
+    });
+
+  let fileContents: string;
+  if ("content" in response.data && response.data.content !== undefined) {
+    fileContents = response.data.content;
+  } else if (Array.isArray(response.data)) {
+    throw new ConfigurationError(
+      errorMessages.getConfigFileDirectoryGivenMessage(configFile),
+    );
+  } else {
+    throw new ConfigurationError(
+      errorMessages.getConfigFileFormatInvalidMessage(configFile),
+    );
+  }
+
+  const validateConfig = await actionState.features.getValue(
+    Feature.ValidateDbConfig,
+  );
+  return parseUserConfig(
+    actionState.logger,
+    configFile,
+    Buffer.from(fileContents, "base64").toString("binary"),
+    validateConfig,
+  );
+}
diff --git a/src/config/pack-registries.ts b/src/config/pack-registries.ts
new file mode 100644
index 000000000..76d2f6cd4
--- /dev/null
+++ b/src/config/pack-registries.ts
@@ -0,0 +1,49 @@
+import * as yaml from "js-yaml";
+
+import { ConfigurationError } from "../util";
+
+export type RegistryConfigWithCredentials = RegistryConfigNoCredentials & {
+  // Token to use when downloading packs from this registry.
+  token: string;
+};
+
+/**
+ * The list of registries and the associated pack globs that determine where each
+ * pack can be downloaded from.
+ */
+export interface RegistryConfigNoCredentials {
+  // URL of a package registry, eg- https://ghcr.io/v2/
+  url: string;
+
+  // List of globs that determine which packs are associated with this registry.
+  packages: string[] | string;
+
+  // Kind of registry, either "github" or "docker". Default is "docker".
+  // "docker" refers specifically to the GitHub Container Registry, which is the usual way of sharing CodeQL packs.
+  // "github" refers to packs published as content in a GitHub repository. This kind of registry is used in scenarios
+  // where GHCR is not available, such as certain GHES environments.
+  kind?: "github" | "docker";
+}
+
+export function parseRegistries(
+  registriesInput: string | undefined,
+): RegistryConfigWithCredentials[] | undefined {
+  try {
+    return registriesInput
+      ? (yaml.load(registriesInput) as RegistryConfigWithCredentials[])
+      : undefined;
+  } catch {
+    throw new ConfigurationError(
+      "Invalid registries input. Must be a YAML string.",
+    );
+  }
+}
+
+export function parseRegistriesWithoutCredentials(
+  registriesInput?: string,
+): RegistryConfigNoCredentials[] | undefined {
+  return parseRegistries(registriesInput)?.map((r) => {
+    const { url, packages, kind } = r;
+    return { url, packages, kind };
+  });
+}
diff --git a/src/config/remote-file.test.ts b/src/config/remote-file.test.ts
new file mode 100644
index 000000000..ac1492d90
--- /dev/null
+++ b/src/config/remote-file.test.ts
@@ -0,0 +1,282 @@
+import test from "ava";
+import sinon from "sinon";
+
+import { ActionsEnvVars } from "../environment";
+import * as errors from "../error-messages";
+import { Feature } from "../feature-flags";
+import { callee, getTestEnv } from "../testing-utils";
+import { ConfigurationError } from "../util";
+
+import {
+  DEFAULT_CONFIG_FILE_NAME,
+  DEFAULT_CONFIG_FILE_REF,
+  parseRemoteFileAddress,
+  RemoteFileAddress,
+} from "./remote-file";
+
+type ParseRemoteFileAddressTest = {
+  input: string;
+  expected: RemoteFileAddress;
+};
+
+test("parseRemoteFileAddress accepts full remote addresses", async (t) => {
+  const target = callee(parseRemoteFileAddress);
+
+  const expected: RemoteFileAddress = {
+    owner: "owner",
+    repo: "repo",
+    path: "path",
+    ref: "ref",
+  };
+
+  const oldFormatInputs: ParseRemoteFileAddressTest[] = [
+    { input: "owner/repo/path@ref", expected },
+    { input: "owner  /repo/path@ref", expected },
+    { input: "owner/   repo/path@ref", expected },
+    { input: "owner/repo   /path@ref", expected },
+    { input: "owner/repo/   path@ref", expected },
+    { input: "owner/repo/path   @ref", expected },
+    { input: "owner/repo/path@   ref", expected },
+    {
+      input: "owner/repo/path/to/codeql.yml@ref/feature",
+      expected: { ...expected, path: "path/to/codeql.yml", ref: "ref/feature" },
+    },
+    {
+      input: "  owner/repo/path/to/codeql.yml@ref/feature  ",
+      expected: { ...expected, path: "path/to/codeql.yml", ref: "ref/feature" },
+    },
+  ];
+
+  for (const oldFormatInput of oldFormatInputs) {
+    await target
+      .withArgs(oldFormatInput.input)
+      .passes(async (fn) => t.deepEqual(await fn(), oldFormatInput.expected));
+  }
+
+  // New format.
+  const newFormatInputs: ParseRemoteFileAddressTest[] = [
+    { input: "owner/repo@ref:path", expected },
+    { input: "owner  /repo@ref:path", expected },
+    { input: "owner/   repo@ref:path", expected },
+    { input: "owner/repo   @ref:path", expected },
+    { input: "owner/repo@   ref:path", expected },
+    { input: "owner/repo@ref   :path", expected },
+    { input: "owner/repo@ref:   path", expected },
+    {
+      input: "owner/repo@ref/feature:path/to/codeql.yml",
+      expected: { ...expected, path: "path/to/codeql.yml", ref: "ref/feature" },
+    },
+    {
+      input: "  owner/repo@ref/feature:path/to/codeql.yml  ",
+      expected: { ...expected, path: "path/to/codeql.yml", ref: "ref/feature" },
+    },
+  ];
+
+  for (const newFormatInput of newFormatInputs) {
+    const targetWithArgs = target.withArgs(newFormatInput.input);
+
+    // Should fail when the FF is not enabled.
+    await targetWithArgs
+      .withFeatures([])
+      .passes(async (fn) =>
+        t.throwsAsync(fn, { instanceOf: ConfigurationError }),
+      );
+
+    // And pass when the FF is enabled.
+    await targetWithArgs
+      .withFeatures([Feature.NewRemoteFileAddresses])
+      .passes(async (fn) => t.deepEqual(await fn(), newFormatInput.expected));
+  }
+});
+
+test("parseRemoteFileAddress accepts remote address without an owner", async (t) => {
+  const target = callee(parseRemoteFileAddress);
+
+  const env = target.getState().env;
+  const owner = "test-owner";
+  const getRequired = sinon.stub(env, "getRequired");
+  getRequired
+    .withArgs(ActionsEnvVars.GITHUB_REPOSITORY)
+    .returns(`${owner}/current-repo`);
+
+  const targetWithEnv = target.withEnv(env);
+
+  const testCases: ParseRemoteFileAddressTest[] = [
+    {
+      input: "repo@ref:path.yml",
+      expected: {
+        owner,
+        repo: "repo",
+        path: "path.yml",
+        ref: "ref",
+      },
+    },
+    {
+      input: "repo@ref",
+      expected: {
+        owner,
+        repo: "repo",
+        path: DEFAULT_CONFIG_FILE_NAME,
+        ref: "ref",
+      },
+    },
+    {
+      input: "repo:path.yml",
+      expected: {
+        owner,
+        repo: "repo",
+        path: "path.yml",
+        ref: DEFAULT_CONFIG_FILE_REF,
+      },
+    },
+    {
+      input: "repo",
+      expected: {
+        owner,
+        repo: "repo",
+        path: DEFAULT_CONFIG_FILE_NAME,
+        ref: DEFAULT_CONFIG_FILE_REF,
+      },
+    },
+  ];
+
+  for (const testCase of testCases) {
+    const targetWithArgs = targetWithEnv.withArgs(testCase.input);
+
+    // Should fail when the FF is not enabled.
+    await targetWithArgs
+      .withFeatures([])
+      .passes(async (fn) =>
+        t.throwsAsync(fn, { instanceOf: ConfigurationError }),
+      );
+
+    // And pass when the FF is enabled.
+    await targetWithArgs
+      .withFeatures([Feature.NewRemoteFileAddresses])
+      .passes(async (fn) => t.deepEqual(await fn(), testCase.expected));
+  }
+});
+
+test("parseRemoteFileAddress throws for invalid `GITHUB_REPOSITORY`", async (t) => {
+  const target = callee(parseRemoteFileAddress).withArgs("repo@ref");
+
+  const env = target.getState().env;
+  const getRequired = sinon.stub(env, "getRequired");
+  getRequired.withArgs(ActionsEnvVars.GITHUB_REPOSITORY).returns(`not-valid`);
+
+  await target
+    .withEnv(env)
+    .withFeatures([Feature.NewRemoteFileAddresses])
+    .passes(async (fn) => t.throwsAsync(fn, { instanceOf: Error }));
+
+  t.assert(getRequired.calledOnceWith(ActionsEnvVars.GITHUB_REPOSITORY));
+});
+
+test("parseRemoteFileAddress accepts remote address without a path", async (t) => {
+  const target = callee(parseRemoteFileAddress);
+
+  const testCases: ParseRemoteFileAddressTest[] = [
+    {
+      input: "owner/repo@ref",
+      expected: {
+        owner: "owner",
+        repo: "repo",
+        path: DEFAULT_CONFIG_FILE_NAME,
+        ref: "ref",
+      },
+    },
+    {
+      input: "owner/repo",
+      expected: {
+        owner: "owner",
+        repo: "repo",
+        path: DEFAULT_CONFIG_FILE_NAME,
+        ref: DEFAULT_CONFIG_FILE_REF,
+      },
+    },
+  ];
+
+  for (const testCase of testCases) {
+    const targetWithArgs = target.withArgs(testCase.input);
+
+    // Should fail when the FF is not enabled.
+    await targetWithArgs
+      .withFeatures([])
+      .passes(async (fn) =>
+        t.throwsAsync(fn, { instanceOf: ConfigurationError }),
+      );
+
+    // And pass when the FF is enabled.
+    await targetWithArgs
+      .withFeatures([Feature.NewRemoteFileAddresses])
+      .passes(async (fn) => t.deepEqual(await fn(), testCase.expected));
+  }
+});
+
+test("parseRemoteFileAddress accepts remote address without a ref", async (t) => {
+  const target = callee(parseRemoteFileAddress).withArgs("owner/repo:path");
+
+  // Should only accept the input if the FF is enabled.
+  await target.withFeatures([]).passes(t.throwsAsync);
+  await target
+    .withFeatures([Feature.NewRemoteFileAddresses])
+    .passes(async (fn) =>
+      t.deepEqual(await fn(), {
+        owner: "owner",
+        repo: "repo",
+        path: "path",
+        ref: DEFAULT_CONFIG_FILE_REF,
+      } satisfies RemoteFileAddress),
+    );
+});
+
+test("parseRemoteFileAddress rejects invalid values", async (t) => {
+  const env = getTestEnv();
+  const owner = "owner";
+  const getRequired = sinon.stub(env, "getRequired");
+  getRequired
+    .withArgs(ActionsEnvVars.GITHUB_REPOSITORY)
+    .returns(`${owner}/current-repo`);
+
+  const target = callee(parseRemoteFileAddress).withEnv(env);
+
+  const testInputs = [
+    "  ",
+    "repo//absolute",
+    "repo:/absolute",
+    "/repo@ref",
+    "   /repo@ref",
+    "repo@",
+    "repo:",
+    "repo/",
+    "/repo",
+    ":path",
+    "@ref",
+    "@ref:path",
+    "owner/@ref:path",
+    "owner/@ref",
+    "owner/:path",
+  ];
+
+  for (const testInput of testInputs) {
+    const targetWithArgs = target.withArgs(testInput);
+
+    // Should throw both when the new format is and isn't accepted.
+    await targetWithArgs.withFeatures([]).passes(async (fn) =>
+      t.throwsAsync(fn, {
+        instanceOf: ConfigurationError,
+        message: errors.getConfigFileRepoOldFormatInvalidMessage(testInput),
+      }),
+    );
+    await targetWithArgs
+      .withFeatures([Feature.NewRemoteFileAddresses])
+      .passes(async (fn) =>
+        t.throwsAsync(fn, {
+          // When the new format is accepted, there are some more specific
+          // errors in some cases. It is sufficient for us to check that
+          // an exception is thrown.
+          instanceOf: ConfigurationError,
+        }),
+      );
+  }
+});
diff --git a/src/config/remote-file.ts b/src/config/remote-file.ts
new file mode 100644
index 000000000..15b34af2b
--- /dev/null
+++ b/src/config/remote-file.ts
@@ -0,0 +1,138 @@
+import { ActionState } from "../action-common";
+import { Env, ActionsEnvVars } from "../environment";
+import * as errorMessages from "../error-messages";
+import { Feature } from "../feature-flags";
+import { ConfigurationError, Failure, Result, Success } from "../util";
+
+/** Represents remote file addresses. */
+export interface RemoteFileAddress {
+  /** The owner of the repository. */
+  owner: string;
+  /** The repository name. */
+  repo: string;
+  /** The path of the file. */
+  path: string;
+  /** The ref of the repository. */
+  ref: string;
+}
+
+/** The default file path to use in configuration file shorthands. */
+export const DEFAULT_CONFIG_FILE_NAME = ".github/codeql-action.yaml";
+
+/** The default ref to use in configuration file shorthands. */
+export const DEFAULT_CONFIG_FILE_REF = "main";
+
+/** Extracts the owner from the `GITHUB_REPOSITORY` environment variable. */
+function getDefaultOwner(env: Env): string {
+  const currentRepoNwo = env.getRequired(ActionsEnvVars.GITHUB_REPOSITORY);
+  const nwoParts = currentRepoNwo.split("/");
+
+  if (nwoParts.length !== 2 || nwoParts[0].trim().length === 0) {
+    // This shouldn't happen, so we should throw if `GITHUB_REPOSITORY` doesn't match
+    // our expectations.
+    throw new Error(
+      `Expected ${ActionsEnvVars.GITHUB_REPOSITORY} to contain a name with owner, but got '${currentRepoNwo}'.`,
+    );
+  }
+
+  return nwoParts[0].trim();
+}
+
+/**
+ * The old remote address format that's always been supported for the `config-file` input.
+ * All the components are required. Unchanged from the previous implementation.
+ */
+const OLD_REMOTE_ADDRESS_FORMAT = new RegExp(
+  "(?[^/]+)/(?[^/]+)/(?[^@]+)@(?.*)",
+);
+
+/**
+ * Attempts to parse `input` as a `RemoteFileAddress` using the old format.
+ *
+ * @param input The input to try and parse.
+ * @returns A `RemoteFileAddress` value if successful or `undefined` otherwise.
+ */
+function parseOldRemoteFileAddress(
+  input: string,
+): Result {
+  const pieces = OLD_REMOTE_ADDRESS_FORMAT.exec(input);
+
+  // 5 = 4 groups + the whole expression
+  if (pieces?.groups === undefined || pieces.length < 5) {
+    return new Failure(undefined);
+  }
+
+  return new Success({
+    owner: pieces.groups.owner.trim(),
+    repo: pieces.groups.repo.trim(),
+    path: pieces.groups.path.trim(),
+    ref: pieces.groups.ref.trim(),
+  });
+}
+
+/**
+ * Attempts to parse `configFile` into an array of `RemoteFileAddress` components.
+ *
+ * @param actionState The current Action state.
+ * @param configFile The string to try and parse.
+ * @returns The successful result of executing the regex.
+ * @throws `ConfigurationError` if the format of `configFile` is not valid.
+ */
+export async function parseRemoteFileAddress(
+  actionState: ActionState<["FeatureFlags", "Env"]>,
+  configFile: string,
+): Promise {
+  // Try to parse the input using the old format. If successful, return the
+  // resulting `RemoteFileAddress`. Otherwise, continue using the new format.
+  const oldFormatAddressResult = parseOldRemoteFileAddress(configFile);
+
+  if (oldFormatAddressResult.isSuccess()) {
+    return oldFormatAddressResult.value;
+  }
+
+  // If the FF for the new format is not enabled, throw the old format error.
+  const allowNewFormat = await actionState.features.getValue(
+    Feature.NewRemoteFileAddresses,
+  );
+  if (!allowNewFormat) {
+    throw new ConfigurationError(
+      errorMessages.getConfigFileRepoOldFormatInvalidMessage(configFile),
+    );
+  }
+
+  // retrieve the various parts of the config location, and ensure they're present
+  const format = new RegExp(
+    "^((?[^:@/]+)/)?(?[^:@/]+)(@(?[^:]+))?(:(?.+))?$",
+  );
+  const pieces = format.exec(configFile.trim());
+
+  const repo: string | undefined = pieces?.groups?.repo?.trim();
+
+  // Check that the regular expression matched and that we have at least the repo name.
+  if (!pieces?.groups || !repo || repo.length === 0) {
+    // Neither the old format nor the new format worked. Throw an error that
+    // explains the format we accept. We only mention the new format, since that's
+    // what we want to be used going forward.
+    throw new ConfigurationError(
+      errorMessages.getConfigFileRepoFormatInvalidMessage(configFile),
+    );
+  }
+
+  const owner: string | undefined = pieces.groups.owner?.trim();
+  const path: string | undefined = pieces.groups.path?.trim();
+  const ref: string | undefined = pieces.groups.ref?.trim();
+
+  // Ensure that the path is a relative path.
+  if (path?.startsWith("/")) {
+    throw new ConfigurationError(
+      `The path component of '${configFile}' cannot be an absolute path.`,
+    );
+  }
+
+  return {
+    owner: owner || getDefaultOwner(actionState.env),
+    repo,
+    path: path || DEFAULT_CONFIG_FILE_NAME,
+    ref: ref || DEFAULT_CONFIG_FILE_REF,
+  };
+}
diff --git a/src/database-upload.test.ts b/src/database-upload.test.ts
index 1cfbaecad..bcaf9f1c9 100644
--- a/src/database-upload.test.ts
+++ b/src/database-upload.test.ts
@@ -11,8 +11,10 @@ import * as apiClient from "./api-client";
 import { createStubCodeQL } from "./codeql";
 import { Config } from "./config-utils";
 import { cleanupAndUploadDatabases } from "./database-upload";
+import { Feature } from "./feature-flags";
 import * as gitUtils from "./git-utils";
 import { BuiltInLanguage } from "./languages";
+import { OverlayDatabaseMode } from "./overlay/overlay-database-mode";
 import { RepositoryNwo } from "./repository";
 import {
   checkExpectedLogMessages,
@@ -24,6 +26,7 @@ import {
   setupTests,
 } from "./testing-utils";
 import {
+  CleanupLevel,
   GitHubVariant,
   HTTPError,
   initializeEnvironment,
@@ -335,3 +338,191 @@ test.serial("Successfully uploading a database to GHEC-DR", async (t) => {
     );
   });
 });
+
+test.serial(
+  "Records overlay and clear cleanup sizes when uploading an overlay-base database",
+  async (t) => {
+    await withTmpDir(async (tmpDir) => {
+      setupActionsVars(tmpDir, tmpDir);
+      sinon
+        .stub(actionsUtil, "getRequiredInput")
+        .withArgs("upload-database")
+        .returns("true");
+      sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
+
+      await mockHttpRequests(201);
+
+      // Track the cleanup level passed to each cleanup so that the database
+      // bundle stub can write a differently-sized bundle for each level.
+      const cleanupLevels: CleanupLevel[] = [];
+      let lastCleanupLevel: CleanupLevel | undefined;
+      const overlaySizeBytes = 100;
+      const clearSizeBytes = 50;
+      const codeql = createStubCodeQL({
+        async databaseCleanupCluster(_config, cleanupLevel) {
+          cleanupLevels.push(cleanupLevel);
+          lastCleanupLevel = cleanupLevel;
+        },
+        async databaseBundle(_databasePath, outputFilePath) {
+          const sizeBytes =
+            lastCleanupLevel === CleanupLevel.Overlay
+              ? overlaySizeBytes
+              : clearSizeBytes;
+          fs.writeFileSync(outputFilePath, "x".repeat(sizeBytes));
+        },
+      });
+
+      const config = getTestConfig(tmpDir);
+      config.overlayDatabaseMode = OverlayDatabaseMode.OverlayBase;
+
+      const loggedMessages: LoggedMessage[] = [];
+      const results = await cleanupAndUploadDatabases(
+        testRepoName,
+        codeql,
+        config,
+        testApiDetails,
+        createFeatures([Feature.UploadOverlayDbToApi]),
+        getRecordingLogger(loggedMessages),
+      );
+
+      // The database should be cleaned up at the `overlay` level for the upload
+      // and then re-cleaned at the `clear` level to measure its size.
+      t.deepEqual(cleanupLevels, [CleanupLevel.Overlay, CleanupLevel.Clear]);
+
+      t.is(results.length, 1);
+      t.is(results[0].is_overlay_base, true);
+      t.is(results[0].zipped_upload_size_bytes, overlaySizeBytes);
+      t.is(results[0].clear_cleanup_zipped_size_bytes, clearSizeBytes);
+      t.is(typeof results[0].clear_cleanup_measurement_duration_ms, "number");
+    });
+  },
+);
+
+test.serial(
+  "Does not measure clear cleanup size for a regular (non-overlay-base) upload",
+  async (t) => {
+    await withTmpDir(async (tmpDir) => {
+      setupActionsVars(tmpDir, tmpDir);
+      sinon
+        .stub(actionsUtil, "getRequiredInput")
+        .withArgs("upload-database")
+        .returns("true");
+      sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
+
+      await mockHttpRequests(201);
+
+      const cleanupLevels: CleanupLevel[] = [];
+      const codeql = createStubCodeQL({
+        async databaseCleanupCluster(_config, cleanupLevel) {
+          cleanupLevels.push(cleanupLevel);
+        },
+        async databaseBundle(_databasePath, outputFilePath) {
+          fs.writeFileSync(outputFilePath, "");
+        },
+      });
+
+      const results = await cleanupAndUploadDatabases(
+        testRepoName,
+        codeql,
+        getTestConfig(tmpDir),
+        testApiDetails,
+        createFeatures([Feature.UploadOverlayDbToApi]),
+        getRecordingLogger([]),
+      );
+
+      // A regular upload is cleaned only once, at the `clear` level.
+      t.deepEqual(cleanupLevels, [CleanupLevel.Clear]);
+      t.is(results[0].is_overlay_base, false);
+      t.is(results[0].clear_cleanup_zipped_size_bytes, undefined);
+      t.is(results[0].clear_cleanup_measurement_duration_ms, undefined);
+    });
+  },
+);
+
+test.serial("Does not measure clear cleanup size in debug mode", async (t) => {
+  await withTmpDir(async (tmpDir) => {
+    setupActionsVars(tmpDir, tmpDir);
+    sinon
+      .stub(actionsUtil, "getRequiredInput")
+      .withArgs("upload-database")
+      .returns("true");
+    sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
+
+    await mockHttpRequests(201);
+
+    const cleanupLevels: CleanupLevel[] = [];
+    const codeql = createStubCodeQL({
+      async databaseCleanupCluster(_config, cleanupLevel) {
+        cleanupLevels.push(cleanupLevel);
+      },
+      async databaseBundle(_databasePath, outputFilePath) {
+        fs.writeFileSync(outputFilePath, "");
+      },
+    });
+
+    const config = getTestConfig(tmpDir);
+    config.overlayDatabaseMode = OverlayDatabaseMode.OverlayBase;
+    config.debugMode = true;
+
+    const results = await cleanupAndUploadDatabases(
+      testRepoName,
+      codeql,
+      config,
+      testApiDetails,
+      createFeatures([Feature.UploadOverlayDbToApi]),
+      getRecordingLogger([]),
+    );
+
+    // In debug mode we clean up at the `overlay` level for the upload but skip
+    // the additional `clear` cleanup, to preserve the database for debugging.
+    t.deepEqual(cleanupLevels, [CleanupLevel.Overlay]);
+    t.is(results[0].is_overlay_base, true);
+    t.is(results[0].clear_cleanup_zipped_size_bytes, undefined);
+    t.is(results[0].clear_cleanup_measurement_duration_ms, undefined);
+  });
+});
+
+test.serial(
+  "Does not record a clear cleanup duration when the clear cleanup fails",
+  async (t) => {
+    await withTmpDir(async (tmpDir) => {
+      setupActionsVars(tmpDir, tmpDir);
+      sinon
+        .stub(actionsUtil, "getRequiredInput")
+        .withArgs("upload-database")
+        .returns("true");
+      sinon.stub(gitUtils, "isAnalyzingDefaultBranch").resolves(true);
+
+      await mockHttpRequests(201);
+
+      const codeql = createStubCodeQL({
+        async databaseCleanupCluster(_config, cleanupLevel) {
+          if (cleanupLevel === CleanupLevel.Clear) {
+            throw new Error("clear cleanup failed");
+          }
+        },
+        async databaseBundle(_databasePath, outputFilePath) {
+          fs.writeFileSync(outputFilePath, "x".repeat(100));
+        },
+      });
+
+      const config = getTestConfig(tmpDir);
+      config.overlayDatabaseMode = OverlayDatabaseMode.OverlayBase;
+
+      const results = await cleanupAndUploadDatabases(
+        testRepoName,
+        codeql,
+        config,
+        testApiDetails,
+        createFeatures([Feature.UploadOverlayDbToApi]),
+        getRecordingLogger([]),
+      );
+
+      // When the `clear` cleanup fails, no size is measured, so we should not
+      // report a measurement duration either.
+      t.is(results[0].is_overlay_base, true);
+      t.is(results[0].clear_cleanup_zipped_size_bytes, undefined);
+      t.is(results[0].clear_cleanup_measurement_duration_ms, undefined);
+    });
+  },
+);
diff --git a/src/database-upload.ts b/src/database-upload.ts
index 9869f3803..0189bef1e 100644
--- a/src/database-upload.ts
+++ b/src/database-upload.ts
@@ -25,6 +25,19 @@ export interface DatabaseUploadResult {
   zipped_upload_size_bytes?: number;
   /** Whether the uploaded database is an overlay base. */
   is_overlay_base?: boolean;
+  /**
+   * For overlay-base uploads only: the size in bytes that the zipped database
+   * would have been if it had been cleaned at the `clear` cleanup level instead
+   * of the `overlay` level.
+   */
+  clear_cleanup_zipped_size_bytes?: number;
+  /**
+   * For overlay-base uploads only: the time in milliseconds spent measuring the
+   * `clear` cleanup size (cleaning up the cluster at the `clear` level and
+   * bundling each database). This is a cluster-wide measurement, so it is the
+   * same for every language in a run.
+   */
+  clear_cleanup_measurement_duration_ms?: number;
   /** Time taken to upload database in milliseconds. */
   upload_duration_ms?: number;
   /** If there was an error during database upload, this is its message. */
@@ -156,9 +169,89 @@ export async function cleanupAndUploadDatabases(
       });
     }
   }
+
+  // When we upload an overlay-base database, we cleaned the databases at the `overlay` level, which
+  // retains more data than the `clear` level used for regular uploads. Measure what the zipped size
+  // would have been at the `clear` level too, so we can compare the storage cost of overlay-base
+  // databases against regular databases for the same repository.
+  //
+  // We skip this in debug mode, where the databases are preserved and uploaded as debug artifacts,
+  // since cleaning them up at the `clear` level would discard data that is useful for debugging.
+  if (shouldUploadOverlayBase && !config.debugMode) {
+    await withGroupAsync(
+      "Measuring database size at the clear cleanup level",
+      () => recordClearCleanupSizes(codeql, config, reports, logger),
+    );
+  }
+
   return reports;
 }
 
+/**
+ * Cleans up the databases at the `clear` cleanup level and records the resulting zipped size for
+ * each language in `clear_cleanup_zipped_size_bytes`. If the cleanup succeeds, also records the
+ * time spent taking the measurement in `clear_cleanup_measurement_duration_ms`.
+ *
+ * This mutates the entries of `reports` in place. It must run only after all overlay-base uploads
+ * have completed, since the `clear` cleanup discards overlay data that the uploaded database
+ * depends on.
+ *
+ * Failures here are non-fatal: this is telemetry-only, so we log and move on rather than failing
+ * the workflow.
+ */
+async function recordClearCleanupSizes(
+  codeql: CodeQL,
+  config: Config,
+  reports: DatabaseUploadResult[],
+  logger: Logger,
+): Promise {
+  // Include both the cleanup and the re-bundling to record how much time taking this measurement adds
+  // to the run.
+  const startTime = performance.now();
+
+  try {
+    await codeql.databaseCleanupCluster(config, CleanupLevel.Clear);
+  } catch (e) {
+    // The cleanup didn't run, so there are no sizes to measure. Return without recording a
+    // duration, so that we don't report a measurement duration with no accompanying sizes.
+    logger.warning(
+      `Failed to clean up databases at the '${CleanupLevel.Clear}' level for ` +
+        `size measurement: ${util.getErrorMessage(e)}`,
+    );
+    return;
+  }
+
+  for (const language of config.languages) {
+    const report = reports.find((r) => r.language === language);
+    if (report === undefined) {
+      continue;
+    }
+    try {
+      const bundledDb = await bundleDb(config, language, codeql, language, {
+        includeDiagnostics: false,
+      });
+      report.clear_cleanup_zipped_size_bytes = fs.statSync(bundledDb).size;
+      logger.debug(
+        `Database for ${language} is ` +
+          `${report.clear_cleanup_zipped_size_bytes} bytes zipped at the ` +
+          `'${CleanupLevel.Clear}' cleanup level ` +
+          `(vs. ${report.zipped_upload_size_bytes ?? "unknown"} bytes at the ` +
+          `'${CleanupLevel.Overlay}' level).`,
+      );
+    } catch (e) {
+      logger.warning(
+        `Failed to measure the '${CleanupLevel.Clear}' cleanup database size ` +
+          `for ${language}: ${util.getErrorMessage(e)}`,
+      );
+    }
+  }
+
+  const durationMs = performance.now() - startTime;
+  for (const report of reports) {
+    report.clear_cleanup_measurement_duration_ms = durationMs;
+  }
+}
+
 /**
  * Uploads a bundled database to the GitHub API.
  *
diff --git a/src/debug-artifacts.ts b/src/debug-artifacts.ts
index 016fcdf7c..9f5f1775d 100644
--- a/src/debug-artifacts.ts
+++ b/src/debug-artifacts.ts
@@ -4,7 +4,7 @@ import * as path from "path";
 import * as artifact from "@actions/artifact";
 import * as artifactLegacy from "@actions/artifact-legacy";
 import * as core from "@actions/core";
-import archiver from "archiver";
+import { ZipArchive } from "archiver";
 
 import { getOptionalInput, getTemporaryDirectory } from "./actions-util";
 import { dbIsFinalized } from "./analyze";
@@ -397,7 +397,7 @@ async function createPartialDatabaseBundle(
     await fs.promises.rm(databaseBundlePath, { force: true });
   }
   const output = fs.createWriteStream(databaseBundlePath);
-  const zip = archiver("zip");
+  const zip = new ZipArchive();
 
   zip.on("error", (err) => {
     throw err;
diff --git a/src/defaults.json b/src/defaults.json
index 7c82ff2a6..660296139 100644
--- a/src/defaults.json
+++ b/src/defaults.json
@@ -1,6 +1,6 @@
 {
-  "bundleVersion": "codeql-bundle-v2.25.6",
-  "cliVersion": "2.25.6",
-  "priorBundleVersion": "codeql-bundle-v2.25.5",
-  "priorCliVersion": "2.25.5"
+  "bundleVersion": "codeql-bundle-v2.26.0",
+  "cliVersion": "2.26.0",
+  "priorBundleVersion": "codeql-bundle-v2.25.6",
+  "priorCliVersion": "2.25.6"
 }
diff --git a/src/environment.ts b/src/environment.ts
index ed44ddcff..d75eff933 100644
--- a/src/environment.ts
+++ b/src/environment.ts
@@ -17,6 +17,18 @@ export enum EnvVar {
    */
   CLI_VERBOSITY = "CODEQL_VERBOSITY",
 
+  /**
+   * Set by Default Setup to the base branch of the PR being analysed, if analysing a PR.
+   * This is needed because the `pull_request` context is not available for `dynamic` events.
+   */
+  CODE_SCANNING_BASE_BRANCH = "CODE_SCANNING_BASE_BRANCH",
+
+  /**
+   * Set by Default Setup to the full ref being analysed, if analysing a PR.
+   * This is needed because the `pull_request` context is not available for `dynamic` events.
+   */
+  CODE_SCANNING_REF = "CODE_SCANNING_REF",
+
   /** Whether the CodeQL Action has invoked the Go autobuilder. */
   DID_AUTOBUILD_GOLANG = "CODEQL_ACTION_DID_AUTOBUILD_GOLANG",
 
@@ -77,6 +89,9 @@ export enum EnvVar {
   /** Whether to suppress the warning if the current CLI will soon be unsupported. */
   SUPPRESS_DEPRECATED_SOON_WARNING = "CODEQL_ACTION_SUPPRESS_DEPRECATED_SOON_WARNING",
 
+  /** Used to dictate or persist the temporary directory used by the CodeQL Action. */
+  TEMP = "CODEQL_ACTION_TEMP",
+
   /** Whether to disable uploading SARIF results or status reports to the GitHub API */
   TEST_MODE = "CODEQL_ACTION_TEST_MODE",
 
@@ -154,3 +169,123 @@ export enum EnvVar {
   /** Used by Code Scanning Risk Assessment to communicate the assessment ID to the CodeQL Action. */
   RISK_ASSESSMENT_ID = "CODEQL_ACTION_RISK_ASSESSMENT_ID",
 }
+
+/**
+ * Enumerates known GitHub Actions environment variables that we expect
+ * to be set in a GitHub Actions environment.
+ */
+export enum ActionsEnvVars {
+  GITHUB_ACTION_REPOSITORY = "GITHUB_ACTION_REPOSITORY",
+  GITHUB_API_URL = "GITHUB_API_URL",
+  GITHUB_EVENT_NAME = "GITHUB_EVENT_NAME",
+  GITHUB_EVENT_PATH = "GITHUB_EVENT_PATH",
+  GITHUB_JOB = "GITHUB_JOB",
+  GITHUB_REF = "GITHUB_REF",
+  GITHUB_REPOSITORY = "GITHUB_REPOSITORY",
+  GITHUB_RUN_ATTEMPT = "GITHUB_RUN_ATTEMPT",
+  GITHUB_RUN_ID = "GITHUB_RUN_ID",
+  GITHUB_SERVER_URL = "GITHUB_SERVER_URL",
+  GITHUB_SHA = "GITHUB_SHA",
+  GITHUB_WORKFLOW = "GITHUB_WORKFLOW",
+  RUNNER_ENVIRONMENT = "RUNNER_ENVIRONMENT",
+  RUNNER_NAME = "RUNNER_NAME",
+  RUNNER_OS = "RUNNER_OS",
+  RUNNER_TEMP = "RUNNER_TEMP",
+}
+
+/** A type representing all known environment variables. */
+export type KnownEnvVar = EnvVar | ActionsEnvVars;
+
+/**
+ * Gets an environment variable, but throws an error if it is not set.
+ */
+function getRequiredEnvVar(env: NodeJS.ProcessEnv, paramName: string): string {
+  const value = env[paramName];
+  if (value === undefined || value.length === 0) {
+    throw new Error(`${paramName} environment variable must be set`);
+  }
+  return value;
+}
+
+/**
+ * Get an environment parameter, but throw an error if it is not set.
+ *
+ * @deprecated Use `getRequired` of a `ReadOnlyEnv` or `Env` instance instead.
+ */
+export function getRequiredEnvParam(paramName: string): string {
+  return getRequiredEnvVar(process.env, paramName);
+}
+
+/**
+ * Gets an environment variable, but returns `undefined` if it is not set or empty.
+ */
+function getOptionalEnvVarFrom(
+  env: NodeJS.ProcessEnv,
+  paramName: string,
+): string | undefined {
+  const value = env[paramName];
+  if (value?.trim().length === 0) {
+    return undefined;
+  }
+  return value;
+}
+
+/**
+ * Get an environment variable, but return `undefined` if it is not set or empty.
+ *
+ * @deprecated Use `getOptional` of a `ReadOnlyEnv` or `Env` instance instead.
+ */
+export function getOptionalEnvVar(paramName: string): string | undefined {
+  return getOptionalEnvVarFrom(process.env, paramName);
+}
+
+/**
+ * An abstraction around read-only environment variables, to allow abstracting away from `process.env`
+ * in tests, while clearly signalling in regular code that the consumer of the `ReadOnlyEnv` instance
+ * will only read from it.
+ */
+export class ReadOnlyEnv {
+  constructor(protected readonly vars: Record) {}
+
+  /** Tries to get the value for `name` and throws if there isn't one. */
+  public getRequired(name: string): string {
+    return getRequiredEnvVar(this.vars, name);
+  }
+
+  /** Gets the value for `name`, or `undefined` if it isn't set or empty. */
+  public getOptional(name: string): string | undefined {
+    return getOptionalEnvVarFrom(this.vars, name);
+  }
+
+  /** Gets the entries of the underlying `ProcessEnv`. */
+  public entries(): Array<[string, T]> {
+    return Object.entries(this.vars);
+  }
+}
+
+/**
+ * A wrapper around an environment, to allow abstracting away from `process.env` in tests.
+ * Use `ReadOnlyEnv` instead if you only plan to read from the environment.
+ * This type allows writing to the environment.
+ */
+export class Env<
+  T extends string | undefined = string | undefined,
+> extends ReadOnlyEnv {
+  private changed: boolean = false;
+
+  /** Sets an environment variable. */
+  public set(name: string, value: T): void {
+    this.vars[name] = value;
+    this.changed = true;
+  }
+
+  /** Gets a value indicating whether `set` was called at least once. */
+  public hasChanged(): boolean {
+    return this.changed;
+  }
+}
+
+/** Gets an `Env` instance for `env`, which is `process.env` by default. */
+export function getEnv(env: NodeJS.ProcessEnv = process.env): Env {
+  return new Env(env);
+}
diff --git a/src/error-messages.ts b/src/error-messages.ts
index 578ec6973..bd32a6a04 100644
--- a/src/error-messages.ts
+++ b/src/error-messages.ts
@@ -30,7 +30,7 @@ export function getInvalidConfigFileMessage(
   return `The configuration file "${configFile}" is invalid: ${messages.slice(0, 10).join(", ")}${andMore}`;
 }
 
-export function getConfigFileRepoFormatInvalidMessage(
+export function getConfigFileRepoOldFormatInvalidMessage(
   configFile: string,
 ): string {
   let error = `The configuration file "${configFile}" is not a supported remote file reference.`;
@@ -39,6 +39,15 @@ export function getConfigFileRepoFormatInvalidMessage(
   return error;
 }
 
+export function getConfigFileRepoFormatInvalidMessage(
+  configFile: string,
+): string {
+  let error = `The configuration file "${configFile}" is not a supported remote file reference.`;
+  error += " Expected format [/][@][:]";
+
+  return error;
+}
+
 export function getConfigFileFormatInvalidMessage(configFile: string): string {
   return `The configuration file "${configFile}" could not be read`;
 }
diff --git a/src/feature-flags.ts b/src/feature-flags.ts
index a79698224..dcc5c9d7b 100644
--- a/src/feature-flags.ts
+++ b/src/feature-flags.ts
@@ -74,6 +74,8 @@ export enum Feature {
   AllowMultipleAnalysisKinds = "allow_multiple_analysis_kinds",
   AllowToolcacheInput = "allow_toolcache_input",
   CleanupTrapCaches = "cleanup_trap_caches",
+  /** Whether to allow the `config-file` input to be specified via a repository property. */
+  ConfigFileRepositoryProperty = "config_file_repository_property",
   CppDependencyInstallation = "cpp_dependency_installation_enabled",
   CsharpCacheBuildModeNone = "csharp_cache_bmn",
   CsharpNewCacheKey = "csharp_new_cache_key",
@@ -90,6 +92,8 @@ export enum Feature {
   ForceNightly = "force_nightly",
   IgnoreGeneratedFiles = "ignore_generated_files",
   JavaNetworkDebugging = "java_network_debugging",
+  /** Allow the new remote file address format. */
+  NewRemoteFileAddresses = "new_remote_file_addresses",
   OverlayAnalysis = "overlay_analysis",
   OverlayAnalysisCodeScanningCpp = "overlay_analysis_code_scanning_cpp",
   OverlayAnalysisCodeScanningCsharp = "overlay_analysis_code_scanning_csharp",
@@ -184,6 +188,11 @@ export const featureConfig = {
     envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
     minimumVersion: undefined,
   },
+  [Feature.ConfigFileRepositoryProperty]: {
+    defaultValue: false,
+    envVar: "CODEQL_ACTION_CONFIG_FILE_REPOSITORY_PROPERTY",
+    minimumVersion: undefined,
+  },
   [Feature.CppDependencyInstallation]: {
     defaultValue: false,
     envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
@@ -248,6 +257,11 @@ export const featureConfig = {
     envVar: "CODEQL_ACTION_JAVA_NETWORK_DEBUGGING",
     minimumVersion: undefined,
   },
+  [Feature.NewRemoteFileAddresses]: {
+    defaultValue: false,
+    envVar: "CODEQL_ACTION_NEW_REMOTE_FILE_ADDRESSES",
+    minimumVersion: undefined,
+  },
   [Feature.OverlayAnalysis]: {
     defaultValue: false,
     envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",
diff --git a/src/init-action.ts b/src/init-action.ts
index a37da327d..3bc32a990 100644
--- a/src/init-action.ts
+++ b/src/init-action.ts
@@ -7,9 +7,9 @@ import * as io from "@actions/io";
 import * as semver from "semver";
 import { v4 as uuidV4 } from "uuid";
 
+import { Action, ActionState, runInActions } from "./action-common";
 import {
   FileCmdNotFoundError,
-  getActionsEnv,
   getActionVersion,
   getFileType,
   getOptionalInput,
@@ -57,7 +57,7 @@ import {
   runDatabaseInitCluster,
 } from "./init";
 import { JavaEnvVars, BuiltInLanguage } from "./languages";
-import { getActionsLogger, Logger, withGroupAsync } from "./logging";
+import { Logger, withGroupAsync } from "./logging";
 import {
   downloadOverlayBaseDatabaseFromCache,
   OverlayBaseDatabaseDownloadStats,
@@ -74,7 +74,6 @@ import {
   createStatusReportBase,
   getActionsStatus,
   sendStatusReport,
-  sendUnhandledErrorStatusReport,
 } from "./status-report";
 import { ZstdAvailability } from "./tar";
 import { ToolsDownloadStatusReport } from "./tools-download";
@@ -205,12 +204,12 @@ async function sendCompletedStatusReport(
   }
 }
 
-async function run(startedAt: Date) {
+async function run(actionState: ActionState<["Logger", "Env", "Actions"]>) {
   // To capture errors appropriately, keep as much code within the try-catch as
   // possible, and only use safe functions outside.
 
-  const logger = getActionsLogger();
-  const actionsEnv = getActionsEnv();
+  const startedAt = actionState.startedAt;
+  const logger = actionState.logger;
 
   let apiDetails: GitHubApiCombinedDetails;
   let config: configUtils.Config | undefined;
@@ -264,7 +263,11 @@ async function run(startedAt: Date) {
 
     core.exportVariable(EnvVar.INIT_ACTION_HAS_RUN, "true");
 
-    configFile = getConfigFileInput(logger, actionsEnv, repositoryProperties);
+    const actionStateWithFeatures = { ...actionState, features };
+    configFile = await getConfigFileInput(
+      actionStateWithFeatures,
+      repositoryProperties,
+    );
 
     // path.resolve() respects the intended semantics of source-root. If
     // source-root is relative, it is relative to the GITHUB_WORKSPACE. If
@@ -367,7 +370,7 @@ async function run(startedAt: Date) {
       repositoryProperties,
     );
 
-    config = await initConfig(features, {
+    config = await initConfig(actionStateWithFeatures, {
       analysisKinds,
       languagesInput: getOptionalInput("languages"),
       queriesInput: getOptionalInput("queries"),
@@ -855,19 +858,13 @@ async function recordZstdAvailability(
   );
 }
 
+/** Defines the `init` Action. */
+const init: Action = {
+  name: ActionName.Init,
+  run,
+};
+
 export async function runWrapper() {
-  const startedAt = new Date();
-  const logger = getActionsLogger();
-  try {
-    await run(startedAt);
-  } catch (error) {
-    core.setFailed(`init action failed: ${getErrorMessage(error)}`);
-    await sendUnhandledErrorStatusReport(
-      ActionName.Init,
-      startedAt,
-      error,
-      logger,
-    );
-  }
+  await runInActions(init);
   await checkForTimeout();
 }
diff --git a/src/init.test.ts b/src/init.test.ts
index 88ad0c9b1..1f0d2c701 100644
--- a/src/init.test.ts
+++ b/src/init.test.ts
@@ -8,6 +8,7 @@ import * as sinon from "sinon";
 
 import * as actionsUtil from "./actions-util";
 import { createStubCodeQL } from "./codeql";
+import { ActionsEnvVars } from "./environment";
 import { Feature } from "./feature-flags";
 import {
   checkPacksForOverlayCompatibility,
@@ -84,7 +85,7 @@ for (const { runnerEnv, ErrorConstructor, message } of [
     `cleanupDatabaseClusterDirectory throws a ${ErrorConstructor.name} when cleanup fails on ${runnerEnv} runner`,
     async (t) => {
       await withTmpDir(async (tmpDir: string) => {
-        process.env["RUNNER_ENVIRONMENT"] = runnerEnv;
+        process.env[ActionsEnvVars.RUNNER_ENVIRONMENT] = runnerEnv;
 
         const dbLocation = path.resolve(tmpDir, "dbs");
         fs.mkdirSync(dbLocation, { recursive: true });
diff --git a/src/init.ts b/src/init.ts
index 2533d9a89..53efbe99a 100644
--- a/src/init.ts
+++ b/src/init.ts
@@ -7,6 +7,7 @@ import * as github from "@actions/github";
 import * as io from "@actions/io";
 import * as yaml from "js-yaml";
 
+import { ActionState } from "./action-common";
 import {
   getOptionalInput,
   isAnalyzingPullRequest,
@@ -81,11 +82,11 @@ export async function initCodeQL(
 }
 
 export async function initConfig(
-  features: FeatureEnablement,
+  actionState: ActionState<["Logger", "Env", "FeatureFlags"]>,
   inputs: configUtils.InitConfigInputs,
 ): Promise {
   return await withGroupAsync("Load language configuration", async () => {
-    return await configUtils.initConfig(features, inputs);
+    return await configUtils.initConfig(actionState, inputs);
   });
 }
 
diff --git a/src/json/index.test.ts b/src/json/index.test.ts
index 825bbc0e7..eb259c757 100644
--- a/src/json/index.test.ts
+++ b/src/json/index.test.ts
@@ -10,8 +10,8 @@ const testSchema = {
   requiredKey: json.string,
 };
 
-const optionalSchema = {
-  optionalKey: json.optional(json.string),
+const optionalOrNullSchema = {
+  optionalKey: json.optionalOrNull(json.string),
 };
 
 test("validateSchema - required properties are required", async (t) => {
@@ -28,13 +28,36 @@ test("validateSchema - required properties are required", async (t) => {
   t.true(json.validateSchema(testSchema, { requiredKey: "foo" }));
 });
 
-test("validateSchema - optional properties are optional", async (t) => {
+test("validateSchema - optionalOrNullSchema properties are optional or null", async (t) => {
   // Optional fields may be absent
-  t.true(json.validateSchema(optionalSchema, {}));
-  t.true(json.validateSchema(optionalSchema, { optionalKey: undefined }));
-  t.true(json.validateSchema(optionalSchema, { optionalKey: null }));
+  t.true(json.validateSchema(optionalOrNullSchema, {}));
+  t.true(json.validateSchema(optionalOrNullSchema, { optionalKey: undefined }));
+  t.true(json.validateSchema(optionalOrNullSchema, { optionalKey: null }));
 
   // But, if present, should have the expected type
+  t.false(json.validateSchema(optionalOrNullSchema, { optionalKey: 0 }));
+  t.false(json.validateSchema(optionalOrNullSchema, { optionalKey: 123 }));
+  t.false(json.validateSchema(optionalOrNullSchema, { optionalKey: false }));
+  t.false(json.validateSchema(optionalOrNullSchema, { optionalKey: true }));
+  t.false(json.validateSchema(optionalOrNullSchema, { optionalKey: [] }));
+  t.false(json.validateSchema(optionalOrNullSchema, { optionalKey: {} }));
+  t.true(json.validateSchema(optionalOrNullSchema, { optionalKey: "" }));
+  t.true(json.validateSchema(optionalOrNullSchema, { optionalKey: "foo" }));
+});
+
+const optionalSchema = {
+  optionalKey: json.optional(json.string),
+};
+
+test("validateSchema - optional properties are optional", async (t) => {
+  // Optional fields may be absent or explicitly undefined
+  t.true(json.validateSchema(optionalSchema, {}));
+  t.true(json.validateSchema(optionalSchema, { optionalKey: undefined }));
+
+  // But should reject null
+  t.false(json.validateSchema(optionalSchema, { optionalKey: null }));
+
+  // And, if present, should have the expected type
   t.false(json.validateSchema(optionalSchema, { optionalKey: 0 }));
   t.false(json.validateSchema(optionalSchema, { optionalKey: 123 }));
   t.false(json.validateSchema(optionalSchema, { optionalKey: false }));
diff --git a/src/json/index.ts b/src/json/index.ts
index 8a1b60a17..a55de5b58 100644
--- a/src/json/index.ts
+++ b/src/json/index.ts
@@ -30,6 +30,11 @@ export function isString(value: unknown): value is string {
   return typeof value === "string";
 }
 
+/** Asserts that `value` is a number. */
+export function isNumber(value: unknown): value is number {
+  return typeof value === "number";
+}
+
 /** Asserts that `value` is either a string or undefined. */
 export function isStringOrUndefined(
   value: unknown,
@@ -55,8 +60,17 @@ export const string = {
   required: true,
 } as const satisfies Validator;
 
-/** Transforms a validator to be optional. */
-export function optional(validator: Validator) {
+/** A validator for number fields in schemas. */
+export const number = {
+  validate: isNumber,
+  required: true,
+} as const satisfies Validator;
+
+/**
+ * Transforms a validator to be optional, accepting `undefined` or `null` for an
+ * absent value.
+ */
+export function optionalOrNull(validator: Validator) {
   return {
     validate: (val: unknown) => {
       return val === undefined || val === null || validator.validate(val);
@@ -65,6 +79,19 @@ export function optional(validator: Validator) {
   } as const satisfies Validator;
 }
 
+/**
+ * Transforms a validator to be optional, accepting `undefined` for an absent
+ * value but, unlike `optionalOrNull`, rejecting `null`.
+ */
+export function optional(validator: Validator) {
+  return {
+    validate: (val: unknown): val is T | undefined => {
+      return val === undefined || validator.validate(val);
+    },
+    required: false,
+  } as const satisfies Validator;
+}
+
 /** Represents an arbitrary object schema. */
 export type Schema = Record>;
 
diff --git a/src/setup-codeql-action.ts b/src/setup-codeql-action.ts
index d3e0e7dbc..a6b5f83f5 100644
--- a/src/setup-codeql-action.ts
+++ b/src/setup-codeql-action.ts
@@ -1,6 +1,7 @@
 import * as core from "@actions/core";
 import { v4 as uuidV4 } from "uuid";
 
+import { Action, ActionState, runInActions } from "./action-common";
 import {
   getActionVersion,
   getOptionalInput,
@@ -14,7 +15,7 @@ import { getRawLanguagesNoAutodetect } from "./config-utils";
 import { EnvVar } from "./environment";
 import { initFeatures } from "./feature-flags";
 import { initCodeQL } from "./init";
-import { getActionsLogger, Logger } from "./logging";
+import { Logger } from "./logging";
 import { getRepositoryNwo } from "./repository";
 import { ToolsSource } from "./setup-codeql";
 import {
@@ -24,7 +25,6 @@ import {
   createStatusReportBase,
   getActionsStatus,
   sendStatusReport,
-  sendUnhandledErrorStatusReport,
 } from "./status-report";
 import { ToolsDownloadStatusReport } from "./tools-download";
 import {
@@ -36,7 +36,6 @@ import {
   ConfigurationError,
   wrapError,
   checkActionVersion,
-  getErrorMessage,
 } from "./util";
 
 /**
@@ -88,12 +87,13 @@ async function sendCompletedStatusReport(
 }
 
 /** The main behaviour of this action. */
-async function run(startedAt: Date): Promise {
+async function run({
+  startedAt,
+  logger,
+}: ActionState<["Logger"]>): Promise {
   // To capture errors appropriately, keep as much code within the try-catch as
   // possible, and only use safe functions outside.
 
-  const logger = getActionsLogger();
-
   let codeql: CodeQL;
   let toolsDownloadStatusReport: ToolsDownloadStatusReport | undefined;
   let toolsFeatureFlagsValid: boolean | undefined;
@@ -195,20 +195,14 @@ async function run(startedAt: Date): Promise {
   );
 }
 
+/** Defines the `setup-codeql` Action. */
+const setupCodeQL: Action = {
+  name: ActionName.SetupCodeQL,
+  run,
+};
+
 /** Run the action and catch any unhandled errors. */
 export async function runWrapper(): Promise {
-  const startedAt = new Date();
-  const logger = getActionsLogger();
-  try {
-    await run(startedAt);
-  } catch (error) {
-    core.setFailed(`setup-codeql action failed: ${getErrorMessage(error)}`);
-    await sendUnhandledErrorStatusReport(
-      ActionName.SetupCodeQL,
-      startedAt,
-      error,
-      logger,
-    );
-  }
+  await runInActions(setupCodeQL);
   await checkForTimeout();
 }
diff --git a/src/setup-codeql.test.ts b/src/setup-codeql.test.ts
index 49d4d66aa..f2ba43c10 100644
--- a/src/setup-codeql.test.ts
+++ b/src/setup-codeql.test.ts
@@ -7,6 +7,7 @@ import * as sinon from "sinon";
 
 import * as actionsUtil from "./actions-util";
 import * as api from "./api-client";
+import { EnvVar } from "./environment";
 import { Feature } from "./feature-flags";
 import { getRunnerLogger } from "./logging";
 import { getCacheRestoreKeyPrefix } from "./overlay/caching";
@@ -637,8 +638,8 @@ test.serial(
   async (t) => {
     await withTmpDir(async (tmpDir) => {
       setupActionsVars(tmpDir, tmpDir);
-      process.env["CODE_SCANNING_REF"] = "refs/heads/feature-branch";
-      process.env["CODE_SCANNING_BASE_BRANCH"] = "main";
+      process.env[EnvVar.CODE_SCANNING_REF] = "refs/heads/feature-branch";
+      process.env[EnvVar.CODE_SCANNING_BASE_BRANCH] = "main";
 
       sinon.stub(api, "getAutomationID").resolves("test/");
       const listStub = sinon.stub(api, "listActionsCaches").resolves([
diff --git a/src/start-proxy/types.ts b/src/start-proxy/types.ts
index 13a4ce0e8..13369edbf 100644
--- a/src/start-proxy/types.ts
+++ b/src/start-proxy/types.ts
@@ -12,7 +12,7 @@ export type RawCredential = UnvalidatedObject;
 /** A schema for credential objects with a username. */
 export const usernameSchema = {
   /** The username needed to authenticate to the package registry, if any. */
-  username: json.optional(json.string),
+  username: json.optionalOrNull(json.string),
 } as const satisfies json.Schema;
 
 /** Usernames may be present for both authentication with tokens or passwords. */
@@ -29,7 +29,7 @@ export function hasUsername(config: AuthConfig): config is Username {
 /** A schema for credential objects with a username and password. */
 export const usernamePasswordSchema = {
   /** The password needed to authenticate to the package registry, if any. */
-  password: json.optional(json.string),
+  password: json.optionalOrNull(json.string),
   ...usernameSchema,
 } as const satisfies json.Schema;
 
@@ -52,7 +52,7 @@ export function hasUsernameAndPassword(
 /** A schema for credential objects for token-based authentication. */
 export const tokenSchema = {
   /** The token needed to authenticate to the package registry, if any. */
-  token: json.optional(json.string),
+  token: json.optionalOrNull(json.string),
   ...usernameSchema,
 } as const satisfies json.Schema;
 
@@ -100,7 +100,7 @@ export const awsConfigSchema = {
   "role-name": json.string,
   domain: json.string,
   "domain-owner": json.string,
-  audience: json.optional(json.string),
+  audience: json.optionalOrNull(json.string),
 } as const satisfies json.Schema;
 
 /** Configuration for AWS OIDC. */
@@ -116,8 +116,8 @@ export function isAWSConfig(
 /** A schema for JFrog OIDC configurations. */
 export const jfrogConfigSchema = {
   "jfrog-oidc-provider-name": json.string,
-  audience: json.optional(json.string),
-  "identity-mapping-name": json.optional(json.string),
+  audience: json.optionalOrNull(json.string),
+  "identity-mapping-name": json.optionalOrNull(json.string),
 } as const satisfies json.Schema;
 
 /** Configuration for JFrog OIDC. */
@@ -150,8 +150,8 @@ export function isCloudsmithConfig(
 /** A schema for GCP OIDC configurations. */
 export const gcpConfigSchema = {
   "workload-identity-provider": json.string,
-  "service-account": json.optional(json.string),
-  audience: json.optional(json.string),
+  "service-account": json.optionalOrNull(json.string),
+  audience: json.optionalOrNull(json.string),
 } as const satisfies json.Schema;
 
 /** Configuration for GCP OIDC. */
diff --git a/src/status-report.ts b/src/status-report.ts
index 8e401ffff..7455f72e1 100644
--- a/src/status-report.ts
+++ b/src/status-report.ts
@@ -13,15 +13,16 @@ import {
 } from "./actions-util";
 import { getAnalysisKey, getApiClient } from "./api-client";
 import { CommandCacheKey, getCachedCommandOutput } from "./cli/output-cache";
-import { parseRegistriesWithoutCredentials, type Config } from "./config-utils";
-import { DependencyCacheRestoreStatusReport } from "./dependency-caching";
+import type { Config } from "./config/action-config";
+import { parseRegistriesWithoutCredentials } from "./config/pack-registries";
+import type { DependencyCacheRestoreStatusReport } from "./dependency-caching";
 import { DocUrl } from "./doc-url";
 import { EnvVar } from "./environment";
 import { getRef } from "./git-utils";
-import { Logger } from "./logging";
-import { OverlayBaseDatabaseDownloadStats } from "./overlay/caching";
+import type { Logger } from "./logging";
+import type { OverlayBaseDatabaseDownloadStats } from "./overlay/caching";
 import { getRepositoryNwo } from "./repository";
-import { ToolsSource } from "./setup-codeql";
+import type { ToolsSource } from "./setup-codeql";
 import {
   ConfigurationError,
   getRequiredEnvParam,
@@ -46,6 +47,17 @@ export enum ActionName {
   UploadSarif = "upload-sarif",
 }
 
+/**
+ * Maps an `ActionName` to its display name. Usually that is the same, except
+ * for `ActionName.Analyze` where it is `"analyze"` instead of `"finish"`.
+ */
+export function getDisplayActionName(actionName: ActionName): string {
+  if (actionName === ActionName.Analyze) {
+    return "analyze";
+  }
+  return actionName;
+}
+
 /**
  * @returns a boolean indicating whether the analysis is considered to be first party.
  *
diff --git a/src/testing-utils.ts b/src/testing-utils.ts
index 50876b21f..46650f12d 100644
--- a/src/testing-utils.ts
+++ b/src/testing-utils.ts
@@ -10,6 +10,7 @@ import test, {
 import nock from "nock";
 import * as sinon from "sinon";
 
+import { ActionState, StateFeature } from "./action-common";
 import { ActionsEnv, getActionVersion } from "./actions-util";
 import { AnalysisKind } from "./analyses";
 import * as apiClient from "./api-client";
@@ -20,6 +21,7 @@ import { resetCachedCommandOutputs } from "./cli/output-cache";
 import * as codeql from "./codeql";
 import { Config } from "./config-utils";
 import * as defaults from "./defaults.json";
+import { Env, ActionsEnvVars } from "./environment";
 import {
   CodeQLDefaultVersionInfo,
   Feature,
@@ -28,9 +30,11 @@ import {
 } from "./feature-flags";
 import { Logger } from "./logging";
 import { OverlayDatabaseMode } from "./overlay/overlay-database-mode";
+import { ActionName } from "./status-report";
 import {
   DEFAULT_DEBUG_ARTIFACT_NAME,
   DEFAULT_DEBUG_DATABASE_NAME,
+  getEnv,
   GitHubVariant,
   GitHubVersion,
   HTTPError,
@@ -173,6 +177,11 @@ export function makeMacro(
   return wrapper;
 }
 
+export function getTestEnv(): Env {
+  const testEnv: NodeJS.ProcessEnv = {};
+  return getEnv(testEnv);
+}
+
 /**
  * Gets an `ActionsEnv` instance for use in tests.
  */
@@ -182,6 +191,116 @@ export function getTestActionsEnv(): ActionsEnv {
   };
 }
 
+/** For testing purposes, we make all available state features accessible in `TestEnv`. */
+type AllState = ["Logger", "Env", "Actions", "FeatureFlags"];
+
+/** Initialise a fresh `ActionState` value. */
+export function initAllState(
+  overrides?: Partial>,
+): ActionState {
+  return {
+    name: ActionName.Init,
+    startedAt: new Date(),
+    logger: new RecordingLogger(),
+    env: getTestEnv(),
+    actions: getTestActionsEnv(),
+    features: createFeatures([]),
+    ...overrides,
+  };
+}
+
+/**
+ * Wraps a function that accepts an `ActionState` for testing in different environments.
+ */
+export class TestEnv<
+  Args extends readonly any[],
+  R,
+  Fs extends ReadonlyArray,
+> {
+  private readonly fn: (state: ActionState, ...args: Args) => R;
+  private args?: Args;
+  private logger: RecordingLogger;
+  private state: ActionState;
+
+  constructor(
+    fn: (state: ActionState, ...args: Args) => R,
+    cloneFrom?: TestEnv,
+  ) {
+    this.fn = fn;
+    this.args = cloneFrom?.args;
+    this.logger = new RecordingLogger();
+    this.state =
+      cloneFrom !== undefined
+        ? { ...cloneFrom.state, logger: this.logger }
+        : initAllState({ logger: this.logger });
+  }
+
+  private clone(): TestEnv {
+    return new TestEnv(this.fn, this);
+  }
+
+  public getLogger(): RecordingLogger {
+    return this.logger;
+  }
+
+  public getState(): ActionState {
+    return this.state;
+  }
+
+  public getArgs(): Args | undefined {
+    return this.args;
+  }
+
+  public withArgs(...args: Args) {
+    const result = this.clone();
+    result.args = args;
+    return result;
+  }
+
+  public withFeatures(enabled: Feature[]): TestEnv {
+    const result = this.clone();
+    result.state.features = createFeatures(enabled);
+    return result;
+  }
+
+  public withEnv(env: Env): TestEnv {
+    const result = this.clone();
+    result.state.env = env;
+    return result;
+  }
+
+  public withActions(actions: ActionsEnv): TestEnv {
+    const result = this.clone();
+    result.state.actions = actions;
+    return result;
+  }
+
+  call(): R {
+    if (!this.args) {
+      throw new Error("Trying to call function in TestEnv without arguments.");
+    }
+    return this.fn(this.state as unknown as ActionState, ...this.args);
+  }
+
+  public passes(
+    assertion: (makeCall: () => R) => T | Promise,
+  ): T | Promise {
+    return assertion(() => {
+      const result = this.call();
+      return result;
+    });
+  }
+}
+
+/** Utility function to construct a `TestEnv`. */
+export function callee<
+  Args extends readonly any[],
+  R,
+  Fs extends readonly StateFeature[],
+>(fn: (state: ActionState, ...args: Args) => R): TestEnv {
+  return new TestEnv(fn);
+}
+
 /**
  * Default values for environment variables typically set in an Actions
  * environment. Tests can override individual variables by passing them in the
@@ -201,7 +320,7 @@ export const DEFAULT_ACTIONS_VARS = {
   GITHUB_WORKFLOW: "test-workflow",
   RUNNER_NAME: "my-runner",
   RUNNER_OS: "Linux",
-} as const satisfies Record;
+} as const satisfies Partial>;
 
 /** Partial mappings from GitHub Actions environment variables to values. */
 export type ActionVarOverrides = Partial<
@@ -213,11 +332,15 @@ export type ActionVarOverrides = Partial<
  * excluding some that are expected to be set to paths. See `setupActionsVars`.
  *
  * @param overrides Overrides for the defaults.
+ * @param env The environment to set the variables for.
  */
-export function setupBaseActionsVars(overrides?: ActionVarOverrides) {
+export function setupBaseActionsVars(
+  overrides?: ActionVarOverrides,
+  env: Env = getEnv(),
+) {
   const vars = { ...DEFAULT_ACTIONS_VARS, ...overrides };
   for (const [key, value] of Object.entries(vars)) {
-    process.env[key] = value;
+    env.set(key, value);
   }
 }
 
diff --git a/src/upload-sarif-action.ts b/src/upload-sarif-action.ts
index bd190f031..214f3bf98 100644
--- a/src/upload-sarif-action.ts
+++ b/src/upload-sarif-action.ts
@@ -1,17 +1,17 @@
 import * as core from "@actions/core";
 
+import { Action, ActionState, runInActions } from "./action-common";
 import * as actionsUtil from "./actions-util";
 import { getActionVersion, getTemporaryDirectory } from "./actions-util";
 import * as analyses from "./analyses";
 import { getGitHubVersion } from "./api-client";
 import { initFeatures } from "./feature-flags";
-import { Logger, getActionsLogger } from "./logging";
+import { Logger } from "./logging";
 import { getRepositoryNwo } from "./repository";
 import { InvalidSarifUploadError } from "./sarif";
 import {
   createStatusReportBase,
   sendStatusReport,
-  sendUnhandledErrorStatusReport,
   StatusReportBase,
   getActionsStatus,
   ActionName,
@@ -23,7 +23,6 @@ import {
   ConfigurationError,
   checkActionVersion,
   checkDiskUsage,
-  getErrorMessage,
   initializeEnvironment,
   shouldSkipSarifUpload,
   wrapError,
@@ -55,12 +54,9 @@ async function sendSuccessStatusReport(
   }
 }
 
-async function run(startedAt: Date) {
+async function run({ startedAt, logger }: ActionState<["Logger"]>) {
   // To capture errors appropriately, keep as much code within the try-catch as
   // possible, and only use safe functions outside.
-
-  const logger = getActionsLogger();
-
   try {
     initializeEnvironment(getActionVersion());
 
@@ -165,20 +161,12 @@ async function run(startedAt: Date) {
   }
 }
 
+/** Defines the `upload-sarif` Action. */
+const uploadSarif: Action = {
+  name: ActionName.UploadSarif,
+  run,
+};
+
 export async function runWrapper() {
-  const startedAt = new Date();
-  const logger = getActionsLogger();
-  try {
-    await run(startedAt);
-  } catch (error) {
-    core.setFailed(
-      `codeql/upload-sarif action failed: ${getErrorMessage(error)}`,
-    );
-    await sendUnhandledErrorStatusReport(
-      ActionName.UploadSarif,
-      startedAt,
-      error,
-      logger,
-    );
-  }
+  await runInActions(uploadSarif);
 }
diff --git a/src/util.ts b/src/util.ts
index 4dc7df12c..2d910dec3 100644
--- a/src/util.ts
+++ b/src/util.ts
@@ -13,11 +13,14 @@ import * as apiCompatibility from "./api-compatibility.json";
 import type { CodeQL } from "./codeql";
 import type { Pack } from "./config/db-config";
 import type { Config } from "./config-utils";
-import { EnvVar } from "./environment";
+import { EnvVar, getRequiredEnvParam } from "./environment";
 import * as json from "./json";
 import { Language } from "./languages";
 import { Logger } from "./logging";
 
+// Re-export for backwards compatibility to avoid updating a lot of imports elsewhere.
+export { getRequiredEnvParam, getOptionalEnvVar, getEnv } from "./environment";
+
 /**
  * The name of the file containing the base database OIDs, as stored in the
  * root of the database location.
@@ -566,28 +569,6 @@ export function initializeEnvironment(version: string) {
   core.exportVariable(EnvVar.VERSION, version);
 }
 
-/**
- * Get an environment parameter, but throw an error if it is not set.
- */
-export function getRequiredEnvParam(paramName: string): string {
-  const value = process.env[paramName];
-  if (value === undefined || value.length === 0) {
-    throw new Error(`${paramName} environment variable must be set`);
-  }
-  return value;
-}
-
-/**
- * Get an environment variable, but return `undefined` if it is not set or empty.
- */
-export function getOptionalEnvVar(paramName: string): string | undefined {
-  const value = process.env[paramName];
-  if (value?.trim().length === 0) {
-    return undefined;
-  }
-  return value;
-}
-
 export class HTTPError extends Error {
   public status: number;
 
@@ -628,7 +609,13 @@ export function getBaseDatabaseOidsFilePath(config: Config): string {
   return path.join(config.dbLocation, BASE_DATABASE_OIDS_FILE_NAME);
 }
 
-// Create a bundle for the given DB, if it doesn't already exist
+/**
+ * Bundles the database for the given language into a `.zip` file, returning the path to it.
+ *
+ * If a bundle for `dbName` already exists (e.g. from an earlier call), it is deleted and
+ * re-created, so each call produces a fresh bundle reflecting the current database contents and the
+ * given `includeDiagnostics` value.
+ */
 export async function bundleDb(
   config: Config,
   language: Language,