├── .actrc ├── .gitignore ├── bun.lockb ├── .vscode ├── extensions.json └── settings.json ├── templates ├── src │ ├── config.ts │ ├── index.ts │ └── utils.ts ├── package.json └── tsconfig.json ├── src ├── config.ts ├── index.ts └── utils.ts ├── .editorconfig ├── eslint.config.mjs ├── tsconfig.json ├── lefthook.yml ├── action.yml ├── LICENSE ├── package.json ├── scripts └── build.sh ├── .github └── workflows │ ├── update-main-version.yml │ └── ci.yaml ├── bun └── action.yml ├── README.zh.md ├── README.md └── dist └── bun.js /.actrc: -------------------------------------------------------------------------------- 1 | --pull=false 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | .history 3 | node_modules 4 | -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliuq/script-action/master/bun.lockb -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "sanjulaganepola.github-local-actions" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /templates/src/config.ts: -------------------------------------------------------------------------------- 1 | import process from 'node:process' 2 | import * as core from '@actions/core' 3 | 4 | /** 5 | * 是否为调试模式 6 | */ 7 | export const isDebug = core.getInput('debug', { required: false }) === 'true' || core.isDebug() 8 | -------------------------------------------------------------------------------- /templates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "app", 3 | "type": "module", 4 | "version": "0.0.0", 5 | "private": true, 6 | "description": "", 7 | "main": "index.js", 8 | "scripts": { 9 | "test": "echo \"Error: no test specified\" && exit 1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- 1 | import process from 'node:process' 2 | import * as core from '@actions/core' 3 | 4 | export const isAct = process.env.ACT === 'true' 5 | 6 | /** 7 | * 是否为调试模式 8 | */ 9 | export const isDebug = core.getInput('debug', { required: false }) === 'true' || core.isDebug() 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = true 13 | -------------------------------------------------------------------------------- /templates/src/index.ts: -------------------------------------------------------------------------------- 1 | import * as core from '@actions/core' 2 | import * as exec from '@actions/exec' 3 | import { createLogger, output, outputJson, execCommand } from './utils.js' 4 | {{#if bun }} 5 | import Bun from 'bun' 6 | import { $ } from 'bun' 7 | {{else if zx}} 8 | import 'zx/globals' 9 | {{/if}} 10 | 11 | {{{ script }}} 12 | -------------------------------------------------------------------------------- /templates/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "rootDir": "./src", 5 | "module": "NodeNext", 6 | "moduleResolution": "nodenext", 7 | "strict": true, 8 | "esModuleInterop": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "skipLibCheck": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import antfu from '@antfu/eslint-config' 2 | 3 | export default antfu( 4 | { 5 | type: 'lib', 6 | typescript: true, 7 | jsonc: true, 8 | yaml: true, 9 | javascript: true, 10 | ignores: ['dist', 'node_modules', '.history', 'templates'], 11 | }, 12 | { 13 | rules: { 14 | 'antfu/no-top-level-await': 'off', 15 | 'ts/explicit-function-return-type': 'off', 16 | }, 17 | }, 18 | ) 19 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "rootDir": "./src", 5 | "module": "NodeNext", 6 | "moduleResolution": "nodenext", 7 | "strict": true, 8 | "outDir": "./dist", 9 | "esModuleInterop": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "skipLibCheck": true 12 | }, 13 | "include": [ 14 | "src/**/*" 15 | ], 16 | "exclude": [ 17 | "node_modules", 18 | "dist", 19 | "templates" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /lefthook.yml: -------------------------------------------------------------------------------- 1 | # EXAMPLE USAGE: 2 | # 3 | # Refer for explanation to following link: 4 | # https://github.com/evilmartians/lefthook/blob/master/docs/configuration.md 5 | # 6 | pre-commit: 7 | parallel: true 8 | commands: 9 | lint: 10 | run: bunx eslint {staged_files} --fix 11 | exclude: 'dist/*' 12 | stage_fixed: true 13 | # test: 14 | # glob: '.github/workflows/*.{yml,yaml}' 15 | # run: act -W .github/workflows/test-runner-2.yaml -p=false workflow_dispatch 16 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: Execute Typescript Script(esm) 2 | author: AliuQ 3 | description: Execute scripts with `bun` or `tsx`, supporting ESM modules and google/zx 4 | inputs: 5 | debug: 6 | description: Debug mode 7 | required: false 8 | default: 'false' 9 | script: 10 | description: Script content 11 | required: true 12 | packages: 13 | description: Install packages before running script 14 | required: false 15 | default: '' 16 | bun: 17 | description: Run script with bun 18 | required: false 19 | default: 'true' 20 | auto_install: 21 | description: Auto install packages, only works with `bun`, If set, `packages` will be ignored 22 | required: false 23 | default: 'false' 24 | zx: 25 | description: Support using google/zx library, only works when `bun` is `false` 26 | required: false 27 | default: 'true' 28 | 29 | runs: 30 | using: node20 31 | main: dist/index.js 32 | 33 | branding: 34 | icon: code 35 | color: blue 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 AliuQ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "script-action", 3 | "type": "module", 4 | "version": "1.0.5", 5 | "description": "GitHub Action for executing TypeScript/JavaScript scripts in workflows", 6 | "author": "AliuQ", 7 | "license": "MIT", 8 | "keywords": [ 9 | "github", 10 | "action", 11 | "typescript", 12 | "bun", 13 | "tsx" 14 | ], 15 | "main": "dist/index.js", 16 | "engines": { 17 | "node": ">=20" 18 | }, 19 | "scripts": { 20 | "dev": "bash scripts/build.sh watch", 21 | "build": "bash scripts/build.sh", 22 | "lint": "eslint .", 23 | "changelog": "bunx changelogithub", 24 | "bumpp": "bunx bumpp@9.9.2 --push --tag --commit --all", 25 | "release": "bun run build && bun run bumpp && bun run changelog" 26 | }, 27 | "devDependencies": { 28 | "@actions/core": "^1.11.1", 29 | "@actions/exec": "^1.1.1", 30 | "@actions/github": "^6.0.0", 31 | "@antfu/eslint-config": "^3.12.1", 32 | "@types/bun": "latest", 33 | "@types/node": "^20.17.10", 34 | "eslint": "^9.17.0", 35 | "handlebars": "^4.7.8", 36 | "kolorist": "^1.8.0", 37 | "lefthook": "^1.10.1", 38 | "typescript": "^5.7.2", 39 | "unbuild": "^3.0.1" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 构建配置 4 | COMMON_BUILD_OPTS=( 5 | --outdir ./dist 6 | --format esm 7 | --sourcemap=linked 8 | ) 9 | 10 | # 模板文件列表 11 | TEMPLATES=( 12 | "package.json" 13 | "tsconfig.json" 14 | "src/config.ts" 15 | "src/utils.ts" 16 | "src/index.ts" 17 | ) 18 | 19 | # 生成模板定义参数 20 | generate_template_defines() { 21 | for template in "${TEMPLATES[@]}"; do 22 | local var_name="TPL_$(echo ${template} | tr '/.-' '_' | tr '[:lower:]' '[:upper:]')" 23 | echo "--define \"${var_name}='$(cat templates/${template} | base64 -w 0)'\"" 24 | done 25 | } 26 | 27 | # 执行构建 28 | build() { 29 | local target=$1 30 | local extra_opts=$2 31 | 32 | echo -e "#Building for ${target}...\n" 33 | 34 | # 组合所有构建参数 35 | local cmd="bun build ./src/index.ts ${COMMON_BUILD_OPTS[*]}" 36 | cmd+=" --target $target" 37 | cmd+=" --define \"MY_BUILD_MODE='$target'\"" 38 | cmd+=" $extra_opts" 39 | 40 | echo $cmd 41 | 42 | cmd+=" $(generate_template_defines)" 43 | 44 | eval $cmd 45 | } 46 | 47 | # 检查并执行构建 48 | if [ "$1" = "watch" ]; then 49 | build "node" "--watch" 50 | else 51 | build "node" "--minify" 52 | echo 53 | build "bun" "--minify --entry-naming \"[dir]/bun.[ext]\"" 54 | fi 55 | -------------------------------------------------------------------------------- /.github/workflows/update-main-version.yml: -------------------------------------------------------------------------------- 1 | name: Update Main Version 2 | run-name: Move ${{ github.event.inputs.major_version }} to ${{ github.event.inputs.target }} 3 | 4 | on: 5 | workflow_dispatch: 6 | inputs: 7 | target: 8 | description: The tag or reference to use 9 | required: true 10 | major_version: 11 | type: choice 12 | description: The major version to update 13 | options: 14 | - v1 15 | 16 | jobs: 17 | tag: 18 | runs-on: ubuntu-latest 19 | steps: 20 | # Note this update workflow can also be used as a rollback tool. 21 | # For that reason, it's best to pin `actions/checkout` to a known, stable version 22 | # (typically, about two releases back). 23 | - uses: actions/checkout@v4 24 | with: 25 | fetch-depth: 0 26 | - name: Git config 27 | run: | 28 | git config user.name "github-actions[bot]" 29 | git config user.email "41898282+github-actions[bot]@users.noreply.github.com" 30 | - name: Tag new target 31 | run: git tag -f ${{ github.event.inputs.major_version }} ${{ github.event.inputs.target }} 32 | - name: Push new tag 33 | run: git push origin ${{ github.event.inputs.major_version }} --force 34 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "prettier.enable": false, 3 | "editor.formatOnSave": false, 4 | "editor.codeActionsOnSave": { 5 | "source.fixAll.eslint": "explicit", 6 | "source.organizeImports": "never" 7 | }, 8 | "eslint.rules.customizations": [ 9 | { "rule": "style/*", "severity": "off", "fixable": true }, 10 | { "rule": "format/*", "severity": "off", "fixable": true }, 11 | { "rule": "*-indent", "severity": "off", "fixable": true }, 12 | { "rule": "*-spacing", "severity": "off", "fixable": true }, 13 | { "rule": "*-spaces", "severity": "off", "fixable": true }, 14 | { "rule": "*-order", "severity": "off", "fixable": true }, 15 | { "rule": "*-dangle", "severity": "off", "fixable": true }, 16 | { "rule": "*-newline", "severity": "off", "fixable": true }, 17 | { "rule": "*quotes", "severity": "off", "fixable": true }, 18 | { "rule": "*semi", "severity": "off", "fixable": true } 19 | ], 20 | // Enable eslint for all supported languages 21 | "eslint.validate": [ 22 | "javascript", 23 | "javascriptreact", 24 | "typescript", 25 | "typescriptreact", 26 | "vue", 27 | "html", 28 | "markdown", 29 | "json", 30 | "jsonc", 31 | "yaml", 32 | "toml", 33 | "xml", 34 | "gql", 35 | "graphql", 36 | "astro", 37 | "svelte", 38 | "css", 39 | "less", 40 | "scss", 41 | "pcss", 42 | "postcss" 43 | ], 44 | "cSpell.words": [ 45 | "bunx", 46 | "changelogithub", 47 | "mdast", 48 | "zxvf" 49 | ], 50 | "files.associations": { 51 | "**/templates/**/*.ts": "html" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /templates/src/utils.ts: -------------------------------------------------------------------------------- 1 | import * as core from '@actions/core' 2 | import * as exec from '@actions/exec' 3 | import { isDebug } from './config.js' 4 | 5 | /** 6 | * Execute a command and return the output 7 | */ 8 | export async function execCommand(command: string, args?: string[], options?: exec.ExecOptions): Promise { 9 | let output = '' 10 | let error = '' 11 | const cmd = command + (args ? ` ${args.join(' ')}` : '') 12 | try { 13 | await exec.exec(command, args, { 14 | listeners: { 15 | stdout: (data: Buffer) => { 16 | output += data.toString() 17 | }, 18 | stderr: (data) => { 19 | error += data.toString() 20 | }, 21 | }, 22 | silent: !isDebug, 23 | ...options, 24 | }) 25 | return output?.trim?.() 26 | } 27 | catch (e: any) { 28 | if (error) { 29 | core.warning(error) 30 | } 31 | core.warning(`${e.message}, Failed to execute command: ${cmd}`) 32 | return '' 33 | } 34 | } 35 | 36 | /** 37 | * Create a log logger 38 | * @param ns namespace 39 | * @returns 40 | */ 41 | export function createLogger(ns: string) { 42 | return (msg: string) => core.info(`#${ns}: ${msg}`) 43 | } 44 | 45 | /** 46 | * Set the output value 47 | * @param key 48 | * @param value 49 | */ 50 | export function output(key: string, value: any) { 51 | core.setOutput(key, value) 52 | } 53 | 54 | /** 55 | * Set the output value from an object 56 | * @param obj 57 | */ 58 | export function outputJson(obj: Record) { 59 | Object.entries(obj).forEach(([key, value]) => output(key, value)) 60 | } 61 | -------------------------------------------------------------------------------- /bun/action.yml: -------------------------------------------------------------------------------- 1 | name: Execute Typescript Script(esm) 2 | author: AliuQ 3 | description: Execute scripts with `bun` or `tsx`, supporting ESM modules and google/zx 4 | inputs: 5 | debug: 6 | description: Debug mode 7 | required: false 8 | default: 'false' 9 | script: 10 | description: Script content 11 | required: true 12 | packages: 13 | description: Install packages before running script 14 | required: false 15 | default: '' 16 | auto_install: 17 | description: Auto install packages, only works with `bun`, If set, `packages` will be ignored 18 | required: false 19 | default: 'false' 20 | 21 | # https://github.com/oven-sh/setup-bun 22 | bun-version: 23 | description: The version of Bun to download and install. 24 | required: false 25 | default: 1.1.42 26 | bun-version-file: 27 | description: The version of Bun to download and install from file. 28 | required: false 29 | bun-download-url: 30 | description: URL to download .zip file for Bun release 31 | required: false 32 | registry-url: 33 | description: Registry URL where some private package is stored. 34 | required: false 35 | scope: 36 | description: Scope for private packages. 37 | required: false 38 | 39 | runs: 40 | using: composite 41 | steps: 42 | - name: Checkout 43 | uses: actions/checkout@v4 44 | 45 | - uses: oven-sh/setup-bun@v2 46 | with: 47 | bun-version: ${{ inputs.bun-version }} 48 | bun-version-file: ${{ inputs.bun-version-file }} 49 | bun-download-url: ${{ inputs.bun-download-url }} 50 | registry-url: ${{ inputs.registry-url }} 51 | scope: ${{ inputs.scope }} 52 | 53 | - name: Entry 54 | shell: bash 55 | run: bun run ./dist/bun.js 56 | env: 57 | INPUT_DEBUG: ${{ inputs.debug }} 58 | INPUT_SCRIPT: ${{ inputs.script }} 59 | INPUT_PACKAGES: ${{ inputs.packages }} 60 | INPUT_AUTO_INSTALL: ${{ inputs.auto_install }} 61 | 62 | branding: 63 | icon: code 64 | color: blue 65 | -------------------------------------------------------------------------------- /README.zh.md: -------------------------------------------------------------------------------- 1 | # Script Action 2 | 3 | 一个强大的 GitHub Action,用于在工作流中执行 TypeScript/JavaScript 脚本。支持多运行时(Bun/TSX)、ESM 模块和 ZX 语法。 4 | 5 | ## ✨ 特性 6 | 7 | - 🚀 双运行时支持:可选择使用 Bun 或 TSX 执行脚本 8 | - 📦 智能包管理:支持手动指定或自动安装依赖 9 | - 🔧 ESM 原生支持:完整支持 ES 模块语法 10 | - ⚡ ZX 集成:在非 Bun 模式下支持 Google ZX 语法 11 | - 🌈 跨平台:支持 Windows、macOS 和 Linux 12 | 13 | ## 🚀 快速开始 14 | 15 | ### 基础使用 16 | 17 | ```yaml 18 | - name: Script Action 19 | uses: aliuq/script-action@v1 20 | with: 21 | script: | 22 | console.log('This is a basic message') 23 | ``` 24 | 25 | ### Bun 模式 26 | 27 | ```yaml 28 | - name: Run with Bun 29 | uses: aliuq/script-action@v1 30 | with: 31 | bun: true 32 | script: | 33 | const response = await fetch('https://api.github.com') 34 | console.log(await response.json()) 35 | ``` 36 | 37 | ### 自动安装依赖 38 | 39 | ```yaml 40 | - name: Auto install dependencies 41 | uses: aliuq/script-action@v1 42 | with: 43 | bun: true 44 | auto_install: true 45 | script: | 46 | import { Octokit } from 'octokit' 47 | const octokit = new Octokit() 48 | const { data } = await octokit.rest.repos.get({ 49 | owner: 'aliuq', 50 | repo: 'script-action' 51 | }) 52 | console.log(data) 53 | ``` 54 | 55 | ### 使用 ZX 语法 56 | 57 | ```yaml 58 | - name: Use ZX syntax 59 | uses: aliuq/script-action@v1 60 | with: 61 | bun: false 62 | zx: true 63 | script: | 64 | await $`ls -la` 65 | const files = await glob('**/*.ts') 66 | console.log('TypeScript files:', files) 67 | ``` 68 | 69 | ### 输出变量 70 | 71 | 使用 `output` 函数输出变量: 72 | 73 | ```yaml 74 | - name: Output variables 75 | id: script 76 | uses: aliuq/script-action@v1 77 | with: 78 | script: | 79 | output('key', 'value') 80 | ``` 81 | 82 | ## 输入参数 83 | 84 | | 参数 | 描述 | 必填 | 默认值 | 85 | |------|------|------|--------| 86 | | `script` | 脚本内容 | 是 | - | 87 | | `packages` | 需要安装的额外 npm 包 | 否 | - | 88 | | `bun` | 是否使用 bun 执行脚本 | 否 | "true" | 89 | | `auto_install` | 自动下载依赖包(仅在 bun 模式下有效) | 否 | "false" | 90 | | `zx` | 启用 google/zx 语法(仅在非 bun 模式下有效) | 否 | "true" | 91 | | `debug` | 是否打印调试日志 | 否 | "false" | 92 | 93 | ## 运行环境 94 | 95 | - Node.js 环境:使用 tsx + @actions/core + zx(当 bun=false) 96 | - Bun 环境:使用 bun + @actions/core(当 bun=true) 97 | 98 | ## 完整示例 99 | 100 | 更多使用示例请参考 [.github/workflows/ci.yaml](.github/workflows/ci.yaml)。 101 | 102 | ## 许可证 103 | 104 | MIT License 105 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Script Action 2 | 3 | A powerful GitHub Action for executing TypeScript/JavaScript scripts in workflows. Supports multiple runtimes (Bun/TSX), ESM modules, and ZX syntax. 4 | 5 | ## ✨ Features 6 | 7 | - 🚀 Dual Runtime Support: Execute scripts using either Bun or TSX 8 | - 📦 Smart Package Management: Support for both manual specification and automatic dependency installation 9 | - 🔧 ESM Native Support: Full ES modules syntax compatibility 10 | - ⚡ ZX Integration: Google ZX syntax support in non-Bun mode 11 | - 🌈 Cross-platform: Windows, macOS and Linux support 12 | 13 | ## 🚀 Quick Start 14 | 15 | ### Basic Usage 16 | 17 | ```yaml 18 | - name: Script Action 19 | uses: aliuq/script-action@v1 20 | with: 21 | script: | 22 | console.log('This is a basic message') 23 | ``` 24 | 25 | ### Bun Mode 26 | 27 | ```yaml 28 | - name: Run with Bun 29 | uses: aliuq/script-action@v1 30 | with: 31 | bun: true 32 | script: | 33 | const response = await fetch('https://api.github.com') 34 | console.log(await response.json()) 35 | ``` 36 | 37 | ### Auto Install Dependencies 38 | 39 | ```yaml 40 | - name: Auto install dependencies 41 | uses: aliuq/script-action@v1 42 | with: 43 | bun: true 44 | auto_install: true 45 | script: | 46 | import { Octokit } from 'octokit' 47 | const octokit = new Octokit() 48 | const { data } = await octokit.rest.repos.get({ 49 | owner: 'aliuq', 50 | repo: 'script-action' 51 | }) 52 | console.log(data) 53 | ``` 54 | 55 | ### Using ZX Syntax 56 | 57 | ```yaml 58 | - name: Use ZX syntax 59 | uses: aliuq/script-action@v1 60 | with: 61 | bun: false 62 | zx: true 63 | script: | 64 | await $`ls -la` 65 | const files = await glob('**/*.ts') 66 | console.log('TypeScript files:', files) 67 | ``` 68 | 69 | ### Output Variables 70 | 71 | Use the `output` function to set output variables: 72 | 73 | ```yaml 74 | - name: Output variables 75 | id: script 76 | uses: aliuq/script-action@v1 77 | with: 78 | script: | 79 | output('key', 'value') 80 | ``` 81 | 82 | ## Input Parameters 83 | 84 | | Parameter | Description | Required | Default | 85 | |-----------|-------------|:--------:|:-------:| 86 | | `script` | Script content to execute | Yes | - | 87 | | `packages` | Additional npm packages to install | No | - | 88 | | `bun` | Use Bun runtime | No | "true" | 89 | | `auto_install` | Auto install dependencies (Bun mode only) | No | "false" | 90 | | `zx` | Enable Google/ZX syntax (non-Bun mode only) | No | "true" | 91 | | `debug` | Enable debug logging | No | "false" | 92 | 93 | ## Runtime Environment 94 | 95 | - Node.js: Using tsx + @actions/core + zx (when bun=false) 96 | - Bun: Using bun + @actions/core (when bun=true) 97 | 98 | ## Complete Examples 99 | 100 | For more usage examples, please refer to [.github/workflows/ci.yaml](.github/workflows/ci.yaml). 101 | 102 | ## License 103 | 104 | MIT License 105 | 106 | [中文文档](README.zh.md) 107 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - 'dist/**' 9 | workflow_dispatch: 10 | inputs: 11 | debug: 12 | description: Enable debug mode 13 | type: boolean 14 | required: false 15 | default: false 16 | 17 | jobs: 18 | basic-tests: 19 | name: Basic Functionality Tests (${{ matrix.os }}-${{ matrix.mode }}) 20 | runs-on: ${{ matrix.os }} 21 | strategy: 22 | matrix: 23 | os: [ubuntu-latest, windows-latest, macos-latest] 24 | mode: [bun, tsx] 25 | steps: 26 | - uses: actions/checkout@v4 27 | 28 | - name: Basic Output Test 29 | uses: ./ 30 | with: 31 | bun: ${{ matrix.mode == 'bun' }} 32 | debug: ${{ inputs.debug }} 33 | script: | 34 | console.log('Hello from Script Action!') 35 | if (${{ matrix.mode == 'bun' }}) { 36 | console.log('UUID', Bun.randomUUIDv7()) 37 | } 38 | console.log('Current mode:', process.env.BUN ? 'bun' : 'tsx') 39 | 40 | - name: Environment Variable Test 41 | uses: ./ 42 | env: 43 | TEST_VAR: test-value 44 | with: 45 | bun: ${{ matrix.mode == 'bun' }} 46 | script: | 47 | console.log('Environment variable:', process.env.TEST_VAR) 48 | 49 | package-management: 50 | name: Package Management Tests (${{ matrix.os }}) 51 | runs-on: ${{ matrix.os }} 52 | strategy: 53 | matrix: 54 | os: [ubuntu-latest, windows-latest, macos-latest] 55 | steps: 56 | - uses: actions/checkout@v4 57 | 58 | - name: Manual Package Installation Test 59 | uses: ./ 60 | with: 61 | packages: axios dayjs 62 | script: | 63 | import axios from 'axios' 64 | import dayjs from 'dayjs' 65 | 66 | const date = dayjs().format('YYYY-MM-DD') 67 | try { 68 | const { data } = await axios.get('https://api.github.com/zen') 69 | console.log(`${date}: ${ data }`) 70 | } catch (error) { 71 | if (axios.isAxiosError(error)) { 72 | console.error('Error:', error.message, error.response?.data) 73 | } else { 74 | console.error('Unexpected error:', error) 75 | } 76 | } 77 | 78 | - name: Automatic Package Installation Test 79 | uses: ./ 80 | with: 81 | bun: true 82 | auto_install: true 83 | script: | 84 | import { Octokit } from '@octokit/rest' 85 | const octokit = new Octokit() 86 | const { data } = await octokit.rest.rateLimit.get() 87 | console.log('API Rate Limit:', data.rate) 88 | 89 | zx-features: 90 | name: ZX Syntax Tests (${{ matrix.os }}) 91 | runs-on: ${{ matrix.os }} 92 | strategy: 93 | matrix: 94 | os: [ubuntu-latest, windows-latest, macos-latest] 95 | steps: 96 | - uses: actions/checkout@v4 97 | 98 | - name: ZX Command Execution Test - bun 99 | uses: ./ 100 | with: 101 | bun: true 102 | script: | 103 | // Execute system commands - using platform agnostic commands 104 | await $`echo "Current directory:"` 105 | await $`pwd` 106 | 107 | // Use glob with error handling 108 | try { 109 | const glob = new Bun.Glob('src/*.ts') 110 | const tsFiles = Array.from(glob.scanSync('.')) 111 | console.log('TypeScript files:', tsFiles) 112 | } catch (error) { 113 | console.warn('Glob operation failed:', error) 114 | } 115 | 116 | // Use fetch (cross-platform compatible) 117 | const response = await fetch('https://api.github.com/zen') 118 | console.log('GitHub Zen:', await response.text()) 119 | 120 | - name: ZX Command Execution Test - tsx 121 | uses: ./ 122 | with: 123 | bun: false 124 | zx: true 125 | script: | 126 | // Execute system commands - using platform agnostic commands 127 | echo('Current directory:') 128 | const res1 = await $`pwd`.text() 129 | echo(res1) 130 | 131 | // Use glob with error handling 132 | try { 133 | const tsFiles = await glob('src/*.ts') 134 | console.log('TypeScript files:', tsFiles) 135 | } catch (error) { 136 | console.warn('Glob operation failed:', error) 137 | } 138 | 139 | // Use fetch (cross-platform compatible) 140 | const response = await fetch('https://api.github.com/zen') 141 | console.log('GitHub Zen:', await response.text()) 142 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import type * as exec from '@actions/exec' 2 | import fs from 'node:fs/promises' 3 | import path from 'node:path' 4 | import process from 'node:process' 5 | import * as core from '@actions/core' 6 | import { cyan, green, yellow } from 'kolorist' 7 | import { isDebug } from './config.js' 8 | import { execCommand, exist, installBun, logDebug, renderTemplates, tmpdir, writeTemplates } from './utils.js' 9 | 10 | async function run(): Promise { 11 | try { 12 | // Check if the action environment is `nodejs`, otherwise it's `composite` 13 | // @ts-expect-error MY_BUILD_MODE is a custom environment variable 14 | const buildMode = MY_BUILD_MODE 15 | 16 | const isBuildNode = buildMode === 'node' 17 | const script = core.getInput('script', { required: true }) 18 | const packages = core.getMultilineInput('packages', { required: false }) || '' 19 | const autoInstall = core.getInput('auto_install', { required: false }) === 'true' 20 | // const silent = core.getInput('silent', { required: false }) === 'true' 21 | 22 | const enableBun = isBuildNode ? core.getInput('bun', { required: false }) === 'true' : true 23 | const enableZx = isBuildNode ? core.getInput('zx', { required: false }) === 'true' : false 24 | 25 | logDebug(`Mode(node/bun): ${isBuildNode ? green('node') : green('bun')}`) 26 | let bunFile: string = 'bun' 27 | 28 | if (enableBun) { 29 | isBuildNode && (bunFile = await installBun()) 30 | logDebug(`Runner: ${green('bun')} with bin ${cyan(bunFile)}`) 31 | // Set environment variable for bun, process.env.BUN is true 32 | process.env.BUN = 'true' 33 | } 34 | else { 35 | logDebug(`Runner: ${green('tsx')}`) 36 | } 37 | 38 | const tmpDir = await tmpdir() 39 | const moduleDir = path.join(tmpDir, 'node_modules') 40 | const mainFile = path.join(tmpDir, 'src', 'index.ts') 41 | logDebug(`Directory: ${cyan(tmpDir)}`) 42 | 43 | // const normalizePath = (p: string) => p.split(path.sep).join('/') 44 | const execRun = async (command: string, args?: string[], options?: exec.ExecOptions): Promise => { 45 | return await execCommand(command, args, { cwd: tmpDir, ...options }) 46 | } 47 | 48 | // Handle auto install 49 | if (enableBun && autoInstall) { 50 | logDebug(`auto_install is enabled, deleting node_modules(${yellow(moduleDir)}) directory`) 51 | // Only deleting the `node_modules` directory can ensure triggering bun's automatic installation 52 | await exist(moduleDir) && await fs.rm(moduleDir, { recursive: true }) 53 | } 54 | else { 55 | // Handle packages 56 | // e.g. packages: zod, axios, typescript zx 57 | const defaultPackages = ['@actions/core', '@actions/exec'] 58 | !enableBun && defaultPackages.push('tsx', 'zx') 59 | const newPackages = [ 60 | ...(packages?.length === 1 ? packages[0].split(/[,\s]+/g) : packages), 61 | ...defaultPackages, 62 | ] 63 | if (newPackages?.length) { 64 | const installer = enableBun ? bunFile : 'npm' 65 | logDebug(`Use ${cyan(installer)} to install packages ${cyan(newPackages.join(', '))}`) 66 | const execResult = await execRun(installer, ['install', ...newPackages], { silent: true }) 67 | isDebug && await core.group('Install Packages', async () => core.info(execResult)) 68 | } 69 | else { 70 | logDebug(yellow('No packages need to install')) 71 | } 72 | } 73 | 74 | // Handle script 75 | const newScript = script 76 | // Replace ^# to // 77 | .replace(/^#/gm, '//') 78 | 79 | await core.group('Input Script', async () => core.info(newScript)) 80 | 81 | const tplPath = await writeTemplates() 82 | isDebug && core.startGroup('Templates') 83 | await renderTemplates(tplPath, tmpDir, { script: newScript, bun: enableBun, zx: enableZx }) 84 | isDebug && core.endGroup() 85 | 86 | await core.group('Output Script', async () => core.info(await fs.readFile(mainFile, 'utf-8'))) 87 | 88 | // Print the important message 89 | core.info(yellow('!!! Please note that the current working directory is the temporary directory, not the Github workspace directory !!!')) 90 | core.info(`Current work directory: ${cyan(tmpDir)}`) 91 | core.info(`Github workspace directory: ${cyan(process.cwd())}`) 92 | core.info(`If you want to use the workspace directory, please use the environment variable: ${cyan('process.env.GITHUB_WORKSPACE')}`) 93 | core.info('') 94 | 95 | // Run script 96 | if (enableBun) { 97 | await execRun(`${bunFile} run -i ${mainFile}`, [], { silent: false }) 98 | } 99 | else { 100 | const tsxCli = path.join(moduleDir, 'tsx', 'dist', 'cli.mjs') 101 | const nodePath = process.execPath // 获取 node 可执行文件路径 102 | 103 | if (!(await exist(tsxCli))) { 104 | core.setFailed(`tsx CLI not found at: ${tsxCli}`) 105 | return 106 | } 107 | await execRun(nodePath, [tsxCli, mainFile], { silent: false }) 108 | } 109 | 110 | core.setOutput('status', 'success') 111 | } 112 | catch (error) { 113 | if (error instanceof Error) { 114 | core.setFailed(error.message) 115 | } 116 | else { 117 | core.setFailed('An unexpected error occurred') 118 | } 119 | } 120 | } 121 | 122 | run() 123 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import type { PathLike } from 'node:fs' 2 | import { Buffer } from 'node:buffer' 3 | import fs from 'node:fs/promises' 4 | import { homedir } from 'node:os' 5 | import path from 'node:path' 6 | import process from 'node:process' 7 | import * as core from '@actions/core' 8 | import * as exec from '@actions/exec' 9 | import handlebars from 'handlebars' 10 | import { cyan } from 'kolorist' 11 | import { isDebug } from './config.js' 12 | 13 | /** 14 | * Log debug message 15 | */ 16 | export function logDebug(msg: string): void { 17 | isDebug && core.info(msg) 18 | } 19 | 20 | /** 21 | * Execute a command and return the output 22 | */ 23 | export async function execCommand(command: string, args?: string[], options?: exec.ExecOptions): Promise { 24 | let output = '' 25 | let error = '' 26 | const cmd = command + (args ? ` ${args.join(' ')}` : '') 27 | try { 28 | await exec.exec(command, args, { 29 | listeners: { 30 | stdout: (data: Buffer) => { 31 | output += data.toString() 32 | }, 33 | stderr: (data) => { 34 | error += data.toString() 35 | }, 36 | }, 37 | silent: !isDebug, 38 | ...options, 39 | }) 40 | return output?.trim?.() 41 | } 42 | catch (e: any) { 43 | if (error) { 44 | core.warning(error) 45 | } 46 | core.warning(`${e.message}, Failed to execute command: ${cmd}`) 47 | return '' 48 | } 49 | } 50 | 51 | /** 52 | * Create a logger 53 | * @param ns namespace 54 | */ 55 | export function createLogger(ns: string) { 56 | return (msg: string) => core.info(`#${ns}: ${msg}`) 57 | } 58 | 59 | /** 60 | * Install bun from official site or local file 61 | * OS: win32 | linux | darwin 62 | */ 63 | export async function installBun(): Promise { 64 | isDebug && core.startGroup('Install Bun') 65 | const startTime = performance.now() 66 | // win32 | linux | darwin 67 | const os = process.platform.toLowerCase() 68 | const arch = process.arch.toLowerCase() 69 | const isWin = os === 'win32' 70 | logDebug(`System: ${cyan(os)} ${cyan(arch)}`) 71 | 72 | // According to the official website, the installation directory is `~/.bun` 73 | // ~/.bun/bin/bun or C:\Users\runneradmin\.bun\bin\bun.exe 74 | const installDir = path.join(process.env.BUN_INSTALL || homedir(), '.bun') 75 | const binDir = path.join(installDir, 'bin') 76 | const bunFile = path.join(binDir, 'bun') 77 | 78 | logDebug(`Set Bun install directory: ${cyan(bunFile)}`) 79 | 80 | if (!isWin) { 81 | logDebug(`Install from shell script `) 82 | await execCommand('curl -fsSL https://bun.sh/install -o /tmp/bun-install.sh') 83 | await execCommand('bash /tmp/bun-install.sh') 84 | } 85 | else { 86 | logDebug(`Install from shell script `) 87 | await execCommand('powershell -c "irm bun.sh/install.ps1 | iex"') 88 | } 89 | 90 | const version = await exec.getExecOutput(`${bunFile} --version`, [], { silent: true }) 91 | logDebug(`Bun version: ${cyan(version.stdout.trim())}`) 92 | logDebug(`Spend Time: ${cyan(performance.now() - startTime)}ms`) 93 | isDebug && core.endGroup() 94 | 95 | return bunFile 96 | } 97 | 98 | /** 99 | * Render templates 100 | * @param templateRoot template root directory 101 | * @param destRoot destination root directory 102 | * @param answers answers 103 | */ 104 | export async function renderTemplates( 105 | templateRoot: string, 106 | destRoot: string, 107 | answers: Record, 108 | ): Promise { 109 | const existTplRoot = await exist(templateRoot) 110 | if (!existTplRoot) { 111 | core.setFailed(`Template directory ${templateRoot} not found`) 112 | return 113 | } 114 | 115 | const existDestRoot = await exist(destRoot) 116 | if (!existDestRoot) { 117 | await fs.mkdir(destRoot, { recursive: true }) 118 | } 119 | 120 | // read all file names in templateRoot 121 | const files = await fs.readdir(templateRoot) 122 | 123 | for await (const fileName of files) { 124 | const templatePath = path.resolve(templateRoot, fileName) 125 | const destPath = path.resolve(destRoot, fileName) 126 | 127 | // judge if file is folder 128 | const isDir = (await fs.stat(templatePath)).isDirectory() 129 | if (isDir) { 130 | // clone recursively 131 | await renderTemplates(templatePath, destPath, answers) 132 | } 133 | else { 134 | // read template file 135 | const templateContent = await fs.readFile(templatePath, 'utf-8') 136 | const content = handlebars.compile(templateContent)(answers) 137 | // write to dest file 138 | await fs.writeFile(destPath, content, 'utf-8') 139 | logDebug(`Render ${cyan(templatePath)} to ${cyan(destPath)}`) 140 | } 141 | } 142 | } 143 | 144 | /** 145 | * Write templates to a temporary directory 146 | * @returns directory path 147 | */ 148 | export async function writeTemplates(): Promise { 149 | const tplDir = await tmpdir('templates') 150 | const srcDir = path.join(tplDir, 'src') 151 | await fs.mkdir(srcDir, { recursive: true }) 152 | 153 | const revertFile = (str: string) => Buffer.from(str, 'base64').toString('utf-8') 154 | // @ts-expect-error TPL_PACKAGE_JSON is a string 155 | await fs.writeFile(path.join(tplDir, 'package.json'), revertFile(TPL_PACKAGE_JSON), 'utf-8') 156 | // @ts-expect-error TPL_TSCONFIG_JSON is a string 157 | await fs.writeFile(path.join(tplDir, 'tsconfig.json'), revertFile(TPL_TSCONFIG_JSON), 'utf-8') 158 | // @ts-expect-error TPL_SRC_CONFIG_TS is a string 159 | await fs.writeFile(path.join(srcDir, 'config.ts'), revertFile(TPL_SRC_CONFIG_TS), 'utf-8') 160 | // @ts-expect-error TPL_SRC_UTILS_TS is a string 161 | await fs.writeFile(path.join(srcDir, 'utils.ts'), revertFile(TPL_SRC_UTILS_TS), 'utf-8') 162 | // @ts-expect-error TPL_SRC_INDEX_TS is a string 163 | await fs.writeFile(path.join(srcDir, 'index.ts'), revertFile(TPL_SRC_INDEX_TS), 'utf-8') 164 | 165 | // 查看模板文件 166 | isDebug && await core.group('Template Files', async () => { 167 | const files = await fs.readdir(tplDir, { recursive: true }) 168 | for await (const file of files) { 169 | const tempFile = path.join(tplDir, file) 170 | const isDir = (await fs.stat(tempFile)).isDirectory() 171 | if (!isDir) { 172 | const content = await fs.readFile(tempFile, 'utf-8') 173 | core.info(`Template file: ${cyan(file)}`) 174 | core.info(content) 175 | core.info('') 176 | } 177 | } 178 | }) 179 | 180 | return tplDir 181 | } 182 | 183 | export async function tmpdir(dir = ''): Promise { 184 | const random = Math.random().toString(36).substring(2, 15) 185 | const tmpRandomDir = path.join(homedir(), `ts-${random}`, dir) 186 | await fs.mkdir(tmpRandomDir, { recursive: true }) 187 | return tmpRandomDir 188 | } 189 | 190 | /** 191 | * Check if the directory exists 192 | * 193 | * e.g. true || 'is True' ==> true 194 | * e.g. false || 'is False' ==> 'is False' 195 | * e.g. true && 'is True' ==> 'is True' 196 | * e.g. false && 'is False' ==> false 197 | */ 198 | export async function exist(dir: PathLike, mode?: number): Promise { 199 | return new Promise((resolve) => { 200 | fs.access(dir, mode).then(() => resolve(true)).catch(() => resolve(false)) 201 | }) 202 | } 203 | -------------------------------------------------------------------------------- /dist/bun.js: -------------------------------------------------------------------------------- 1 | // @bun 2 | var wK=Object.create;var{getPrototypeOf:OK,defineProperty:I$,getOwnPropertyNames:TK}=Object;var YK=Object.prototype.hasOwnProperty;var cq=(q,_,$)=>{$=q!=null?wK(OK(q)):{};let f=_||!q||!q.__esModule?I$($,"default",{value:q,enumerable:!0}):$;for(let K of TK(q))if(!YK.call(f,K))I$(f,K,{get:()=>q[K],enumerable:!0});return f};var H=(q,_)=>()=>(_||q((_={exports:{}}).exports,_),_.exports);var $_=H((g$)=>{Object.defineProperty(g$,"__esModule",{value:!0});g$.toCommandProperties=g$.toCommandValue=void 0;function hK(q){if(q===null||q===void 0)return"";else if(typeof q==="string"||q instanceof String)return q;return JSON.stringify(q)}g$.toCommandValue=hK;function kK(q){if(!Object.keys(q).length)return{};return{title:q.title,file:q.file,line:q.startLine,endLine:q.endLine,col:q.startColumn,endColumn:q.endColumn}}g$.toCommandProperties=kK});var B$=H((y)=>{var WK=y&&y.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;var K=Object.getOwnPropertyDescriptor(_,$);if(!K||("get"in K?!_.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return _[$]}};Object.defineProperty(q,f,K)}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),HK=y&&y.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),JK=y&&y.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.prototype.hasOwnProperty.call(q,$))WK(_,q,$)}return HK(_,q),_};Object.defineProperty(y,"__esModule",{value:!0});y.issue=y.issueCommand=void 0;var ZK=JK(import.meta.require("os")),L$=$_();function x$(q,_,$){let f=new s$(q,_,$);process.stdout.write(f.toString()+ZK.EOL)}y.issueCommand=x$;function mK(q,_=""){x$(q,{},_)}y.issue=mK;var D$="::";class s${constructor(q,_,$){if(!q)q="missing.command";this.command=q,this.properties=_,this.message=$}toString(){let q=D$+this.command;if(this.properties&&Object.keys(this.properties).length>0){q+=" ";let _=!0;for(let $ in this.properties)if(this.properties.hasOwnProperty($)){let f=this.properties[$];if(f){if(_)_=!1;else q+=",";q+=`${$}=${XK(f)}`}}}return q+=`${D$}${AK(this.message)}`,q}}function AK(q){return L$.toCommandValue(q).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function XK(q){return L$.toCommandValue(q).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}});var Q$=H((D)=>{var rK=D&&D.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;var K=Object.getOwnPropertyDescriptor(_,$);if(!K||("get"in K?!_.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return _[$]}};Object.defineProperty(q,f,K)}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),uK=D&&D.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),V_=D&&D.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.prototype.hasOwnProperty.call(q,$))rK(_,q,$)}return uK(_,q),_};Object.defineProperty(D,"__esModule",{value:!0});D.prepareKeyValueMessage=D.issueFileCommand=void 0;var nK=V_(import.meta.require("crypto")),U$=V_(import.meta.require("fs")),S_=V_(import.meta.require("os")),F$=$_();function GK(q,_){let $=process.env[`GITHUB_${q}`];if(!$)throw new Error(`Unable to find environment variable for file command ${q}`);if(!U$.existsSync($))throw new Error(`Missing file at path: ${$}`);U$.appendFileSync($,`${F$.toCommandValue(_)}${S_.EOL}`,{encoding:"utf8"})}D.issueFileCommand=GK;function pK(q,_){let $=`ghadelimiter_${nK.randomUUID()}`,f=F$.toCommandValue(_);if(q.includes($))throw new Error(`Unexpected input: name should not contain the delimiter "${$}"`);if(f.includes($))throw new Error(`Unexpected input: value should not contain the delimiter "${$}"`);return`${q}<<${$}${S_.EOL}${f}${S_.EOL}${$}`}D.prepareKeyValueMessage=pK});var f6=H((_6)=>{Object.defineProperty(_6,"__esModule",{value:!0});_6.checkBypass=_6.getProxyUrl=void 0;function dK(q){let _=q.protocol==="https:";if(q6(q))return;let $=(()=>{if(_)return process.env.https_proxy||process.env.HTTPS_PROXY;else return process.env.http_proxy||process.env.HTTP_PROXY})();if($)try{return new M_($)}catch(f){if(!$.startsWith("http://")&&!$.startsWith("https://"))return new M_(`http://${$}`)}else return}_6.getProxyUrl=dK;function q6(q){if(!q.hostname)return!1;let _=q.hostname;if(bK(_))return!0;let $=process.env.no_proxy||process.env.NO_PROXY||"";if(!$)return!1;let f;if(q.port)f=Number(q.port);else if(q.protocol==="http:")f=80;else if(q.protocol==="https:")f=443;let K=[q.hostname.toUpperCase()];if(typeof f==="number")K.push(`${K[0]}:${f}`);for(let P of $.split(",").map((j)=>j.trim().toUpperCase()).filter((j)=>j))if(P==="*"||K.some((j)=>j===P||j.endsWith(`.${P}`)||P.startsWith(".")&&j.endsWith(`${P}`)))return!0;return!1}_6.checkBypass=q6;function bK(q){let _=q.toLowerCase();return _==="localhost"||_.startsWith("127.")||_.startsWith("[::1]")||_.startsWith("[0:0:0:0:0:0:0:1]")}class M_ extends URL{constructor(q,_){super(q,_);this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var v6=H((eK)=>{var w5=import.meta.require("net"),SK=import.meta.require("tls"),C_=import.meta.require("http"),K6=import.meta.require("https"),VK=import.meta.require("events"),O5=import.meta.require("assert"),MK=import.meta.require("util");eK.httpOverHttp=CK;eK.httpsOverHttp=iK;eK.httpOverHttps=NK;eK.httpsOverHttps=aK;function CK(q){var _=new Pq(q);return _.request=C_.request,_}function iK(q){var _=new Pq(q);return _.request=C_.request,_.createSocket=P6,_.defaultPort=443,_}function NK(q){var _=new Pq(q);return _.request=K6.request,_}function aK(q){var _=new Pq(q);return _.request=K6.request,_.createSocket=P6,_.defaultPort=443,_}function Pq(q){var _=this;_.options=q||{},_.proxyOptions=_.options.proxy||{},_.maxSockets=_.options.maxSockets||C_.Agent.defaultMaxSockets,_.requests=[],_.sockets=[],_.on("free",function $(f,K,P,j){var w=j6(K,P,j);for(var O=0,v=_.requests.length;O=this.maxSockets){P.requests.push(j);return}P.createSocket(j,function(w){w.on("free",O),w.on("close",v),w.on("agentRemove",v),_.onSocket(w);function O(){P.emit("free",w,j)}function v(Y){P.removeSocket(w),w.removeListener("free",O),w.removeListener("close",v),w.removeListener("agentRemove",v)}})};Pq.prototype.createSocket=function q(_,$){var f=this,K={};f.sockets.push(K);var P=i_({},f.proxyOptions,{method:"CONNECT",path:_.host+":"+_.port,agent:!1,headers:{host:_.host+":"+_.port}});if(_.localAddress)P.localAddress=_.localAddress;if(P.proxyAuth)P.headers=P.headers||{},P.headers["Proxy-Authorization"]="Basic "+new Buffer(P.proxyAuth).toString("base64");Yq("making CONNECT request");var j=f.request(P);j.useChunkedEncodingByDefault=!1,j.once("response",w),j.once("upgrade",O),j.once("connect",v),j.once("error",Y),j.end();function w(T){T.upgrade=!0}function O(T,h,J){process.nextTick(function(){v(T,h,J)})}function v(T,h,J){if(j.removeAllListeners(),h.removeAllListeners(),T.statusCode!==200){Yq("tunneling socket could not be established, statusCode=%d",T.statusCode),h.destroy();var Z=new Error("tunneling socket could not be established, statusCode="+T.statusCode);Z.code="ECONNRESET",_.request.emit("error",Z),f.removeSocket(K);return}if(J.length>0){Yq("got illegal response body from proxy"),h.destroy();var Z=new Error("got illegal response body from proxy");Z.code="ECONNRESET",_.request.emit("error",Z),f.removeSocket(K);return}return Yq("tunneling connection has established"),f.sockets[f.sockets.indexOf(K)]=h,$(h)}function Y(T){j.removeAllListeners(),Yq(`tunneling socket could not be established, cause=%s 3 | `,T.message,T.stack);var h=new Error("tunneling socket could not be established, cause="+T.message);h.code="ECONNRESET",_.request.emit("error",h),f.removeSocket(K)}};Pq.prototype.removeSocket=function q(_){var $=this.sockets.indexOf(_);if($===-1)return;this.sockets.splice($,1);var f=this.requests.shift();if(f)this.createSocket(f,function(K){f.request.onSocket(K)})};function P6(q,_){var $=this;Pq.prototype.createSocket.call($,q,function(f){var K=q.request.getHeader("host"),P=i_({},$.options,{socket:f,servername:K?K.replace(/:.*$/,""):q.host}),j=SK.connect(0,P);$.sockets[$.sockets.indexOf(f)]=j,_(j)})}function j6(q,_,$){if(typeof q==="string")return{host:q,port:_,localAddress:$};return q}function i_(q){for(var _=1,$=arguments.length;_<$;++_){var f=arguments[_];if(typeof f==="object"){var K=Object.keys(f);for(var P=0,j=K.length;P{var IK=n&&n.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;var K=Object.getOwnPropertyDescriptor(_,$);if(!K||("get"in K?!_.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return _[$]}};Object.defineProperty(q,f,K)}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),gK=n&&n.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),P_=n&&n.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.prototype.hasOwnProperty.call(q,$))IK(_,q,$)}return gK(_,q),_},b=n&&n.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(n,"__esModule",{value:!0});n.HttpClient=n.isHttps=n.HttpClientResponse=n.HttpClientError=n.getProxyUrl=n.MediaTypes=n.Headers=n.HttpCodes=void 0;var N_=P_(import.meta.require("http")),w6=P_(import.meta.require("https")),a_=P_(f6()),f_=P_(v6()),yK=import.meta.require("undici"),L;(function(q){q[q.OK=200]="OK",q[q.MultipleChoices=300]="MultipleChoices",q[q.MovedPermanently=301]="MovedPermanently",q[q.ResourceMoved=302]="ResourceMoved",q[q.SeeOther=303]="SeeOther",q[q.NotModified=304]="NotModified",q[q.UseProxy=305]="UseProxy",q[q.SwitchProxy=306]="SwitchProxy",q[q.TemporaryRedirect=307]="TemporaryRedirect",q[q.PermanentRedirect=308]="PermanentRedirect",q[q.BadRequest=400]="BadRequest",q[q.Unauthorized=401]="Unauthorized",q[q.PaymentRequired=402]="PaymentRequired",q[q.Forbidden=403]="Forbidden",q[q.NotFound=404]="NotFound",q[q.MethodNotAllowed=405]="MethodNotAllowed",q[q.NotAcceptable=406]="NotAcceptable",q[q.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",q[q.RequestTimeout=408]="RequestTimeout",q[q.Conflict=409]="Conflict",q[q.Gone=410]="Gone",q[q.TooManyRequests=429]="TooManyRequests",q[q.InternalServerError=500]="InternalServerError",q[q.NotImplemented=501]="NotImplemented",q[q.BadGateway=502]="BadGateway",q[q.ServiceUnavailable=503]="ServiceUnavailable",q[q.GatewayTimeout=504]="GatewayTimeout"})(L||(n.HttpCodes=L={}));var C;(function(q){q.Accept="accept",q.ContentType="content-type"})(C||(n.Headers=C={}));var jq;(function(q){q.ApplicationJson="application/json"})(jq||(n.MediaTypes=jq={}));function DK(q){let _=a_.getProxyUrl(new URL(q));return _?_.href:""}n.getProxyUrl=DK;var LK=[L.MovedPermanently,L.ResourceMoved,L.SeeOther,L.TemporaryRedirect,L.PermanentRedirect],xK=[L.BadGateway,L.ServiceUnavailable,L.GatewayTimeout],sK=["OPTIONS","GET","DELETE","HEAD"],BK=10,UK=5;class j_ extends Error{constructor(q,_){super(q);this.name="HttpClientError",this.statusCode=_,Object.setPrototypeOf(this,j_.prototype)}}n.HttpClientError=j_;class e_{constructor(q){this.message=q}readBody(){return b(this,void 0,void 0,function*(){return new Promise((q)=>b(this,void 0,void 0,function*(){let _=Buffer.alloc(0);this.message.on("data",($)=>{_=Buffer.concat([_,$])}),this.message.on("end",()=>{q(_.toString())})}))})}readBodyBuffer(){return b(this,void 0,void 0,function*(){return new Promise((q)=>b(this,void 0,void 0,function*(){let _=[];this.message.on("data",($)=>{_.push($)}),this.message.on("end",()=>{q(Buffer.concat(_))})}))})}}n.HttpClientResponse=e_;function FK(q){return new URL(q).protocol==="https:"}n.isHttps=FK;class O6{constructor(q,_,$){if(this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=q,this.handlers=_||[],this.requestOptions=$,$){if($.ignoreSslError!=null)this._ignoreSslError=$.ignoreSslError;if(this._socketTimeout=$.socketTimeout,$.allowRedirects!=null)this._allowRedirects=$.allowRedirects;if($.allowRedirectDowngrade!=null)this._allowRedirectDowngrade=$.allowRedirectDowngrade;if($.maxRedirects!=null)this._maxRedirects=Math.max($.maxRedirects,0);if($.keepAlive!=null)this._keepAlive=$.keepAlive;if($.allowRetries!=null)this._allowRetries=$.allowRetries;if($.maxRetries!=null)this._maxRetries=$.maxRetries}}options(q,_){return b(this,void 0,void 0,function*(){return this.request("OPTIONS",q,null,_||{})})}get(q,_){return b(this,void 0,void 0,function*(){return this.request("GET",q,null,_||{})})}del(q,_){return b(this,void 0,void 0,function*(){return this.request("DELETE",q,null,_||{})})}post(q,_,$){return b(this,void 0,void 0,function*(){return this.request("POST",q,_,$||{})})}patch(q,_,$){return b(this,void 0,void 0,function*(){return this.request("PATCH",q,_,$||{})})}put(q,_,$){return b(this,void 0,void 0,function*(){return this.request("PUT",q,_,$||{})})}head(q,_){return b(this,void 0,void 0,function*(){return this.request("HEAD",q,null,_||{})})}sendStream(q,_,$,f){return b(this,void 0,void 0,function*(){return this.request(q,_,$,f)})}getJson(q,_={}){return b(this,void 0,void 0,function*(){_[C.Accept]=this._getExistingOrDefaultHeader(_,C.Accept,jq.ApplicationJson);let $=yield this.get(q,_);return this._processResponse($,this.requestOptions)})}postJson(q,_,$={}){return b(this,void 0,void 0,function*(){let f=JSON.stringify(_,null,2);$[C.Accept]=this._getExistingOrDefaultHeader($,C.Accept,jq.ApplicationJson),$[C.ContentType]=this._getExistingOrDefaultHeader($,C.ContentType,jq.ApplicationJson);let K=yield this.post(q,f,$);return this._processResponse(K,this.requestOptions)})}putJson(q,_,$={}){return b(this,void 0,void 0,function*(){let f=JSON.stringify(_,null,2);$[C.Accept]=this._getExistingOrDefaultHeader($,C.Accept,jq.ApplicationJson),$[C.ContentType]=this._getExistingOrDefaultHeader($,C.ContentType,jq.ApplicationJson);let K=yield this.put(q,f,$);return this._processResponse(K,this.requestOptions)})}patchJson(q,_,$={}){return b(this,void 0,void 0,function*(){let f=JSON.stringify(_,null,2);$[C.Accept]=this._getExistingOrDefaultHeader($,C.Accept,jq.ApplicationJson),$[C.ContentType]=this._getExistingOrDefaultHeader($,C.ContentType,jq.ApplicationJson);let K=yield this.patch(q,f,$);return this._processResponse(K,this.requestOptions)})}request(q,_,$,f){return b(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let K=new URL(_),P=this._prepareRequest(q,K,f),j=this._allowRetries&&sK.includes(q)?this._maxRetries+1:1,w=0,O;do{if(O=yield this.requestRaw(P,$),O&&O.message&&O.message.statusCode===L.Unauthorized){let Y;for(let T of this.handlers)if(T.canHandleAuthentication(O)){Y=T;break}if(Y)return Y.handleAuthentication(this,P,$);else return O}let v=this._maxRedirects;while(O.message.statusCode&&LK.includes(O.message.statusCode)&&this._allowRedirects&&v>0){let Y=O.message.headers.location;if(!Y)break;let T=new URL(Y);if(K.protocol==="https:"&&K.protocol!==T.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield O.readBody(),T.hostname!==K.hostname){for(let h in f)if(h.toLowerCase()==="authorization")delete f[h]}P=this._prepareRequest(q,T,f),O=yield this.requestRaw(P,$),v--}if(!O.message.statusCode||!xK.includes(O.message.statusCode))return O;if(w+=1,w{function K(P,j){if(P)f(P);else if(!j)f(new Error("Unknown error"));else $(j)}this.requestRawWithCallback(q,_,K)})})}requestRawWithCallback(q,_,$){if(typeof _==="string"){if(!q.options.headers)q.options.headers={};q.options.headers["Content-Length"]=Buffer.byteLength(_,"utf8")}let f=!1;function K(w,O){if(!f)f=!0,$(w,O)}let P=q.httpModule.request(q.options,(w)=>{let O=new e_(w);K(void 0,O)}),j;if(P.on("socket",(w)=>{j=w}),P.setTimeout(this._socketTimeout||180000,()=>{if(j)j.end();K(new Error(`Request timeout: ${q.options.path}`))}),P.on("error",function(w){K(w)}),_&&typeof _==="string")P.write(_,"utf8");if(_&&typeof _!=="string")_.on("close",function(){P.end()}),_.pipe(P);else P.end()}getAgent(q){let _=new URL(q);return this._getAgent(_)}getAgentDispatcher(q){let _=new URL(q),$=a_.getProxyUrl(_);if(!($&&$.hostname))return;return this._getProxyAgentDispatcher(_,$)}_prepareRequest(q,_,$){let f={};f.parsedUrl=_;let K=f.parsedUrl.protocol==="https:";f.httpModule=K?w6:N_;let P=K?443:80;if(f.options={},f.options.host=f.parsedUrl.hostname,f.options.port=f.parsedUrl.port?parseInt(f.parsedUrl.port):P,f.options.path=(f.parsedUrl.pathname||"")+(f.parsedUrl.search||""),f.options.method=q,f.options.headers=this._mergeHeaders($),this.userAgent!=null)f.options.headers["user-agent"]=this.userAgent;if(f.options.agent=this._getAgent(f.parsedUrl),this.handlers)for(let j of this.handlers)j.prepareRequest(f.options);return f}_mergeHeaders(q){if(this.requestOptions&&this.requestOptions.headers)return Object.assign({},K_(this.requestOptions.headers),K_(q||{}));return K_(q||{})}_getExistingOrDefaultHeader(q,_,$){let f;if(this.requestOptions&&this.requestOptions.headers)f=K_(this.requestOptions.headers)[_];return q[_]||f||$}_getAgent(q){let _,$=a_.getProxyUrl(q),f=$&&$.hostname;if(this._keepAlive&&f)_=this._proxyAgent;if(!f)_=this._agent;if(_)return _;let K=q.protocol==="https:",P=100;if(this.requestOptions)P=this.requestOptions.maxSockets||N_.globalAgent.maxSockets;if($&&$.hostname){let j={maxSockets:P,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},($.username||$.password)&&{proxyAuth:`${$.username}:${$.password}`}),{host:$.hostname,port:$.port})},w,O=$.protocol==="https:";if(K)w=O?f_.httpsOverHttps:f_.httpsOverHttp;else w=O?f_.httpOverHttps:f_.httpOverHttp;_=w(j),this._proxyAgent=_}if(!_){let j={keepAlive:this._keepAlive,maxSockets:P};_=K?new w6.Agent(j):new N_.Agent(j),this._agent=_}if(K&&this._ignoreSslError)_.options=Object.assign(_.options||{},{rejectUnauthorized:!1});return _}_getProxyAgentDispatcher(q,_){let $;if(this._keepAlive)$=this._proxyAgentDispatcher;if($)return $;let f=q.protocol==="https:";if($=new yK.ProxyAgent(Object.assign({uri:_.href,pipelining:!this._keepAlive?0:1},(_.username||_.password)&&{token:`Basic ${Buffer.from(`${_.username}:${_.password}`).toString("base64")}`})),this._proxyAgentDispatcher=$,f&&this._ignoreSslError)$.options=Object.assign($.options.requestTls||{},{rejectUnauthorized:!1});return $}_performExponentialBackoff(q){return b(this,void 0,void 0,function*(){q=Math.min(BK,q);let _=UK*Math.pow(2,q);return new Promise(($)=>setTimeout(()=>$(),_))})}_processResponse(q,_){return b(this,void 0,void 0,function*(){return new Promise(($,f)=>b(this,void 0,void 0,function*(){let K=q.message.statusCode||0,P={statusCode:K,result:null,headers:{}};if(K===L.NotFound)$(P);function j(v,Y){if(typeof Y==="string"){let T=new Date(Y);if(!isNaN(T.valueOf()))return T}return Y}let w,O;try{if(O=yield q.readBody(),O&&O.length>0){if(_&&_.deserializeDates)w=JSON.parse(O,j);else w=JSON.parse(O);P.result=w}P.headers=q.message.headers}catch(v){}if(K>299){let v;if(w&&w.message)v=w.message;else if(O&&O.length>0)v=O;else v=`Failed request: (${K})`;let Y=new j_(v,K);Y.result=P.result,f(Y)}else $(P)}))})}}n.HttpClient=O6;var K_=(q)=>Object.keys(q).reduce((_,$)=>(_[$.toLowerCase()]=q[$],_),{})});var z6=H((Q)=>{var l_=Q&&Q.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(Q,"__esModule",{value:!0});Q.PersonalAccessTokenCredentialHandler=Q.BearerCredentialHandler=Q.BasicCredentialHandler=void 0;class Y6{constructor(q,_){this.username=q,this.password=_}prepareRequest(q){if(!q.headers)throw Error("The request has no headers");q.headers.Authorization=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return l_(this,void 0,void 0,function*(){throw new Error("not implemented")})}}Q.BasicCredentialHandler=Y6;class h6{constructor(q){this.token=q}prepareRequest(q){if(!q.headers)throw Error("The request has no headers");q.headers.Authorization=`Bearer ${this.token}`}canHandleAuthentication(){return!1}handleAuthentication(){return l_(this,void 0,void 0,function*(){throw new Error("not implemented")})}}Q.BearerCredentialHandler=h6;class k6{constructor(q){this.token=q}prepareRequest(q){if(!q.headers)throw Error("The request has no headers");q.headers.Authorization=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return!1}handleAuthentication(){return l_(this,void 0,void 0,function*(){throw new Error("not implemented")})}}Q.PersonalAccessTokenCredentialHandler=k6});var J6=H((dq)=>{var W6=dq&&dq.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(dq,"__esModule",{value:!0});dq.OidcClient=void 0;var QK=T6(),qP=z6(),H6=Eq();class pq{static createHttpClient(q=!0,_=10){let $={allowRetries:q,maxRetries:_};return new QK.HttpClient("actions/oidc-client",[new qP.BearerCredentialHandler(pq.getRequestToken())],$)}static getRequestToken(){let q=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!q)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable");return q}static getIDTokenUrl(){let q=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!q)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return q}static getCall(q){var _;return W6(this,void 0,void 0,function*(){let K=(_=(yield pq.createHttpClient().getJson(q).catch((P)=>{throw new Error(`Failed to get ID Token. 4 | 5 | Error Code : ${P.statusCode} 6 | 7 | Error Message: ${P.message}`)})).result)===null||_===void 0?void 0:_.value;if(!K)throw new Error("Response json body do not have ID Token field");return K})}static getIDToken(q){return W6(this,void 0,void 0,function*(){try{let _=pq.getIDTokenUrl();if(q){let f=encodeURIComponent(q);_=`${_}&audience=${f}`}H6.debug(`ID token url is ${_}`);let $=yield pq.getCall(_);return H6.setSecret($),$}catch(_){throw new Error(`Error message: ${_.message}`)}})}}dq.OidcClient=pq});var E_=H((e)=>{var t_=e&&e.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0});e.summary=e.markdownSummary=e.SUMMARY_DOCS_URL=e.SUMMARY_ENV_VAR=void 0;var _P=import.meta.require("os"),c_=import.meta.require("fs"),{access:$P,appendFile:fP,writeFile:KP}=c_.promises;e.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";e.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Z6{constructor(){this._buffer=""}filePath(){return t_(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let q=process.env[e.SUMMARY_ENV_VAR];if(!q)throw new Error(`Unable to find environment variable for $${e.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield $P(q,c_.constants.R_OK|c_.constants.W_OK)}catch(_){throw new Error(`Unable to access summary file: '${q}'. Check if the file has correct read/write permissions.`)}return this._filePath=q,this._filePath})}wrap(q,_,$={}){let f=Object.entries($).map(([K,P])=>` ${K}="${P}"`).join("");if(!_)return`<${q}${f}>`;return`<${q}${f}>${_}`}write(q){return t_(this,void 0,void 0,function*(){let _=!!(q===null||q===void 0?void 0:q.overwrite),$=yield this.filePath();return yield(_?KP:fP)($,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return t_(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(q,_=!1){return this._buffer+=q,_?this.addEOL():this}addEOL(){return this.addRaw(_P.EOL)}addCodeBlock(q,_){let $=Object.assign({},_&&{lang:_}),f=this.wrap("pre",this.wrap("code",q),$);return this.addRaw(f).addEOL()}addList(q,_=!1){let $=_?"ol":"ul",f=q.map((P)=>this.wrap("li",P)).join(""),K=this.wrap($,f);return this.addRaw(K).addEOL()}addTable(q){let _=q.map((f)=>{let K=f.map((P)=>{if(typeof P==="string")return this.wrap("td",P);let{header:j,data:w,colspan:O,rowspan:v}=P,Y=j?"th":"td",T=Object.assign(Object.assign({},O&&{colspan:O}),v&&{rowspan:v});return this.wrap(Y,w,T)}).join("");return this.wrap("tr",K)}).join(""),$=this.wrap("table",_);return this.addRaw($).addEOL()}addDetails(q,_){let $=this.wrap("details",this.wrap("summary",q)+_);return this.addRaw($).addEOL()}addImage(q,_,$){let{width:f,height:K}=$||{},P=Object.assign(Object.assign({},f&&{width:f}),K&&{height:K}),j=this.wrap("img",null,Object.assign({src:q,alt:_},P));return this.addRaw(j).addEOL()}addHeading(q,_){let $=`h${_}`,f=["h1","h2","h3","h4","h5","h6"].includes($)?$:"h1",K=this.wrap(f,q);return this.addRaw(K).addEOL()}addSeparator(){let q=this.wrap("hr",null);return this.addRaw(q).addEOL()}addBreak(){let q=this.wrap("br",null);return this.addRaw(q).addEOL()}addQuote(q,_){let $=Object.assign({},_&&{cite:_}),f=this.wrap("blockquote",q,$);return this.addRaw(f).addEOL()}addLink(q,_){let $=this.wrap("a",q,{href:_});return this.addRaw($).addEOL()}}var m6=new Z6;e.markdownSummary=m6;e.summary=m6});var A6=H((l)=>{var PP=l&&l.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;var K=Object.getOwnPropertyDescriptor(_,$);if(!K||("get"in K?!_.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return _[$]}};Object.defineProperty(q,f,K)}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),jP=l&&l.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),vP=l&&l.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.prototype.hasOwnProperty.call(q,$))PP(_,q,$)}return jP(_,q),_};Object.defineProperty(l,"__esModule",{value:!0});l.toPlatformPath=l.toWin32Path=l.toPosixPath=void 0;var wP=vP(import.meta.require("path"));function OP(q){return q.replace(/[\\]/g,"/")}l.toPosixPath=OP;function TP(q){return q.replace(/[/]/g,"\\")}l.toWin32Path=TP;function YP(q){return q.replace(/[/\\]/g,wP.sep)}l.toPlatformPath=YP});var I_=H((W)=>{var hP=W&&W.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;Object.defineProperty(q,f,{enumerable:!0,get:function(){return _[$]}})}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),kP=W&&W.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),r6=W&&W.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.hasOwnProperty.call(q,$))hP(_,q,$)}return kP(_,q),_},R_=W&&W.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})},t;Object.defineProperty(W,"__esModule",{value:!0});W.getCmdPath=W.tryGetExecutablePath=W.isRooted=W.isDirectory=W.exists=W.READONLY=W.UV_FS_O_EXLOCK=W.IS_WINDOWS=W.unlink=W.symlink=W.stat=W.rmdir=W.rm=W.rename=W.readlink=W.readdir=W.open=W.mkdir=W.lstat=W.copyFile=W.chmod=void 0;var u6=r6(import.meta.require("fs")),v_=r6(import.meta.require("path"));t=u6.promises,W.chmod=t.chmod,W.copyFile=t.copyFile,W.lstat=t.lstat,W.mkdir=t.mkdir,W.open=t.open,W.readdir=t.readdir,W.readlink=t.readlink,W.rename=t.rename,W.rm=t.rm,W.rmdir=t.rmdir,W.stat=t.stat,W.symlink=t.symlink,W.unlink=t.unlink;W.IS_WINDOWS=process.platform==="win32";W.UV_FS_O_EXLOCK=268435456;W.READONLY=u6.constants.O_RDONLY;function zP(q){return R_(this,void 0,void 0,function*(){try{yield W.stat(q)}catch(_){if(_.code==="ENOENT")return!1;throw _}return!0})}W.exists=zP;function WP(q,_=!1){return R_(this,void 0,void 0,function*(){return(_?yield W.stat(q):yield W.lstat(q)).isDirectory()})}W.isDirectory=WP;function HP(q){if(q=ZP(q),!q)throw new Error('isRooted() parameter "p" cannot be empty');if(W.IS_WINDOWS)return q.startsWith("\\")||/^[A-Z]:/i.test(q);return q.startsWith("/")}W.isRooted=HP;function JP(q,_){return R_(this,void 0,void 0,function*(){let $=void 0;try{$=yield W.stat(q)}catch(K){if(K.code!=="ENOENT")console.log(`Unexpected error attempting to determine if executable file exists '${q}': ${K}`)}if($&&$.isFile()){if(W.IS_WINDOWS){let K=v_.extname(q).toUpperCase();if(_.some((P)=>P.toUpperCase()===K))return q}else if(X6($))return q}let f=q;for(let K of _){q=f+K,$=void 0;try{$=yield W.stat(q)}catch(P){if(P.code!=="ENOENT")console.log(`Unexpected error attempting to determine if executable file exists '${q}': ${P}`)}if($&&$.isFile()){if(W.IS_WINDOWS){try{let P=v_.dirname(q),j=v_.basename(q).toUpperCase();for(let w of yield W.readdir(P))if(j===w.toUpperCase()){q=v_.join(P,w);break}}catch(P){console.log(`Unexpected error attempting to determine the actual case of the file '${q}': ${P}`)}return q}else if(X6($))return q}}return""})}W.tryGetExecutablePath=JP;function ZP(q){if(q=q||"",W.IS_WINDOWS)return q=q.replace(/\//g,"\\"),q.replace(/\\\\+/g,"\\");return q.replace(/\/\/+/g,"/")}function X6(q){return(q.mode&1)>0||(q.mode&8)>0&&q.gid===process.getgid()||(q.mode&64)>0&&q.uid===process.getuid()}function mP(){var q;return(q=process.env.COMSPEC)!==null&&q!==void 0?q:"cmd.exe"}W.getCmdPath=mP});var S6=H((p)=>{var AP=p&&p.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;Object.defineProperty(q,f,{enumerable:!0,get:function(){return _[$]}})}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),XP=p&&p.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),n6=p&&p.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.hasOwnProperty.call(q,$))AP(_,q,$)}return XP(_,q),_},hq=p&&p.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(p,"__esModule",{value:!0});p.findInPath=p.which=p.mkdirP=p.rmRF=p.mv=p.cp=void 0;var rP=import.meta.require("assert"),qq=n6(import.meta.require("path")),r=n6(I_());function uP(q,_,$={}){return hq(this,void 0,void 0,function*(){let{force:f,recursive:K,copySourceDirectory:P}=GP($),j=(yield r.exists(_))?yield r.stat(_):null;if(j&&j.isFile()&&!f)return;let w=j&&j.isDirectory()&&P?qq.join(_,qq.basename(q)):_;if(!(yield r.exists(q)))throw new Error(`no such file or directory: ${q}`);if((yield r.stat(q)).isDirectory())if(!K)throw new Error(`Failed to copy. ${q} is a directory, but tried to copy without recursive flag.`);else yield b6(q,w,0,f);else{if(qq.relative(q,w)==="")throw new Error(`'${w}' and '${q}' are the same file`);yield o6(q,w,f)}})}p.cp=uP;function nP(q,_,$={}){return hq(this,void 0,void 0,function*(){if(yield r.exists(_)){let f=!0;if(yield r.isDirectory(_))_=qq.join(_,qq.basename(q)),f=yield r.exists(_);if(f)if($.force==null||$.force)yield G6(_);else throw new Error("Destination already exists")}yield g_(qq.dirname(_)),yield r.rename(q,_)})}p.mv=nP;function G6(q){return hq(this,void 0,void 0,function*(){if(r.IS_WINDOWS){if(/[*"<>|]/.test(q))throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}try{yield r.rm(q,{force:!0,maxRetries:3,recursive:!0,retryDelay:300})}catch(_){throw new Error(`File was unable to be removed ${_}`)}})}p.rmRF=G6;function g_(q){return hq(this,void 0,void 0,function*(){rP.ok(q,"a path argument must be provided"),yield r.mkdir(q,{recursive:!0})})}p.mkdirP=g_;function p6(q,_){return hq(this,void 0,void 0,function*(){if(!q)throw new Error("parameter 'tool' is required");if(_){let f=yield p6(q,!1);if(!f)if(r.IS_WINDOWS)throw new Error(`Unable to locate executable file: ${q}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`);else throw new Error(`Unable to locate executable file: ${q}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);return f}let $=yield d6(q);if($&&$.length>0)return $[0];return""})}p.which=p6;function d6(q){return hq(this,void 0,void 0,function*(){if(!q)throw new Error("parameter 'tool' is required");let _=[];if(r.IS_WINDOWS&&process.env.PATHEXT){for(let K of process.env.PATHEXT.split(qq.delimiter))if(K)_.push(K)}if(r.isRooted(q)){let K=yield r.tryGetExecutablePath(q,_);if(K)return[K];return[]}if(q.includes(qq.sep))return[];let $=[];if(process.env.PATH){for(let K of process.env.PATH.split(qq.delimiter))if(K)$.push(K)}let f=[];for(let K of $){let P=yield r.tryGetExecutablePath(qq.join(K,q),_);if(P)f.push(P)}return f})}p.findInPath=d6;function GP(q){let _=q.force==null?!0:q.force,$=Boolean(q.recursive),f=q.copySourceDirectory==null?!0:Boolean(q.copySourceDirectory);return{force:_,recursive:$,copySourceDirectory:f}}function b6(q,_,$,f){return hq(this,void 0,void 0,function*(){if($>=255)return;$++,yield g_(_);let K=yield r.readdir(q);for(let P of K){let j=`${q}/${P}`,w=`${_}/${P}`;if((yield r.lstat(j)).isDirectory())yield b6(j,w,$,f);else yield o6(j,w,f)}yield r.chmod(_,(yield r.stat(q)).mode)})}function o6(q,_,$){return hq(this,void 0,void 0,function*(){if((yield r.lstat(q)).isSymbolicLink()){try{yield r.lstat(_),yield r.unlink(_)}catch(K){if(K.code==="EPERM")yield r.chmod(_,"0666"),yield r.unlink(_)}let f=yield r.readlink(q);yield r.symlink(f,_,r.IS_WINDOWS?"junction":null)}else if(!(yield r.exists(_))||$)yield r.copyFile(q,_)})}});var N6=H((c)=>{var pP=c&&c.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;Object.defineProperty(q,f,{enumerable:!0,get:function(){return _[$]}})}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),dP=c&&c.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),bq=c&&c.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.hasOwnProperty.call(q,$))pP(_,q,$)}return dP(_,q),_},V6=c&&c.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(c,"__esModule",{value:!0});c.argStringToArray=c.ToolRunner=void 0;var w_=bq(import.meta.require("os")),C6=bq(import.meta.require("events")),bP=bq(import.meta.require("child_process")),oP=bq(import.meta.require("path")),SP=bq(S6()),M6=bq(I_()),VP=import.meta.require("timers"),O_=process.platform==="win32";class i6 extends C6.EventEmitter{constructor(q,_,$){super();if(!q)throw new Error("Parameter 'toolPath' cannot be null or empty.");this.toolPath=q,this.args=_||[],this.options=$||{}}_debug(q){if(this.options.listeners&&this.options.listeners.debug)this.options.listeners.debug(q)}_getCommandString(q,_){let $=this._getSpawnFileName(),f=this._getSpawnArgs(q),K=_?"":"[command]";if(O_)if(this._isCmdFile()){K+=$;for(let P of f)K+=` ${P}`}else if(q.windowsVerbatimArguments){K+=`"${$}"`;for(let P of f)K+=` ${P}`}else{K+=this._windowsQuoteCmdArg($);for(let P of f)K+=` ${this._windowsQuoteCmdArg(P)}`}else{K+=$;for(let P of f)K+=` ${P}`}return K}_processLineBuffer(q,_,$){try{let f=_+q.toString(),K=f.indexOf(w_.EOL);while(K>-1){let P=f.substring(0,K);$(P),f=f.substring(K+w_.EOL.length),K=f.indexOf(w_.EOL)}return f}catch(f){return this._debug(`error processing line. Failed with error ${f}`),""}}_getSpawnFileName(){if(O_){if(this._isCmdFile())return process.env.COMSPEC||"cmd.exe"}return this.toolPath}_getSpawnArgs(q){if(O_){if(this._isCmdFile()){let _=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(let $ of this.args)_+=" ",_+=q.windowsVerbatimArguments?$:this._windowsQuoteCmdArg($);return _+='"',[_]}}return this.args}_endsWith(q,_){return q.endsWith(_)}_isCmdFile(){let q=this.toolPath.toUpperCase();return this._endsWith(q,".CMD")||this._endsWith(q,".BAT")}_windowsQuoteCmdArg(q){if(!this._isCmdFile())return this._uvQuoteCmdArg(q);if(!q)return'""';let _=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'],$=!1;for(let P of q)if(_.some((j)=>j===P)){$=!0;break}if(!$)return q;let f='"',K=!0;for(let P=q.length;P>0;P--)if(f+=q[P-1],K&&q[P-1]==="\\")f+="\\";else if(q[P-1]==='"')K=!0,f+='"';else K=!1;return f+='"',f.split("").reverse().join("")}_uvQuoteCmdArg(q){if(!q)return'""';if(!q.includes(" ")&&!q.includes("\t")&&!q.includes('"'))return q;if(!q.includes('"')&&!q.includes("\\"))return`"${q}"`;let _='"',$=!0;for(let f=q.length;f>0;f--)if(_+=q[f-1],$&&q[f-1]==="\\")_+="\\";else if(q[f-1]==='"')$=!0,_+="\\";else $=!1;return _+='"',_.split("").reverse().join("")}_cloneExecOptions(q){q=q||{};let _={cwd:q.cwd||process.cwd(),env:q.env||process.env,silent:q.silent||!1,windowsVerbatimArguments:q.windowsVerbatimArguments||!1,failOnStdErr:q.failOnStdErr||!1,ignoreReturnCode:q.ignoreReturnCode||!1,delay:q.delay||1e4};return _.outStream=q.outStream||process.stdout,_.errStream=q.errStream||process.stderr,_}_getSpawnOptions(q,_){q=q||{};let $={};if($.cwd=q.cwd,$.env=q.env,$.windowsVerbatimArguments=q.windowsVerbatimArguments||this._isCmdFile(),q.windowsVerbatimArguments)$.argv0=`"${_}"`;return $}exec(){return V6(this,void 0,void 0,function*(){if(!M6.isRooted(this.toolPath)&&(this.toolPath.includes("/")||O_&&this.toolPath.includes("\\")))this.toolPath=oP.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath);return this.toolPath=yield SP.which(this.toolPath,!0),new Promise((q,_)=>V6(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`),this._debug("arguments:");for(let O of this.args)this._debug(` ${O}`);let $=this._cloneExecOptions(this.options);if(!$.silent&&$.outStream)$.outStream.write(this._getCommandString($)+w_.EOL);let f=new y_($,this.toolPath);if(f.on("debug",(O)=>{this._debug(O)}),this.options.cwd&&!(yield M6.exists(this.options.cwd)))return _(new Error(`The cwd: ${this.options.cwd} does not exist!`));let K=this._getSpawnFileName(),P=bP.spawn(K,this._getSpawnArgs($),this._getSpawnOptions(this.options,K)),j="";if(P.stdout)P.stdout.on("data",(O)=>{if(this.options.listeners&&this.options.listeners.stdout)this.options.listeners.stdout(O);if(!$.silent&&$.outStream)$.outStream.write(O);j=this._processLineBuffer(O,j,(v)=>{if(this.options.listeners&&this.options.listeners.stdline)this.options.listeners.stdline(v)})});let w="";if(P.stderr)P.stderr.on("data",(O)=>{if(f.processStderr=!0,this.options.listeners&&this.options.listeners.stderr)this.options.listeners.stderr(O);if(!$.silent&&$.errStream&&$.outStream)($.failOnStdErr?$.errStream:$.outStream).write(O);w=this._processLineBuffer(O,w,(v)=>{if(this.options.listeners&&this.options.listeners.errline)this.options.listeners.errline(v)})});if(P.on("error",(O)=>{f.processError=O.message,f.processExited=!0,f.processClosed=!0,f.CheckComplete()}),P.on("exit",(O)=>{f.processExitCode=O,f.processExited=!0,this._debug(`Exit code ${O} received from tool '${this.toolPath}'`),f.CheckComplete()}),P.on("close",(O)=>{f.processExitCode=O,f.processExited=!0,f.processClosed=!0,this._debug(`STDIO streams have closed for tool '${this.toolPath}'`),f.CheckComplete()}),f.on("done",(O,v)=>{if(j.length>0)this.emit("stdline",j);if(w.length>0)this.emit("errline",w);if(P.removeAllListeners(),O)_(O);else q(v)}),this.options.input){if(!P.stdin)throw new Error("child process missing stdin");P.stdin.end(this.options.input)}}))})}}c.ToolRunner=i6;function MP(q){let _=[],$=!1,f=!1,K="";function P(j){if(f&&j!=='"')K+="\\";K+=j,f=!1}for(let j=0;j0)_.push(K),K="";continue}P(w)}if(K.length>0)_.push(K.trim());return _}c.argStringToArray=MP;class y_ extends C6.EventEmitter{constructor(q,_){super();if(this.processClosed=!1,this.processError="",this.processExitCode=0,this.processExited=!1,this.processStderr=!1,this.delay=1e4,this.done=!1,this.timeout=null,!_)throw new Error("toolPath must not be empty");if(this.options=q,this.toolPath=_,q.delay)this.delay=q.delay}CheckComplete(){if(this.done)return;if(this.processClosed)this._setResult();else if(this.processExited)this.timeout=VP.setTimeout(y_.HandleTimeout,this.delay,this)}_debug(q){this.emit("debug",q)}_setResult(){let q;if(this.processExited){if(this.processError)q=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`);else if(this.processExitCode!==0&&!this.options.ignoreReturnCode)q=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`);else if(this.processStderr&&this.options.failOnStdErr)q=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}if(this.timeout)clearTimeout(this.timeout),this.timeout=null;this.done=!0,this.emit("done",q,this.processExitCode)}static HandleTimeout(q){if(q.done)return;if(!q.processClosed&&q.processExited){let _=`The STDIO streams did not close within ${q.delay/1000} seconds of the exit event from process '${q.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;q._debug(_)}q._setResult()}}});var D_=H((E)=>{var CP=E&&E.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;Object.defineProperty(q,f,{enumerable:!0,get:function(){return _[$]}})}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),iP=E&&E.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),NP=E&&E.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.hasOwnProperty.call(q,$))CP(_,q,$)}return iP(_,q),_},l6=E&&E.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(E,"__esModule",{value:!0});E.getExecOutput=E.exec=void 0;var a6=import.meta.require("string_decoder"),e6=NP(N6());function t6(q,_,$){return l6(this,void 0,void 0,function*(){let f=e6.argStringToArray(q);if(f.length===0)throw new Error("Parameter 'commandLine' cannot be null or empty.");let K=f[0];return _=f.slice(1).concat(_||[]),new e6.ToolRunner(K,_,$).exec()})}E.exec=t6;function aP(q,_,$){var f,K;return l6(this,void 0,void 0,function*(){let P="",j="",w=new a6.StringDecoder("utf8"),O=new a6.StringDecoder("utf8"),v=(f=$===null||$===void 0?void 0:$.listeners)===null||f===void 0?void 0:f.stdout,Y=(K=$===null||$===void 0?void 0:$.listeners)===null||K===void 0?void 0:K.stderr,T=(X)=>{if(j+=O.write(X),Y)Y(X)},h=(X)=>{if(P+=w.write(X),v)v(X)},J=Object.assign(Object.assign({},$===null||$===void 0?void 0:$.listeners),{stdout:h,stderr:T}),Z=yield t6(q,_,Object.assign(Object.assign({},$),{listeners:J}));return P+=w.end(),j+=O.end(),{exitCode:Z,stdout:P,stderr:j}})}E.getExecOutput=aP});var E6=H((A)=>{var eP=A&&A.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;var K=Object.getOwnPropertyDescriptor(_,$);if(!K||("get"in K?!_.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return _[$]}};Object.defineProperty(q,f,K)}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),lP=A&&A.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),tP=A&&A.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.prototype.hasOwnProperty.call(q,$))eP(_,q,$)}return lP(_,q),_},Y_=A&&A.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})},cP=A&&A.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(A,"__esModule",{value:!0});A.getDetails=A.isLinux=A.isMacOS=A.isWindows=A.arch=A.platform=void 0;var c6=cP(import.meta.require("os")),T_=tP(D_()),EP=()=>Y_(void 0,void 0,void 0,function*(){let{stdout:q}=yield T_.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',void 0,{silent:!0}),{stdout:_}=yield T_.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',void 0,{silent:!0});return{name:_.trim(),version:q.trim()}}),RP=()=>Y_(void 0,void 0,void 0,function*(){var q,_,$,f;let{stdout:K}=yield T_.getExecOutput("sw_vers",void 0,{silent:!0}),P=(_=(q=K.match(/ProductVersion:\s*(.+)/))===null||q===void 0?void 0:q[1])!==null&&_!==void 0?_:"";return{name:(f=($=K.match(/ProductName:\s*(.+)/))===null||$===void 0?void 0:$[1])!==null&&f!==void 0?f:"",version:P}}),IP=()=>Y_(void 0,void 0,void 0,function*(){let{stdout:q}=yield T_.getExecOutput("lsb_release",["-i","-r","-s"],{silent:!0}),[_,$]=q.trim().split(` 8 | `);return{name:_,version:$}});A.platform=c6.default.platform();A.arch=c6.default.arch();A.isWindows=A.platform==="win32";A.isMacOS=A.platform==="darwin";A.isLinux=A.platform==="linux";function gP(){return Y_(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield A.isWindows?EP():A.isMacOS?RP():IP()),{platform:A.platform,arch:A.arch,isWindows:A.isWindows,isMacOS:A.isMacOS,isLinux:A.isLinux})})}A.getDetails=gP});var Eq=H((k)=>{var yP=k&&k.__createBinding||(Object.create?function(q,_,$,f){if(f===void 0)f=$;var K=Object.getOwnPropertyDescriptor(_,$);if(!K||("get"in K?!_.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return _[$]}};Object.defineProperty(q,f,K)}:function(q,_,$,f){if(f===void 0)f=$;q[f]=_[$]}),DP=k&&k.__setModuleDefault||(Object.create?function(q,_){Object.defineProperty(q,"default",{enumerable:!0,value:_})}:function(q,_){q.default=_}),x_=k&&k.__importStar||function(q){if(q&&q.__esModule)return q;var _={};if(q!=null){for(var $ in q)if($!=="default"&&Object.prototype.hasOwnProperty.call(q,$))yP(_,q,$)}return DP(_,q),_},R6=k&&k.__awaiter||function(q,_,$,f){function K(P){return P instanceof $?P:new $(function(j){j(P)})}return new($||($=Promise))(function(P,j){function w(Y){try{v(f.next(Y))}catch(T){j(T)}}function O(Y){try{v(f.throw(Y))}catch(T){j(T)}}function v(Y){Y.done?P(Y.value):K(Y.value).then(w,O)}v((f=f.apply(q,_||[])).next())})};Object.defineProperty(k,"__esModule",{value:!0});k.platform=k.toPlatformPath=k.toWin32Path=k.toPosixPath=k.markdownSummary=k.summary=k.getIDToken=k.getState=k.saveState=k.group=k.endGroup=k.startGroup=k.info=k.notice=k.warning=k.error=k.debug=k.isDebug=k.setFailed=k.setCommandEcho=k.setOutput=k.getBooleanInput=k.getMultilineInput=k.getInput=k.addPath=k.setSecret=k.exportVariable=k.ExitCode=void 0;var x=B$(),Zq=Q$(),oq=$_(),I6=x_(import.meta.require("os")),LP=x_(import.meta.require("path")),xP=J6(),L_;(function(q){q[q.Success=0]="Success",q[q.Failure=1]="Failure"})(L_||(k.ExitCode=L_={}));function sP(q,_){let $=oq.toCommandValue(_);if(process.env[q]=$,process.env.GITHUB_ENV||"")return Zq.issueFileCommand("ENV",Zq.prepareKeyValueMessage(q,_));x.issueCommand("set-env",{name:q},$)}k.exportVariable=sP;function BP(q){x.issueCommand("add-mask",{},q)}k.setSecret=BP;function UP(q){if(process.env.GITHUB_PATH||"")Zq.issueFileCommand("PATH",q);else x.issueCommand("add-path",{},q);process.env.PATH=`${q}${LP.delimiter}${process.env.PATH}`}k.addPath=UP;function s_(q,_){let $=process.env[`INPUT_${q.replace(/ /g,"_").toUpperCase()}`]||"";if(_&&_.required&&!$)throw new Error(`Input required and not supplied: ${q}`);if(_&&_.trimWhitespace===!1)return $;return $.trim()}k.getInput=s_;function FP(q,_){let $=s_(q,_).split(` 9 | `).filter((f)=>f!=="");if(_&&_.trimWhitespace===!1)return $;return $.map((f)=>f.trim())}k.getMultilineInput=FP;function QP(q,_){let $=["true","True","TRUE"],f=["false","False","FALSE"],K=s_(q,_);if($.includes(K))return!0;if(f.includes(K))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${q} 10 | Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}k.getBooleanInput=QP;function qj(q,_){if(process.env.GITHUB_OUTPUT||"")return Zq.issueFileCommand("OUTPUT",Zq.prepareKeyValueMessage(q,_));process.stdout.write(I6.EOL),x.issueCommand("set-output",{name:q},oq.toCommandValue(_))}k.setOutput=qj;function _j(q){x.issue("echo",q?"on":"off")}k.setCommandEcho=_j;function $j(q){process.exitCode=L_.Failure,g6(q)}k.setFailed=$j;function fj(){return process.env.RUNNER_DEBUG==="1"}k.isDebug=fj;function Kj(q){x.issueCommand("debug",{},q)}k.debug=Kj;function g6(q,_={}){x.issueCommand("error",oq.toCommandProperties(_),q instanceof Error?q.toString():q)}k.error=g6;function Pj(q,_={}){x.issueCommand("warning",oq.toCommandProperties(_),q instanceof Error?q.toString():q)}k.warning=Pj;function jj(q,_={}){x.issueCommand("notice",oq.toCommandProperties(_),q instanceof Error?q.toString():q)}k.notice=jj;function vj(q){process.stdout.write(q+I6.EOL)}k.info=vj;function y6(q){x.issue("group",q)}k.startGroup=y6;function D6(){x.issue("endgroup")}k.endGroup=D6;function wj(q,_){return R6(this,void 0,void 0,function*(){y6(q);let $;try{$=yield _()}finally{D6()}return $})}k.group=wj;function Oj(q,_){if(process.env.GITHUB_STATE||"")return Zq.issueFileCommand("STATE",Zq.prepareKeyValueMessage(q,_));x.issueCommand("save-state",{name:q},oq.toCommandValue(_))}k.saveState=Oj;function Tj(q){return process.env[`STATE_${q}`]||""}k.getState=Tj;function Yj(q){return R6(this,void 0,void 0,function*(){return yield xP.OidcClient.getIDToken(q)})}k.getIDToken=Yj;var hj=E_();Object.defineProperty(k,"summary",{enumerable:!0,get:function(){return hj.summary}});var kj=E_();Object.defineProperty(k,"markdownSummary",{enumerable:!0,get:function(){return kj.markdownSummary}});var B_=A6();Object.defineProperty(k,"toPosixPath",{enumerable:!0,get:function(){return B_.toPosixPath}});Object.defineProperty(k,"toWin32Path",{enumerable:!0,get:function(){return B_.toWin32Path}});Object.defineProperty(k,"toPlatformPath",{enumerable:!0,get:function(){return B_.toPlatformPath}});k.platform=x_(E6())});var a=H((Gj)=>{Gj.__esModule=!0;Gj.extend=x6;Gj.indexOf=mj;Gj.escapeExpression=Aj;Gj.isEmpty=Xj;Gj.createFrame=rj;Gj.blockParams=uj;Gj.appendContextPath=nj;var Wj={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},Hj=/[&<>"'`=]/g,Jj=/[&<>"'`=]/;function Zj(q){return Wj[q]}function x6(q){for(var _=1;_{B6.__esModule=!0;var q$=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function _$(q,_){var $=_&&_.loc,f=void 0,K=void 0,P=void 0,j=void 0;if($)f=$.start.line,K=$.end.line,P=$.start.column,j=$.end.column,q+=" - "+f+":"+P;var w=Error.prototype.constructor.call(this,q);for(var O=0;O{F6.__esModule=!0;var $$=a();F6.default=function(q){q.registerHelper("blockHelperMissing",function(_,$){var{inverse:f,fn:K}=$;if(_===!0)return K(this);else if(_===!1||_==null)return f(this);else if($$.isArray(_))if(_.length>0){if($.ids)$.ids=[$.name];return q.helpers.each(_,$)}else return f(this);else{if($.data&&$.ids){var P=$$.createFrame($.data);P.contextPath=$$.appendContextPath($.data.contextPath,$.name),$={data:P}}return K(_,$)}})};Q6.exports=F6.default});var f8=H((_8,$8)=>{_8.__esModule=!0;function Ej(q){return q&&q.__esModule?q:{default:q}}var Iq=a(),Rj=B(),Ij=Ej(Rj);_8.default=function(q){q.registerHelper("each",function(_,$){if(!$)throw new Ij.default("Must pass iterator to #each");var{fn:f,inverse:K}=$,P=0,j="",w=void 0,O=void 0;if($.data&&$.ids)O=Iq.appendContextPath($.data.contextPath,$.ids[0])+".";if(Iq.isFunction(_))_=_.call(this);if($.data)w=Iq.createFrame($.data);function v(Z,X,i){if(w){if(w.key=Z,w.index=X,w.first=X===0,w.last=!!i,O)w.contextPath=O+Z}j=j+f(_[Z],{data:w,blockParams:Iq.blockParams([_[Z],Z],[O+Z,null])})}if(_&&typeof _==="object")if(Iq.isArray(_)){for(var Y=_.length;P{K8.__esModule=!0;function Dj(q){return q&&q.__esModule?q:{default:q}}var Lj=B(),xj=Dj(Lj);K8.default=function(q){q.registerHelper("helperMissing",function(){if(arguments.length===1)return;else throw new xj.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})};P8.exports=K8.default});var Y8=H((O8,T8)=>{O8.__esModule=!0;function Uj(q){return q&&q.__esModule?q:{default:q}}var v8=a(),Fj=B(),w8=Uj(Fj);O8.default=function(q){q.registerHelper("if",function(_,$){if(arguments.length!=2)throw new w8.default("#if requires exactly one argument");if(v8.isFunction(_))_=_.call(this);if(!$.hash.includeZero&&!_||v8.isEmpty(_))return $.inverse(this);else return $.fn(this)}),q.registerHelper("unless",function(_,$){if(arguments.length!=2)throw new w8.default("#unless requires exactly one argument");return q.helpers.if.call(this,_,{fn:$.inverse,inverse:$.fn,hash:$.hash})})};T8.exports=O8.default});var z8=H((h8,k8)=>{h8.__esModule=!0;h8.default=function(q){q.registerHelper("log",function(){var _=[void 0],$=arguments[arguments.length-1];for(var f=0;f{W8.__esModule=!0;W8.default=function(q){q.registerHelper("lookup",function(_,$,f){if(!_)return _;return f.lookupProperty(_,$)})};H8.exports=W8.default});var A8=H((Z8,m8)=>{Z8.__esModule=!0;function P4(q){return q&&q.__esModule?q:{default:q}}var gq=a(),j4=B(),v4=P4(j4);Z8.default=function(q){q.registerHelper("with",function(_,$){if(arguments.length!=2)throw new v4.default("#with requires exactly one argument");if(gq.isFunction(_))_=_.call(this);var f=$.fn;if(!gq.isEmpty(_)){var K=$.data;if($.data&&$.ids)K=gq.createFrame($.data),K.contextPath=gq.appendContextPath($.data.contextPath,$.ids[0]);return f(_,{data:K,blockParams:gq.blockParams([_],[K&&K.contextPath])})}else return $.inverse(this)})};m8.exports=Z8.default});var f$=H((p4)=>{p4.__esModule=!0;p4.registerDefaultHelpers=n4;p4.moveHelperToHooks=G4;function Aq(q){return q&&q.__esModule?q:{default:q}}var T4=q8(),Y4=Aq(T4),h4=f8(),k4=Aq(h4),z4=j8(),W4=Aq(z4),H4=Y8(),J4=Aq(H4),Z4=z8(),m4=Aq(Z4),A4=J8(),X4=Aq(A4),r4=A8(),u4=Aq(r4);function n4(q){Y4.default(q),k4.default(q),W4.default(q),J4.default(q),m4.default(q),X4.default(q),u4.default(q)}function G4(q,_,$){if(q.helpers[_]){if(q.hooks[_]=q.helpers[_],!$)delete q.helpers[_]}}});var u8=H((X8,r8)=>{X8.__esModule=!0;var S4=a();X8.default=function(q){q.registerDecorator("inline",function(_,$,f,K){var P=_;if(!$.partials)$.partials={},P=function(j,w){var O=f.partials;f.partials=S4.extend({},O,$.partials);var v=_(j,w);return f.partials=O,v};return $.partials[K.args[0]]=K.fn,P})};r8.exports=X8.default});var n8=H((e4)=>{e4.__esModule=!0;e4.registerDefaultDecorators=a4;function C4(q){return q&&q.__esModule?q:{default:q}}var i4=u8(),N4=C4(i4);function a4(q){N4.default(q)}});var K$=H((G8,p8)=>{G8.__esModule=!0;var c4=a(),Vq={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function q(_){if(typeof _==="string"){var $=c4.indexOf(Vq.methodMap,_.toLowerCase());if($>=0)_=$;else _=parseInt(_,10)}return _},log:function q(_){if(_=Vq.lookupLevel(_),typeof console!=="undefined"&&Vq.lookupLevel(Vq.level)<=_){var $=Vq.methodMap[_];if(!console[$])$="log";for(var f=arguments.length,K=Array(f>1?f-1:0),P=1;P{y4.__esModule=!0;y4.createNewLookupObject=g4;var I4=a();function g4(){for(var q=arguments.length,_=Array(q),$=0;${_3.__esModule=!0;_3.createProtoAccessControl=U4;_3.resultIsAllowed=F4;_3.resetLoggedProperties=q3;function x4(q){return q&&q.__esModule?q:{default:q}}var b8=d8(),s4=K$(),B4=x4(s4),z_=Object.create(null);function U4(q){var _=Object.create(null);_.constructor=!1,_.__defineGetter__=!1,_.__defineSetter__=!1,_.__lookupGetter__=!1;var $=Object.create(null);return $.__proto__=!1,{properties:{whitelist:b8.createNewLookupObject($,q.allowedProtoProperties),defaultValue:q.allowProtoPropertiesByDefault},methods:{whitelist:b8.createNewLookupObject(_,q.allowedProtoMethods),defaultValue:q.allowProtoMethodsByDefault}}}function F4(q,_,$){if(typeof q==="function")return o8(_.methods,$);else return o8(_.properties,$)}function o8(q,_){if(q.whitelist[_]!==void 0)return q.whitelist[_]===!0;if(q.defaultValue!==void 0)return q.defaultValue;return Q4(_),!1}function Q4(q){if(z_[q]!==!0)z_[q]=!0,B4.default.log("error",'Handlebars: Access has been denied to resolve the property "'+q+`" because it is not an "own property" of its parent. 11 | You can add a runtime option to disable the check or this warning: 12 | See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`)}function q3(){Object.keys(z_).forEach(function(q){delete z_[q]})}});var H_=H((H3)=>{H3.__esModule=!0;H3.HandlebarsEnvironment=w$;function S8(q){return q&&q.__esModule?q:{default:q}}var Xq=a(),j3=B(),j$=S8(j3),v3=f$(),w3=n8(),O3=K$(),W_=S8(O3),T3=P$(),Y3="4.7.8";H3.VERSION=Y3;var h3=8;H3.COMPILER_REVISION=h3;var k3=7;H3.LAST_COMPATIBLE_COMPILER_REVISION=k3;var z3={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};H3.REVISION_CHANGES=z3;var v$="[object Object]";function w$(q,_,$){this.helpers=q||{},this.partials=_||{},this.decorators=$||{},v3.registerDefaultHelpers(this),w3.registerDefaultDecorators(this)}w$.prototype={constructor:w$,logger:W_.default,log:W_.default.log,registerHelper:function q(_,$){if(Xq.toString.call(_)===v$){if($)throw new j$.default("Arg not supported with multiple helpers");Xq.extend(this.helpers,_)}else this.helpers[_]=$},unregisterHelper:function q(_){delete this.helpers[_]},registerPartial:function q(_,$){if(Xq.toString.call(_)===v$)Xq.extend(this.partials,_);else{if(typeof $==="undefined")throw new j$.default('Attempting to register a partial called "'+_+'" as undefined');this.partials[_]=$}},unregisterPartial:function q(_){delete this.partials[_]},registerDecorator:function q(_,$){if(Xq.toString.call(_)===v$){if($)throw new j$.default("Arg not supported with multiple decorators");Xq.extend(this.decorators,_)}else this.decorators[_]=$},unregisterDecorator:function q(_){delete this.decorators[_]},resetLoggedPropertyAccesses:function q(){T3.resetLoggedProperties()}};var W3=W_.default.log;H3.log=W3;H3.createFrame=Xq.createFrame;H3.logger=W_.default});var C8=H((V8,M8)=>{V8.__esModule=!0;function O$(q){this.string=q}O$.prototype.toString=O$.prototype.toHTML=function(){return""+this.string};V8.default=O$;M8.exports=V8.default});var i8=H((o3)=>{o3.__esModule=!0;o3.wrapHelper=b3;function b3(q,_){if(typeof q!=="function")return q;var $=function f(){var K=arguments[arguments.length-1];return arguments[arguments.length-1]=_(K),q.apply(this,arguments)};return $}});var t8=H((g3)=>{g3.__esModule=!0;g3.checkRevision=e3;g3.template=l3;g3.wrapProgram=J_;g3.resolvePartial=t3;g3.invokePartial=c3;g3.noop=e8;function M3(q){return q&&q.__esModule?q:{default:q}}function C3(q){if(q&&q.__esModule)return q;else{var _={};if(q!=null){for(var $ in q)if(Object.prototype.hasOwnProperty.call(q,$))_[$]=q[$]}return _.default=q,_}}var i3=a(),vq=C3(i3),N3=B(),wq=M3(N3),Oq=H_(),N8=f$(),a3=i8(),a8=P$();function e3(q){var _=q&&q[0]||1,$=Oq.COMPILER_REVISION;if(_>=Oq.LAST_COMPATIBLE_COMPILER_REVISION&&_<=Oq.COMPILER_REVISION)return;if(_{c8.__esModule=!0;c8.default=function(q){(function(){if(typeof globalThis==="object")return;Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__})();var _=globalThis.Handlebars;q.noConflict=function(){if(globalThis.Handlebars===q)globalThis.Handlebars=_;return q}};E8.exports=c8.default});var L8=H((y8,D8)=>{y8.__esModule=!0;function h$(q){return q&&q.__esModule?q:{default:q}}function k$(q){if(q&&q.__esModule)return q;else{var _={};if(q!=null){for(var $ in q)if(Object.prototype.hasOwnProperty.call(q,$))_[$]=q[$]}return _.default=q,_}}var q7=H_(),R8=k$(q7),_7=C8(),$7=h$(_7),f7=B(),K7=h$(f7),P7=a(),Y$=k$(P7),j7=t8(),I8=k$(j7),v7=T$(),w7=h$(v7);function g8(){var q=new R8.HandlebarsEnvironment;return Y$.extend(q,R8),q.SafeString=$7.default,q.Exception=K7.default,q.Utils=Y$,q.escapeExpression=Y$.escapeExpression,q.VM=I8,q.template=function(_){return I8.template(_,q)},q}var yq=g8();yq.create=g8;w7.default(yq);yq.default=yq;y8.default=yq;D8.exports=y8.default});var z$=H((s8,B8)=>{s8.__esModule=!0;var x8={helpers:{helperExpression:function q(_){return _.type==="SubExpression"||(_.type==="MustacheStatement"||_.type==="BlockStatement")&&!!(_.params&&_.params.length||_.hash)},scopedId:function q(_){return/^\.|this\b/.test(_.original)},simpleId:function q(_){return _.parts.length===1&&!x8.helpers.scopedId(_)&&!_.depth}}};s8.default=x8;B8.exports=s8.default});var Q8=H((U8,F8)=>{U8.__esModule=!0;var k7=function(){var q={trace:function f(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function f(K,P,j,w,O,v,Y){var T=v.length-1;switch(O){case 1:return v[T-1];case 2:this.$=w.prepareProgram(v[T]);break;case 3:this.$=v[T];break;case 4:this.$=v[T];break;case 5:this.$=v[T];break;case 6:this.$=v[T];break;case 7:this.$=v[T];break;case 8:this.$=v[T];break;case 9:this.$={type:"CommentStatement",value:w.stripComment(v[T]),strip:w.stripFlags(v[T],v[T]),loc:w.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:v[T],value:v[T],loc:w.locInfo(this._$)};break;case 11:this.$=w.prepareRawBlock(v[T-2],v[T-1],v[T],this._$);break;case 12:this.$={path:v[T-3],params:v[T-2],hash:v[T-1]};break;case 13:this.$=w.prepareBlock(v[T-3],v[T-2],v[T-1],v[T],!1,this._$);break;case 14:this.$=w.prepareBlock(v[T-3],v[T-2],v[T-1],v[T],!0,this._$);break;case 15:this.$={open:v[T-5],path:v[T-4],params:v[T-3],hash:v[T-2],blockParams:v[T-1],strip:w.stripFlags(v[T-5],v[T])};break;case 16:this.$={path:v[T-4],params:v[T-3],hash:v[T-2],blockParams:v[T-1],strip:w.stripFlags(v[T-5],v[T])};break;case 17:this.$={path:v[T-4],params:v[T-3],hash:v[T-2],blockParams:v[T-1],strip:w.stripFlags(v[T-5],v[T])};break;case 18:this.$={strip:w.stripFlags(v[T-1],v[T-1]),program:v[T]};break;case 19:var h=w.prepareBlock(v[T-2],v[T-1],v[T],v[T],!1,this._$),J=w.prepareProgram([h],v[T-1].loc);J.chained=!0,this.$={strip:v[T-2].strip,program:J,chain:!0};break;case 20:this.$=v[T];break;case 21:this.$={path:v[T-1],strip:w.stripFlags(v[T-2],v[T])};break;case 22:this.$=w.prepareMustache(v[T-3],v[T-2],v[T-1],v[T-4],w.stripFlags(v[T-4],v[T]),this._$);break;case 23:this.$=w.prepareMustache(v[T-3],v[T-2],v[T-1],v[T-4],w.stripFlags(v[T-4],v[T]),this._$);break;case 24:this.$={type:"PartialStatement",name:v[T-3],params:v[T-2],hash:v[T-1],indent:"",strip:w.stripFlags(v[T-4],v[T]),loc:w.locInfo(this._$)};break;case 25:this.$=w.preparePartialBlock(v[T-2],v[T-1],v[T],this._$);break;case 26:this.$={path:v[T-3],params:v[T-2],hash:v[T-1],strip:w.stripFlags(v[T-4],v[T])};break;case 27:this.$=v[T];break;case 28:this.$=v[T];break;case 29:this.$={type:"SubExpression",path:v[T-3],params:v[T-2],hash:v[T-1],loc:w.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:v[T],loc:w.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:w.id(v[T-2]),value:v[T],loc:w.locInfo(this._$)};break;case 32:this.$=w.id(v[T-1]);break;case 33:this.$=v[T];break;case 34:this.$=v[T];break;case 35:this.$={type:"StringLiteral",value:v[T],original:v[T],loc:w.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(v[T]),original:Number(v[T]),loc:w.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:v[T]==="true",original:v[T]==="true",loc:w.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:w.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:w.locInfo(this._$)};break;case 40:this.$=v[T];break;case 41:this.$=v[T];break;case 42:this.$=w.preparePath(!0,v[T],this._$);break;case 43:this.$=w.preparePath(!1,v[T],this._$);break;case 44:v[T-2].push({part:w.id(v[T]),original:v[T],separator:v[T-1]}),this.$=v[T-2];break;case 45:this.$=[{part:w.id(v[T]),original:v[T]}];break;case 46:this.$=[];break;case 47:v[T-1].push(v[T]);break;case 48:this.$=[];break;case 49:v[T-1].push(v[T]);break;case 50:this.$=[];break;case 51:v[T-1].push(v[T]);break;case 58:this.$=[];break;case 59:v[T-1].push(v[T]);break;case 64:this.$=[];break;case 65:v[T-1].push(v[T]);break;case 70:this.$=[];break;case 71:v[T-1].push(v[T]);break;case 78:this.$=[];break;case 79:v[T-1].push(v[T]);break;case 82:this.$=[];break;case 83:v[T-1].push(v[T]);break;case 86:this.$=[];break;case 87:v[T-1].push(v[T]);break;case 90:this.$=[];break;case 91:v[T-1].push(v[T]);break;case 94:this.$=[];break;case 95:v[T-1].push(v[T]);break;case 98:this.$=[v[T]];break;case 99:v[T-1].push(v[T]);break;case 100:this.$=[v[T]];break;case 101:v[T-1].push(v[T]);break}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{15:[2,48],17:39,18:[2,48]},{20:41,56:40,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:44,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:45,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:41,56:48,64:42,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:49,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,50]},{72:[1,35],86:51},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:52,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:53,38:55,39:[1,57],43:56,44:[1,58],45:54,47:[2,54]},{28:59,43:60,44:[1,58],47:[2,56]},{13:62,15:[1,20],18:[1,61]},{33:[2,86],57:63,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:64,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:65,47:[1,66]},{30:67,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:68,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:69,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:70,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:74,33:[2,80],50:71,63:72,64:75,65:[1,43],69:73,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,79]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,50]},{20:74,53:80,54:[2,84],63:81,64:75,65:[1,43],69:82,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:83,47:[1,66]},{47:[2,55]},{4:84,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:85,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:86,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:87,47:[1,66]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:74,33:[2,88],58:88,63:89,64:75,65:[1,43],69:90,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:91,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:92,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,31:93,33:[2,60],63:94,64:75,65:[1,43],69:95,70:76,71:77,72:[1,78],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,66],36:96,63:97,64:75,65:[1,43],69:98,70:76,71:77,72:[1,78],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,22:99,23:[2,52],63:100,64:75,65:[1,43],69:101,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:74,33:[2,92],62:102,63:103,64:75,65:[1,43],69:104,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,105]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:106,72:[1,107],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,108],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,109]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:55,39:[1,57],43:56,44:[1,58],45:111,46:110,47:[2,76]},{33:[2,70],40:112,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,113]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:74,63:115,64:75,65:[1,43],67:114,68:[2,96],69:116,70:76,71:77,72:[1,78],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,117]},{32:118,33:[2,62],74:119,75:[1,120]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:121,74:122,75:[1,120]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,123]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,124]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,108]},{20:74,63:125,64:75,65:[1,43],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:74,33:[2,72],41:126,63:127,64:75,65:[1,43],69:128,70:76,71:77,72:[1,78],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,129]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,130]},{33:[2,63]},{72:[1,132],76:131},{33:[1,133]},{33:[2,69]},{15:[2,12],18:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:134,74:135,75:[1,120]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,137],77:[1,136]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,138]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],54:[2,55],56:[2,20],60:[2,57],73:[2,81],82:[2,85],86:[2,18],90:[2,89],101:[2,53],104:[2,93],110:[2,19],111:[2,77],116:[2,97],119:[2,63],122:[2,69],135:[2,75],136:[2,32]},parseError:function f(K,P){throw new Error(K)},parse:function f(K){var P=this,j=[0],w=[null],O=[],v=this.table,Y="",T=0,h=0,J=0,Z=2,X=1;if(this.lexer.setInput(K),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,typeof this.lexer.yylloc=="undefined")this.lexer.yylloc={};var i=this.lexer.yylloc;O.push(i);var o=this.lexer.options&&this.lexer.options.ranges;if(typeof this.yy.parseError==="function")this.parseError=this.yy.parseError;function Hq(Kq){j.length=j.length-2*Kq,w.length=w.length-Kq,O.length=O.length-Kq}function Qq(){var Kq=P.lexer.lex()||1;if(typeof Kq!=="number")Kq=P.symbols_[Kq]||Kq;return Kq}var N,d_,Jq,g,$5,b_,Gq={},q_,fq,R$,__;while(!0){if(Jq=j[j.length-1],this.defaultActions[Jq])g=this.defaultActions[Jq];else{if(N===null||typeof N=="undefined")N=Qq();g=v[Jq]&&v[Jq][N]}if(typeof g==="undefined"||!g.length||!g[0]){var o_="";if(!J){__=[];for(q_ in v[Jq])if(this.terminals_[q_]&&q_>2)__.push("'"+this.terminals_[q_]+"'");if(this.lexer.showPosition)o_="Parse error on line "+(T+1)+`: 15 | `+this.lexer.showPosition()+` 16 | Expecting `+__.join(", ")+", got '"+(this.terminals_[N]||N)+"'";else o_="Parse error on line "+(T+1)+": Unexpected "+(N==1?"end of input":"'"+(this.terminals_[N]||N)+"'");this.parseError(o_,{text:this.lexer.match,token:this.terminals_[N]||N,line:this.lexer.yylineno,loc:i,expected:__})}}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Jq+", token: "+N);switch(g[0]){case 1:if(j.push(N),w.push(this.lexer.yytext),O.push(this.lexer.yylloc),j.push(g[1]),N=null,!d_){if(h=this.lexer.yyleng,Y=this.lexer.yytext,T=this.lexer.yylineno,i=this.lexer.yylloc,J>0)J--}else N=d_,d_=null;break;case 2:if(fq=this.productions_[g[1]][1],Gq.$=w[w.length-fq],Gq._$={first_line:O[O.length-(fq||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(fq||1)].first_column,last_column:O[O.length-1].last_column},o)Gq._$.range=[O[O.length-(fq||1)].range[0],O[O.length-1].range[1]];if(b_=this.performAction.call(Gq,Y,h,T,this.yy,g[1],w,O),typeof b_!=="undefined")return b_;if(fq)j=j.slice(0,-1*fq*2),w=w.slice(0,-1*fq),O=O.slice(0,-1*fq);j.push(this.productions_[g[1]][0]),w.push(Gq.$),O.push(Gq._$),R$=v[j[j.length-2]][j[j.length-1]],j.push(R$);break;case 3:return!0}}return!0}},_=function(){var f={EOF:1,parseError:function K(P,j){if(this.yy.parser)this.yy.parser.parseError(P,j);else throw new Error(P)},setInput:function K(P){if(this._input=P,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},input:function K(){var P=this._input[0];this.yytext+=P,this.yyleng++,this.offset++,this.match+=P,this.matched+=P;var j=P.match(/(?:\r\n?|\n).*/g);if(j)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),P},unput:function K(P){var j=P.length,w=P.split(/(?:\r\n?|\n)/g);this._input=P+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j-1),this.offset-=j;var O=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),w.length-1)this.yylineno-=w.length-1;var v=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:w?(w.length===O.length?this.yylloc.first_column:0)+O[O.length-w.length].length-w[0].length:this.yylloc.first_column-j},this.options.ranges)this.yylloc.range=[v[0],v[0]+this.yyleng-j];return this},more:function K(){return this._more=!0,this},less:function K(P){this.unput(this.match.slice(P))},pastInput:function K(){var P=this.matched.substr(0,this.matched.length-this.match.length);return(P.length>20?"...":"")+P.substr(-20).replace(/\n/g,"")},upcomingInput:function K(){var P=this.match;if(P.length<20)P+=this._input.substr(0,20-P.length);return(P.substr(0,20)+(P.length>20?"...":"")).replace(/\n/g,"")},showPosition:function K(){var P=this.pastInput(),j=new Array(P.length+1).join("-");return P+this.upcomingInput()+` 17 | `+j+"^"},next:function K(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var P,j,w,O,v,Y;if(!this._more)this.yytext="",this.match="";var T=this._currentRules();for(var h=0;hj[0].length)){if(j=w,O=h,!this.options.flex)break}if(j){if(Y=j[0].match(/(?:\r\n?|\n).*/g),Y)this.yylineno+=Y.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+j[0].length},this.yytext+=j[0],this.match+=j[0],this.matches=j,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._input=this._input.slice(j[0].length),this.matched+=j[0],P=this.performAction.call(this,this.yy,this,T[O],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(P)return P;else return}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. 18 | `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function K(){var P=this.next();if(typeof P!=="undefined")return P;else return this.lex()},begin:function K(P){this.conditionStack.push(P)},popState:function K(){return this.conditionStack.pop()},_currentRules:function K(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function K(){return this.conditionStack[this.conditionStack.length-2]},pushState:function K(P){this.begin(P)}};return f.options={},f.performAction=function K(P,j,w,O){function v(T,h){return j.yytext=j.yytext.substring(T,j.yyleng-h+T)}var Y=O;switch(w){case 0:if(j.yytext.slice(-2)==="\\\\")v(0,1),this.begin("mu");else if(j.yytext.slice(-1)==="\\")v(0,1),this.begin("emu");else this.begin("mu");if(j.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:if(this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw")return 15;else return v(5,9),"END_RAW_BLOCK";break;case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(j.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return j.yytext=v(1,2).replace(/\\"/g,'"'),80;break;case 32:return j.yytext=v(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return j.yytext=j.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},f.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],f.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},f}();q.lexer=_;function $(){this.yy={}}return $.prototype=q,q.Parser=$,new $}();U8.default=k7;F8.exports=U8.default});var A_=H(($f,ff)=>{$f.__esModule=!0;function H7(q){return q&&q.__esModule?q:{default:q}}var J7=B(),W$=H7(J7);function Z_(){this.parents=[]}Z_.prototype={constructor:Z_,mutating:!1,acceptKey:function q(_,$){var f=this.accept(_[$]);if(this.mutating){if(f&&!Z_.prototype[f.type])throw new W$.default('Unexpected node type "'+f.type+'" found when accepting '+$+" on "+_.type);_[$]=f}},acceptRequired:function q(_,$){if(this.acceptKey(_,$),!_[$])throw new W$.default(_.type+" requires "+$)},acceptArray:function q(_){for(var $=0,f=_.length;${Kf.__esModule=!0;function A7(q){return q&&q.__esModule?q:{default:q}}var X7=A_(),r7=A7(X7);function _q(){var q=arguments.length<=0||arguments[0]===void 0?{}:arguments[0];this.options=q}_q.prototype=new r7.default;_q.prototype.Program=function(q){var _=!this.options.ignoreStandalone,$=!this.isRootSeen;this.isRootSeen=!0;var f=q.body;for(var K=0,P=f.length;K{e7.__esModule=!0;e7.SourceLocation=d7;e7.id=b7;e7.stripFlags=o7;e7.stripComment=S7;e7.preparePath=V7;e7.prepareMustache=M7;e7.prepareRawBlock=C7;e7.prepareBlock=i7;e7.prepareProgram=N7;e7.preparePartialBlock=a7;function G7(q){return q&&q.__esModule?q:{default:q}}var p7=B(),Z$=G7(p7);function m$(q,_){if(_=_.path?_.path.original:_,q.path.original!==_){var $={loc:q.path.loc};throw new Z$.default(q.path.original+" doesn't match "+_,$)}}function d7(q,_){this.source=q,this.start={line:_.first_line,column:_.first_column},this.end={line:_.last_line,column:_.last_column}}function b7(q){if(/^\[.*\]$/.test(q))return q.substring(1,q.length-1);else return q}function o7(q,_){return{open:q.charAt(2)==="~",close:_.charAt(_.length-3)==="~"}}function S7(q){return q.replace(/^\{\{~?!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function V7(q,_,$){$=this.locInfo($);var f=q?"@":"",K=[],P=0;for(var j=0,w=_.length;j0)throw new Z$.default("Invalid path: "+f,{loc:$});else if(O==="..")P++}else K.push(O)}return{type:"PathExpression",data:q,depth:P,parts:K,original:f,loc:$}}function M7(q,_,$,f,K,P){var j=f.charAt(3)||f.charAt(2),w=j!=="{"&&j!=="&",O=/\*/.test(f);return{type:O?"Decorator":"MustacheStatement",path:q,params:_,hash:$,escaped:w,strip:K,loc:this.locInfo(P)}}function C7(q,_,$,f){m$(q,$),f=this.locInfo(f);var K={type:"Program",body:_,strip:{},loc:f};return{type:"BlockStatement",path:q.path,params:q.params,hash:q.hash,program:K,openStrip:{},inverseStrip:{},closeStrip:{},loc:f}}function i7(q,_,$,f,K,P){if(f&&f.path)m$(q,f);var j=/\*/.test(q.open);_.blockParams=q.blockParams;var w=void 0,O=void 0;if($){if(j)throw new Z$.default("Unexpected inverse block on decorator",$);if($.chain)$.program.body[0].closeStrip=f.strip;O=$.strip,w=$.program}if(K)K=w,w=_,_=K;return{type:j?"DecoratorBlock":"BlockStatement",path:q.path,params:q.params,hash:q.hash,program:_,inverse:w,openStrip:q.strip,inverseStrip:O,closeStrip:f&&f.strip,loc:this.locInfo(P)}}function N7(q,_){if(!_&&q.length){var $=q[0].loc,f=q[q.length-1].loc;if($&&f)_={source:$.source,start:{line:$.start.line,column:$.start.column},end:{line:f.end.line,column:f.end.column}}}return{type:"Program",body:q,strip:{},loc:_}}function a7(q,_,$,f){return m$(q,$),{type:"PartialBlockStatement",name:q.path,params:q.params,hash:q.hash,program:_,openStrip:q.strip,closeStrip:$&&$.strip,loc:this.locInfo(f)}}});var Tf=H((fv)=>{fv.__esModule=!0;fv.parseWithoutProcessing=Of;fv.parse=$v;function s7(q){if(q&&q.__esModule)return q;else{var _={};if(q!=null){for(var $ in q)if(Object.prototype.hasOwnProperty.call(q,$))_[$]=q[$]}return _.default=q,_}}function wf(q){return q&&q.__esModule?q:{default:q}}var B7=Q8(),A$=wf(B7),U7=jf(),F7=wf(U7),Q7=vf(),qv=s7(Q7),_v=a();fv.parser=A$.default;var X_={};_v.extend(X_,qv);function Of(q,_){if(q.type==="Program")return q;A$.default.yy=X_,X_.locInfo=function(f){return new X_.SourceLocation(_&&_.srcName,f)};var $=A$.default.parse(q);return $}function $v(q,_){var $=Of(q,_),f=new F7.default(_);return f.accept($)}});var zf=H((kv)=>{kv.__esModule=!0;kv.Compiler=X$;kv.precompile=Yv;kv.compile=hv;function hf(q){return q&&q.__esModule?q:{default:q}}var wv=B(),Lq=hf(wv),xq=a(),Ov=z$(),Dq=hf(Ov),Tv=[].slice;function X$(){}X$.prototype={compiler:X$,equals:function q(_){var $=this.opcodes.length;if(_.opcodes.length!==$)return!1;for(var f=0;f<$;f++){var K=this.opcodes[f],P=_.opcodes[f];if(K.opcode!==P.opcode||!kf(K.args,P.args))return!1}$=this.children.length;for(var f=0;f<$;f++)if(!this.children[f].equals(_.children[f]))return!1;return!0},guid:0,compile:function q(_,$){return this.sourceNode=[],this.opcodes=[],this.children=[],this.options=$,this.stringParams=$.stringParams,this.trackIds=$.trackIds,$.blockParams=$.blockParams||[],$.knownHelpers=xq.extend(Object.create(null),{helperMissing:!0,blockHelperMissing:!0,each:!0,if:!0,unless:!0,with:!0,log:!0,lookup:!0},$.knownHelpers),this.accept(_)},compileProgram:function q(_){var $=new this.compiler,f=$.compile(_,this.options),K=this.guid++;return this.usePartial=this.usePartial||f.usePartial,this.children[K]=f,this.useDepths=this.useDepths||f.useDepths,K},accept:function q(_){if(!this[_.type])throw new Lq.default("Unknown type: "+_.type,_);this.sourceNode.unshift(_);var $=this[_.type](_);return this.sourceNode.shift(),$},Program:function q(_){this.options.blockParams.unshift(_.blockParams);var $=_.body,f=$.length;for(var K=0;K1)throw new Lq.default("Unsupported number of partial arguments: "+f.length,_);else if(!f.length)if(this.options.explicitPartialContext)this.opcode("pushLiteral","undefined");else f.push({type:"PathExpression",parts:[],depth:0});var K=_.name.original,P=_.name.type==="SubExpression";if(P)this.accept(_.name);this.setupFullMustacheParams(_,$,void 0,!0);var j=_.indent||"";if(this.options.preventIndent&&j)this.opcode("appendContent",j),j="";this.opcode("invokePartial",P,K,j),this.opcode("append")},PartialBlockStatement:function q(_){this.PartialStatement(_)},MustacheStatement:function q(_){if(this.SubExpression(_),_.escaped&&!this.options.noEscape)this.opcode("appendEscaped");else this.opcode("append")},Decorator:function q(_){this.DecoratorBlock(_)},ContentStatement:function q(_){if(_.value)this.opcode("appendContent",_.value)},CommentStatement:function q(){},SubExpression:function q(_){Yf(_);var $=this.classifySexpr(_);if($==="simple")this.simpleSexpr(_);else if($==="helper")this.helperSexpr(_);else this.ambiguousSexpr(_)},ambiguousSexpr:function q(_,$,f){var K=_.path,P=K.parts[0],j=$!=null||f!=null;this.opcode("getContext",K.depth),this.opcode("pushProgram",$),this.opcode("pushProgram",f),K.strict=!0,this.accept(K),this.opcode("invokeAmbiguous",P,j)},simpleSexpr:function q(_){var $=_.path;$.strict=!0,this.accept($),this.opcode("resolvePossibleLambda")},helperSexpr:function q(_,$,f){var K=this.setupFullMustacheParams(_,$,f),P=_.path,j=P.parts[0];if(this.options.knownHelpers[j])this.opcode("invokeKnownHelper",K.length,j);else if(this.options.knownHelpersOnly)throw new Lq.default("You specified knownHelpersOnly, but used the unknown helper "+j,_);else P.strict=!0,P.falsy=!0,this.accept(P),this.opcode("invokeHelper",K.length,P.original,Dq.default.helpers.simpleId(P))},PathExpression:function q(_){this.addDepth(_.depth),this.opcode("getContext",_.depth);var $=_.parts[0],f=Dq.default.helpers.scopedId(_),K=!_.depth&&!f&&this.blockParamIndex($);if(K)this.opcode("lookupBlockParam",K,_.parts);else if(!$)this.opcode("pushContext");else if(_.data)this.options.data=!0,this.opcode("lookupData",_.depth,_.parts,_.strict);else this.opcode("lookupOnContext",_.parts,_.falsy,_.strict,f)},StringLiteral:function q(_){this.opcode("pushString",_.value)},NumberLiteral:function q(_){this.opcode("pushLiteral",_.value)},BooleanLiteral:function q(_){this.opcode("pushLiteral",_.value)},UndefinedLiteral:function q(){this.opcode("pushLiteral","undefined")},NullLiteral:function q(){this.opcode("pushLiteral","null")},Hash:function q(_){var $=_.pairs,f=0,K=$.length;this.opcode("pushHash");for(;f=0)return[$,P]}}};function Yv(q,_,$){if(q==null||typeof q!=="string"&&q.type!=="Program")throw new Lq.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+q);if(_=_||{},!("data"in _))_.data=!0;if(_.compat)_.useDepths=!0;var f=$.parse(q,_),K=new $.Compiler().compile(f,_);return new $.JavaScriptCompiler().compile(K,_)}function hv(q,_,$){if(_===void 0)_={};if(q==null||typeof q!=="string"&&q.type!=="Program")throw new Lq.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+q);if(_=xq.extend({},_),!("data"in _))_.data=!0;if(_.compat)_.useDepths=!0;var f=void 0;function K(){var j=$.parse(q,_),w=new $.Compiler().compile(j,_),O=new $.JavaScriptCompiler().compile(w,_,void 0,!0);return $.template(O)}function P(j,w){if(!f)f=K();return f.call(this,j,w)}return P._setup=function(j){if(!f)f=K();return f._setup(j)},P._child=function(j,w,O,v){if(!f)f=K();return f._child(j,w,O,v)},P}function kf(q,_){if(q===_)return!0;if(xq.isArray(q)&&xq.isArray(_)&&q.length===_.length){for(var $=0;${var Wf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Zv.encode=function(q){if(0<=q&&q{var Jf=Hf(),r$=5,Zf=1<>1;return _?-$:$}uv.encode=function q(_){var $="",f,K=Xv(_);do{if(f=K&mf,K>>>=r$,K>0)f|=Af;$+=Jf.encode(f)}while(K>0);return $};uv.decode=function q(_,$,f){var K=_.length,P=0,j=0,w,O;do{if($>=K)throw new Error("Expected more digits in base 64 VLQ value.");if(O=Jf.decode(_.charCodeAt($++)),O===-1)throw new Error("Invalid base64 digit: "+_.charAt($-1));w=!!(O&Af),O&=mf,P=P+(O<{function pv(q,_,$){if(_ in q)return q[_];else if(arguments.length===3)return $;else throw new Error('"'+_+'" is a required argument.')}av.getArg=pv;var Xf=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,dv=/^data:.+\,.+$/;function sq(q){var _=q.match(Xf);if(!_)return null;return{scheme:_[1],auth:_[2],host:_[3],port:_[4],path:_[5]}}av.urlParse=sq;function Mq(q){var _="";if(q.scheme)_+=q.scheme+":";if(_+="//",q.auth)_+=q.auth+"@";if(q.host)_+=q.host;if(q.port)_+=":"+q.port;if(q.path)_+=q.path;return _}av.urlGenerate=Mq;function n$(q){var _=q,$=sq(q);if($){if(!$.path)return q;_=$.path}var f=av.isAbsolute(_),K=_.split(/\/+/);for(var P,j=0,w=K.length-1;w>=0;w--)if(P=K[w],P===".")K.splice(w,1);else if(P==="..")j++;else if(j>0)if(P==="")K.splice(w+1,j),j=0;else K.splice(w,2),j--;if(_=K.join("/"),_==="")_=f?"/":".";if($)return $.path=_,Mq($);return _}av.normalize=n$;function rf(q,_){if(q==="")q=".";if(_==="")_=".";var $=sq(_),f=sq(q);if(f)q=f.path||"/";if($&&!$.scheme){if(f)$.scheme=f.scheme;return Mq($)}if($||_.match(dv))return _;if(f&&!f.host&&!f.path)return f.host=_,Mq(f);var K=_.charAt(0)==="/"?_:n$(q.replace(/\/+$/,"")+"/"+_);if(f)return f.path=K,Mq(f);return K}av.join=rf;av.isAbsolute=function(q){return q.charAt(0)==="/"||Xf.test(q)};function bv(q,_){if(q==="")q=".";q=q.replace(/\/$/,"");var $=0;while(_.indexOf(q+"/")!==0){var f=q.lastIndexOf("/");if(f<0)return _;if(q=q.slice(0,f),q.match(/^([^\/]+:\/)?\/*$/))return _;++$}return Array($+1).join("../")+_.substr(q.length+1)}av.relative=bv;var uf=function(){var q=Object.create(null);return!("__proto__"in q)}();function nf(q){return q}function ov(q){if(Gf(q))return"$"+q;return q}av.toSetString=uf?nf:ov;function Sv(q){if(Gf(q))return q.slice(1);return q}av.fromSetString=uf?nf:Sv;function Gf(q){if(!q)return!1;var _=q.length;if(_<9)return!1;if(q.charCodeAt(_-1)!==95||q.charCodeAt(_-2)!==95||q.charCodeAt(_-3)!==111||q.charCodeAt(_-4)!==116||q.charCodeAt(_-5)!==111||q.charCodeAt(_-6)!==114||q.charCodeAt(_-7)!==112||q.charCodeAt(_-8)!==95||q.charCodeAt(_-9)!==95)return!1;for(var $=_-10;$>=0;$--)if(q.charCodeAt($)!==36)return!1;return!0}function Vv(q,_,$){var f=Cq(q.source,_.source);if(f!==0)return f;if(f=q.originalLine-_.originalLine,f!==0)return f;if(f=q.originalColumn-_.originalColumn,f!==0||$)return f;if(f=q.generatedColumn-_.generatedColumn,f!==0)return f;if(f=q.generatedLine-_.generatedLine,f!==0)return f;return Cq(q.name,_.name)}av.compareByOriginalPositions=Vv;function Mv(q,_,$){var f=q.generatedLine-_.generatedLine;if(f!==0)return f;if(f=q.generatedColumn-_.generatedColumn,f!==0||$)return f;if(f=Cq(q.source,_.source),f!==0)return f;if(f=q.originalLine-_.originalLine,f!==0)return f;if(f=q.originalColumn-_.originalColumn,f!==0)return f;return Cq(q.name,_.name)}av.compareByGeneratedPositionsDeflated=Mv;function Cq(q,_){if(q===_)return 0;if(q===null)return 1;if(_===null)return-1;if(q>_)return 1;return-1}function Cv(q,_){var $=q.generatedLine-_.generatedLine;if($!==0)return $;if($=q.generatedColumn-_.generatedColumn,$!==0)return $;if($=Cq(q.source,_.source),$!==0)return $;if($=q.originalLine-_.originalLine,$!==0)return $;if($=q.originalColumn-_.originalColumn,$!==0)return $;return Cq(q.name,_.name)}av.compareByGeneratedPositionsInflated=Cv;function iv(q){return JSON.parse(q.replace(/^\)]}'[^\n]*\n/,""))}av.parseSourceMapInput=iv;function Nv(q,_,$){if(_=_||"",q){if(q[q.length-1]!=="/"&&_[0]!=="/")q+="/";_=q+_}if($){var f=sq($);if(!f)throw new Error("sourceMapURL could not be parsed");if(f.path){var K=f.path.lastIndexOf("/");if(K>=0)f.path=f.path.substring(0,K+1)}_=rf(Mq(f),_)}return n$(_)}av.computeSourceURL=Nv});var d$=H((Uv)=>{var G$=iq(),p$=Object.prototype.hasOwnProperty,uq=typeof Map!=="undefined";function Tq(){this._array=[],this._set=uq?new Map:Object.create(null)}Tq.fromArray=function q(_,$){var f=new Tq;for(var K=0,P=_.length;K=0)return $}else{var f=G$.toSetString(_);if(p$.call(this._set,f))return this._set[f]}throw new Error('"'+_+'" is not in the set.')};Tq.prototype.at=function q(_){if(_>=0&&_{var pf=iq();function Qv(q,_){var $=q.generatedLine,f=_.generatedLine,K=q.generatedColumn,P=_.generatedColumn;return f>$||f==$&&P>=K||pf.compareByGeneratedPositionsInflated(q,_)<=0}function r_(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}r_.prototype.unsortedForEach=function q(_,$){this._array.forEach(_,$)};r_.prototype.add=function q(_){if(Qv(this._last,_))this._last=_,this._array.push(_);else this._sorted=!1,this._array.push(_)};r_.prototype.toArray=function q(){if(!this._sorted)this._array.sort(pf.compareByGeneratedPositionsInflated),this._sorted=!0;return this._array};q9.MappingList=r_});var b$=H((f9)=>{var Bq=u$(),S=iq(),u_=d$().ArraySet,$9=df().MappingList;function U(q){if(!q)q={};this._file=S.getArg(q,"file",null),this._sourceRoot=S.getArg(q,"sourceRoot",null),this._skipValidation=S.getArg(q,"skipValidation",!1),this._sources=new u_,this._names=new u_,this._mappings=new $9,this._sourcesContents=null}U.prototype._version=3;U.fromSourceMap=function q(_){var $=_.sourceRoot,f=new U({file:_.file,sourceRoot:$});return _.eachMapping(function(K){var P={generated:{line:K.generatedLine,column:K.generatedColumn}};if(K.source!=null){if(P.source=K.source,$!=null)P.source=S.relative($,P.source);if(P.original={line:K.originalLine,column:K.originalColumn},K.name!=null)P.name=K.name}f.addMapping(P)}),_.sources.forEach(function(K){var P=K;if($!==null)P=S.relative($,K);if(!f._sources.has(P))f._sources.add(P);var j=_.sourceContentFor(K);if(j!=null)f.setSourceContent(K,j)}),f};U.prototype.addMapping=function q(_){var $=S.getArg(_,"generated"),f=S.getArg(_,"original",null),K=S.getArg(_,"source",null),P=S.getArg(_,"name",null);if(!this._skipValidation)this._validateMapping($,f,K,P);if(K!=null){if(K=String(K),!this._sources.has(K))this._sources.add(K)}if(P!=null){if(P=String(P),!this._names.has(P))this._names.add(P)}this._mappings.add({generatedLine:$.line,generatedColumn:$.column,originalLine:f!=null&&f.line,originalColumn:f!=null&&f.column,source:K,name:P})};U.prototype.setSourceContent=function q(_,$){var f=_;if(this._sourceRoot!=null)f=S.relative(this._sourceRoot,f);if($!=null){if(!this._sourcesContents)this._sourcesContents=Object.create(null);this._sourcesContents[S.toSetString(f)]=$}else if(this._sourcesContents){if(delete this._sourcesContents[S.toSetString(f)],Object.keys(this._sourcesContents).length===0)this._sourcesContents=null}};U.prototype.applySourceMap=function q(_,$,f){var K=$;if($==null){if(_.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);K=_.file}var P=this._sourceRoot;if(P!=null)K=S.relative(P,K);var j=new u_,w=new u_;this._mappings.unsortedForEach(function(O){if(O.source===K&&O.originalLine!=null){var v=_.originalPositionFor({line:O.originalLine,column:O.originalColumn});if(v.source!=null){if(O.source=v.source,f!=null)O.source=S.join(f,O.source);if(P!=null)O.source=S.relative(P,O.source);if(O.originalLine=v.line,O.originalColumn=v.column,v.name!=null)O.name=v.name}}var Y=O.source;if(Y!=null&&!j.has(Y))j.add(Y);var T=O.name;if(T!=null&&!w.has(T))w.add(T)},this),this._sources=j,this._names=w,_.sources.forEach(function(O){var v=_.sourceContentFor(O);if(v!=null){if(f!=null)O=S.join(f,O);if(P!=null)O=S.relative(P,O);this.setSourceContent(O,v)}},this)};U.prototype._validateMapping=function q(_,$,f,K){if($&&typeof $.line!=="number"&&typeof $.column!=="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(_&&"line"in _&&"column"in _&&_.line>0&&_.column>=0&&!$&&!f&&!K)return;else if(_&&"line"in _&&"column"in _&&$&&"line"in $&&"column"in $&&_.line>0&&_.column>=0&&$.line>0&&$.column>=0&&f)return;else throw new Error("Invalid mapping: "+JSON.stringify({generated:_,source:f,original:$,name:K}))};U.prototype._serializeMappings=function q(){var _=0,$=1,f=0,K=0,P=0,j=0,w="",O,v,Y,T,h=this._mappings.toArray();for(var J=0,Z=h.length;J0){if(!S.compareByGeneratedPositionsInflated(v,h[J-1]))continue;O+=","}if(O+=Bq.encode(v.generatedColumn-_),_=v.generatedColumn,v.source!=null){if(T=this._sources.indexOf(v.source),O+=Bq.encode(T-j),j=T,O+=Bq.encode(v.originalLine-1-K),K=v.originalLine-1,O+=Bq.encode(v.originalColumn-f),f=v.originalColumn,v.name!=null)Y=this._names.indexOf(v.name),O+=Bq.encode(Y-P),P=Y}w+=O}return w};U.prototype._generateSourcesContent=function q(_,$){return _.map(function(f){if(!this._sourcesContents)return null;if($!=null)f=S.relative($,f);var K=S.toSetString(f);return Object.prototype.hasOwnProperty.call(this._sourcesContents,K)?this._sourcesContents[K]:null},this)};U.prototype.toJSON=function q(){var _={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};if(this._file!=null)_.file=this._file;if(this._sourceRoot!=null)_.sourceRoot=this._sourceRoot;if(this._sourcesContents)_.sourcesContent=this._generateSourcesContent(_.sources,_.sourceRoot);return _};U.prototype.toString=function q(){return JSON.stringify(this.toJSON())};f9.SourceMapGenerator=U});var of=H((P9)=>{P9.GREATEST_LOWER_BOUND=1;P9.LEAST_UPPER_BOUND=2;function o$(q,_,$,f,K,P){var j=Math.floor((_-q)/2)+q,w=K($,f[j],!0);if(w===0)return j;else if(w>0){if(_-j>1)return o$(j,_,$,f,K,P);if(P==P9.LEAST_UPPER_BOUND)return _1)return o$(q,j,$,f,K,P);if(P==P9.LEAST_UPPER_BOUND)return j;else return q<0?-1:q}}P9.search=function q(_,$,f,K){if($.length===0)return-1;var P=o$(-1,$.length,_,$,f,K||P9.GREATEST_LOWER_BOUND);if(P<0)return-1;while(P-1>=0){if(f($[P],$[P-1],!0)!==0)break;--P}return P}});var Sf=H((w9)=>{function V$(q,_,$){var f=q[_];q[_]=q[$],q[$]=f}function v9(q,_){return Math.round(q+Math.random()*(_-q))}function M$(q,_,$,f){if(${var z=iq(),C$=of(),Nq=d$().ArraySet,T9=u$(),Uq=Sf().quickSort;function G(q,_){var $=q;if(typeof q==="string")$=z.parseSourceMapInput(q);return $.sections!=null?new F($,_):new V($,_)}G.fromSourceMap=function(q,_){return V.fromSourceMap(q,_)};G.prototype._version=3;G.prototype.__generatedMappings=null;Object.defineProperty(G.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){if(!this.__generatedMappings)this._parseMappings(this._mappings,this.sourceRoot);return this.__generatedMappings}});G.prototype.__originalMappings=null;Object.defineProperty(G.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){if(!this.__originalMappings)this._parseMappings(this._mappings,this.sourceRoot);return this.__originalMappings}});G.prototype._charIsMappingSeparator=function q(_,$){var f=_.charAt($);return f===";"||f===","};G.prototype._parseMappings=function q(_,$){throw new Error("Subclasses must implement _parseMappings")};G.GENERATED_ORDER=1;G.ORIGINAL_ORDER=2;G.GREATEST_LOWER_BOUND=1;G.LEAST_UPPER_BOUND=2;G.prototype.eachMapping=function q(_,$,f){var K=$||null,P=f||G.GENERATED_ORDER,j;switch(P){case G.GENERATED_ORDER:j=this._generatedMappings;break;case G.ORIGINAL_ORDER:j=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var w=this.sourceRoot;j.map(function(O){var v=O.source===null?null:this._sources.at(O.source);return v=z.computeSourceURL(w,v,this._sourceMapURL),{source:v,generatedLine:O.generatedLine,generatedColumn:O.generatedColumn,originalLine:O.originalLine,originalColumn:O.originalColumn,name:O.name===null?null:this._names.at(O.name)}},this).forEach(_,K)};G.prototype.allGeneratedPositionsFor=function q(_){var $=z.getArg(_,"line"),f={source:z.getArg(_,"source"),originalLine:$,originalColumn:z.getArg(_,"column",0)};if(f.source=this._findSourceIndex(f.source),f.source<0)return[];var K=[],P=this._findMapping(f,this._originalMappings,"originalLine","originalColumn",z.compareByOriginalPositions,C$.LEAST_UPPER_BOUND);if(P>=0){var j=this._originalMappings[P];if(_.column===void 0){var w=j.originalLine;while(j&&j.originalLine===w)K.push({line:z.getArg(j,"generatedLine",null),column:z.getArg(j,"generatedColumn",null),lastColumn:z.getArg(j,"lastGeneratedColumn",null)}),j=this._originalMappings[++P]}else{var O=j.originalColumn;while(j&&j.originalLine===$&&j.originalColumn==O)K.push({line:z.getArg(j,"generatedLine",null),column:z.getArg(j,"generatedColumn",null),lastColumn:z.getArg(j,"lastGeneratedColumn",null)}),j=this._originalMappings[++P]}}return K};Y9.SourceMapConsumer=G;function V(q,_){var $=q;if(typeof q==="string")$=z.parseSourceMapInput(q);var f=z.getArg($,"version"),K=z.getArg($,"sources"),P=z.getArg($,"names",[]),j=z.getArg($,"sourceRoot",null),w=z.getArg($,"sourcesContent",null),O=z.getArg($,"mappings"),v=z.getArg($,"file",null);if(f!=this._version)throw new Error("Unsupported version: "+f);if(j)j=z.normalize(j);K=K.map(String).map(z.normalize).map(function(Y){return j&&z.isAbsolute(j)&&z.isAbsolute(Y)?z.relative(j,Y):Y}),this._names=Nq.fromArray(P.map(String),!0),this._sources=Nq.fromArray(K,!0),this._absoluteSources=this._sources.toArray().map(function(Y){return z.computeSourceURL(j,Y,_)}),this.sourceRoot=j,this.sourcesContent=w,this._mappings=O,this._sourceMapURL=_,this.file=v}V.prototype=Object.create(G.prototype);V.prototype.consumer=G;V.prototype._findSourceIndex=function(q){var _=q;if(this.sourceRoot!=null)_=z.relative(this.sourceRoot,_);if(this._sources.has(_))return this._sources.indexOf(_);var $;for($=0;$1){if(X.source=w+o[1],w+=o[1],X.originalLine=P+o[2],P=X.originalLine,X.originalLine+=1,X.originalColumn=j+o[3],j=X.originalColumn,o.length>4)X.name=O+o[4],O+=o[4]}if(Z.push(X),typeof X.originalLine==="number")J.push(X)}Uq(Z,z.compareByGeneratedPositionsDeflated),this.__generatedMappings=Z,Uq(J,z.compareByOriginalPositions),this.__originalMappings=J};V.prototype._findMapping=function q(_,$,f,K,P,j){if(_[f]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+_[f]);if(_[K]<0)throw new TypeError("Column must be greater than or equal to 0, got "+_[K]);return C$.search(_,$,P,j)};V.prototype.computeColumnSpans=function q(){for(var _=0;_=0){var K=this._generatedMappings[f];if(K.generatedLine===$.generatedLine){var P=z.getArg(K,"source",null);if(P!==null)P=this._sources.at(P),P=z.computeSourceURL(this.sourceRoot,P,this._sourceMapURL);var j=z.getArg(K,"name",null);if(j!==null)j=this._names.at(j);return{source:P,line:z.getArg(K,"originalLine",null),column:z.getArg(K,"originalColumn",null),name:j}}}return{source:null,line:null,column:null,name:null}};V.prototype.hasContentsOfAllSources=function q(){if(!this.sourcesContent)return!1;return this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(_){return _==null})};V.prototype.sourceContentFor=function q(_,$){if(!this.sourcesContent)return null;var f=this._findSourceIndex(_);if(f>=0)return this.sourcesContent[f];var K=_;if(this.sourceRoot!=null)K=z.relative(this.sourceRoot,K);var P;if(this.sourceRoot!=null&&(P=z.urlParse(this.sourceRoot))){var j=K.replace(/^file:\/\//,"");if(P.scheme=="file"&&this._sources.has(j))return this.sourcesContent[this._sources.indexOf(j)];if((!P.path||P.path=="/")&&this._sources.has("/"+K))return this.sourcesContent[this._sources.indexOf("/"+K)]}if($)return null;else throw new Error('"'+K+'" is not in the SourceMap.')};V.prototype.generatedPositionFor=function q(_){var $=z.getArg(_,"source");if($=this._findSourceIndex($),$<0)return{line:null,column:null,lastColumn:null};var f={source:$,originalLine:z.getArg(_,"line"),originalColumn:z.getArg(_,"column")},K=this._findMapping(f,this._originalMappings,"originalLine","originalColumn",z.compareByOriginalPositions,z.getArg(_,"bias",G.GREATEST_LOWER_BOUND));if(K>=0){var P=this._originalMappings[K];if(P.source===f.source)return{line:z.getArg(P,"generatedLine",null),column:z.getArg(P,"generatedColumn",null),lastColumn:z.getArg(P,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};Y9.BasicSourceMapConsumer=V;function F(q,_){var $=q;if(typeof q==="string")$=z.parseSourceMapInput(q);var f=z.getArg($,"version"),K=z.getArg($,"sections");if(f!=this._version)throw new Error("Unsupported version: "+f);this._sources=new Nq,this._names=new Nq;var P={line:-1,column:0};this._sections=K.map(function(j){if(j.url)throw new Error("Support for url field in sections not implemented.");var w=z.getArg(j,"offset"),O=z.getArg(w,"line"),v=z.getArg(w,"column");if(O{var W9=b$().SourceMapGenerator,n_=iq(),H9=/(\r?\n)/,J9=10,aq="$$$isSourceNode$$$";function I(q,_,$,f,K){if(this.children=[],this.sourceContents={},this.line=q==null?null:q,this.column=_==null?null:_,this.source=$==null?null:$,this.name=K==null?null:K,this[aq]=!0,f!=null)this.add(f)}I.fromStringWithSourceMap=function q(_,$,f){var K=new I,P=_.split(H9),j=0,w=function(){var h=Z(),J=Z()||"";return h+J;function Z(){return j=0;$--)this.prepend(_[$]);else if(_[aq]||typeof _==="string")this.children.unshift(_);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+_);return this};I.prototype.walk=function q(_){var $;for(var f=0,K=this.children.length;f0){$=[];for(f=0;f{A9.SourceMapGenerator=b$().SourceMapGenerator;A9.SourceMapConsumer=Mf().SourceMapConsumer;A9.SourceNode=Cf().SourceNode});var cf=H((lf,tf)=>{lf.__esModule=!0;var N$=a(),nq=void 0;try{if(typeof define!=="function"||!define.amd)af=Nf(),nq=af.SourceNode}catch(q){}var af;if(!nq)nq=function(q,_,$,f){if(this.src="",f)this.add(f)},nq.prototype={add:function q(_){if(N$.isArray(_))_=_.join("");this.src+=_},prepend:function q(_){if(N$.isArray(_))_=_.join("");this.src=_+this.src},toStringWithSourceMap:function q(){return{code:this.toString()}},toString:function q(){return this.src}};function i$(q,_,$){if(N$.isArray(q)){var f=[];for(var K=0,P=q.length;K{gf.__esModule=!0;function If(q){return q&&q.__esModule?q:{default:q}}var Ef=H_(),p9=B(),a$=If(p9),d9=a(),b9=cf(),Rf=If(b9);function eq(q){this.value=q}function lq(){}lq.prototype={nameLookup:function q(_,$){return this.internalNameLookup(_,$)},depthedLookup:function q(_){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(_),")"]},compilerInfo:function q(){var _=Ef.COMPILER_REVISION,$=Ef.REVISION_CHANGES[_];return[_,$]},appendToBuffer:function q(_,$,f){if(!d9.isArray(_))_=[_];if(_=this.source.wrap(_,$),this.environment.isSimple)return["return ",_,";"];else if(f)return["buffer += ",_,";"];else return _.appendToBuffer=!0,_},initializeBuffer:function q(){return this.quotedString("")},internalNameLookup:function q(_,$){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",_,",",JSON.stringify($),")"]},lookupPropertyFunctionIsUsed:!1,compile:function q(_,$,f,K){this.environment=_,this.options=$,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!K,this.name=this.environment.name,this.isChild=!!f,this.context=f||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(_,$),this.useDepths=this.useDepths||_.useDepths||_.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||_.useBlockParams;var P=_.opcodes,j=void 0,w=void 0,O=void 0,v=void 0;for(O=0,v=P.length;O0)f+=", "+K.join(", ");var P=0;if(Object.keys(this.aliases).forEach(function(O){var v=$.aliases[O];if(v.children&&v.referenceCount>1)f+=", alias"+ ++P+"="+O,v.children[0]="alias"+P}),this.lookupPropertyFunctionIsUsed)f+=", "+this.lookupPropertyFunctionVarDeclaration();var j=["container","depth0","helpers","partials","data"];if(this.useBlockParams||this.useDepths)j.push("blockParams");if(this.useDepths)j.push("depths");var w=this.mergeSource(f);if(_)return j.push(w),Function.apply(this,j);else return this.source.wrap(["function(",j.join(","),`) { 23 | `,w,"}"])},mergeSource:function q(_){var $=this.environment.isSimple,f=!this.forceBuffer,K=void 0,P=void 0,j=void 0,w=void 0;if(this.source.each(function(O){if(O.appendToBuffer){if(j)O.prepend(" + ");else j=O;w=O}else{if(j){if(!P)K=!0;else j.prepend("buffer += ");w.add(";"),j=w=void 0}if(P=!0,!$)f=!1}}),f){if(j)j.prepend("return "),w.add(";");else if(!P)this.source.push('return "";')}else if(_+=", buffer = "+(K?"":this.initializeBuffer()),j)j.prepend("return buffer + "),w.add(";");else this.source.push("return buffer;");if(_)this.source.prepend("var "+_.substring(2)+(K?"":`; 24 | `));return this.source.merge()},lookupPropertyFunctionVarDeclaration:function q(){return` 25 | lookupProperty = container.lookupProperty || function(parent, propertyName) { 26 | if (Object.prototype.hasOwnProperty.call(parent, propertyName)) { 27 | return parent[propertyName]; 28 | } 29 | return undefined 30 | } 31 | `.trim()},blockValue:function q(_){var $=this.aliasable("container.hooks.blockHelperMissing"),f=[this.contextName(0)];this.setupHelperArgs(_,0,f);var K=this.popStack();f.splice(1,0,K),this.push(this.source.functionCall($,"call",f))},ambiguousBlockValue:function q(){var _=this.aliasable("container.hooks.blockHelperMissing"),$=[this.contextName(0)];this.setupHelperArgs("",0,$,!0),this.flushInline();var f=this.topStack();$.splice(1,0,f),this.pushSource(["if (!",this.lastHelper,") { ",f," = ",this.source.functionCall(_,"call",$),"}"])},appendContent:function q(_){if(this.pendingContent)_=this.pendingContent+_;else this.pendingLocation=this.source.currentLocation;this.pendingContent=_},append:function q(){if(this.isInline())this.replaceStack(function($){return[" != null ? ",$,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var _=this.popStack();if(this.pushSource(["if (",_," != null) { ",this.appendToBuffer(_,void 0,!0)," }"]),this.environment.isSimple)this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function q(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function q(_){this.lastContext=_},pushContext:function q(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function q(_,$,f,K){var P=0;if(!K&&this.options.compat&&!this.lastContext)this.push(this.depthedLookup(_[P++]));else this.pushContext();this.resolvePath("context",_,P,$,f)},lookupBlockParam:function q(_,$){this.useBlockParams=!0,this.push(["blockParams[",_[0],"][",_[1],"]"]),this.resolvePath("context",$,1)},lookupData:function q(_,$,f){if(!_)this.pushStackLiteral("data");else this.pushStackLiteral("container.data(data, "+_+")");this.resolvePath("data",$,0,!0,f)},resolvePath:function q(_,$,f,K,P){var j=this;if(this.options.strict||this.options.assumeObjects){this.push(o9(this.options.strict&&P,this,$,f,_));return}var w=$.length;for(;fthis.stackVars.length)this.stackVars.push("stack"+this.stackSlot);return this.topStackName()},topStackName:function q(){return"stack"+this.stackSlot},flushInline:function q(){var _=this.inlineStack;this.inlineStack=[];for(var $=0,f=_.length;${xf.__esModule=!0;function Fq(q){return q&&q.__esModule?q:{default:q}}var M9=L8(),C9=Fq(M9),i9=z$(),N9=Fq(i9),e$=Tf(),l$=zf(),a9=Df(),e9=Fq(a9),l9=A_(),t9=Fq(l9),c9=T$(),E9=Fq(c9),R9=C9.default.create;function Lf(){var q=R9();return q.compile=function(_,$){return l$.compile(_,$,q)},q.precompile=function(_,$){return l$.precompile(_,$,q)},q.AST=N9.default,q.Compiler=l$.Compiler,q.JavaScriptCompiler=e9.default,q.Parser=e$.parser,q.parse=e$.parse,q.parseWithoutProcessing=e$.parseWithoutProcessing,q}var tq=Lf();tq.create=Lf;E9.default(tq);tq.Visitor=t9.default;tq.default=tq;xf.default=tq;sf.exports=xf.default});var Uf=H((s9)=>{s9.__esModule=!0;s9.print=x9;s9.PrintVisitor=d;function y9(q){return q&&q.__esModule?q:{default:q}}var D9=A_(),L9=y9(D9);function x9(q){return new d().accept(q)}function d(){this.padding=0}d.prototype=new L9.default;d.prototype.pad=function(q){var _="";for(var $=0,f=this.padding;$ "+_+" }}")};d.prototype.PartialBlockStatement=function(q){var _="PARTIAL BLOCK:"+q.name.original;if(q.params[0])_+=" "+this.accept(q.params[0]);if(q.hash)_+=" "+this.accept(q.hash);return _+=" "+this.pad("PROGRAM:"),this.padding++,_+=this.accept(q.program),this.padding--,this.pad("{{> "+_+" }}")};d.prototype.ContentStatement=function(q){return this.pad("CONTENT[ '"+q.value+"' ]")};d.prototype.CommentStatement=function(q){return this.pad("{{! '"+q.value+"' }}")};d.prototype.SubExpression=function(q){var _=q.params,$=[],f=void 0;for(var K=0,P=_.length;K(P in Sq.process.env)))mq=!0;else mq=process.stdout.isTTY;if(mq)if(process.platform==="win32")Rq=3;else if(K&&(K==="truecolor"||K==="24bit"))Rq=3;else if(f&&(f.endsWith("-256color")||f.endsWith("256")))Rq=2;else Rq=1}var L6={enabled:mq,supportLevel:Rq};function m(q,_,$=1){let f=`\x1B[${q}m`,K=`\x1B[${_}m`,P=new RegExp(`\\x1b\\[${_}m`,"g");return(j)=>{return L6.enabled&&L6.supportLevel>=$?f+(""+j).replace(P,f)+K:""+j}}var r5=m(0,0),u5=m(1,22),n5=m(2,22),G5=m(3,23),p5=m(4,24),d5=m(7,27),b5=m(8,28),o5=m(9,29),S5=m(30,39),V5=m(31,39),U_=m(32,39),h_=m(33,39),M5=m(34,39),C5=m(35,39),s=m(36,39),i5=m(97,39),N5=m(90,39),a5=m(37,39),e5=m(91,39),l5=m(92,39),t5=m(93,39),c5=m(94,39),E5=m(95,39),R5=m(96,39),I5=m(40,49),g5=m(41,49),y5=m(42,49),D5=m(43,49),L5=m(44,49),x5=m(45,49),s5=m(46,49),B5=m(107,49),U5=m(100,49),F5=m(101,49),Q5=m(102,49),qw=m(103,49),_w=m(104,49),$w=m(105,49),fw=m(106,49),Kw=m(47,49);var k_=cq(Eq(),1);import zj from"process";var vw=zj.env.ACT==="true",kq=k_.getInput("debug",{required:!1})==="true"||k_.isDebug();import{Buffer as Q9}from"buffer";import M from"fs/promises";import{homedir as q5}from"os";import $q from"path";var R=cq(Eq(),1),t$=cq(D_(),1),$K=cq(_K(),1);function Wq(q){kq&&R.info(q)}async function fK(q,_,$){let f="",K="",P=q+(_?` ${_.join(" ")}`:"");try{return await t$.exec(q,_,{listeners:{stdout:(j)=>{f+=j.toString()},stderr:(j)=>{K+=j.toString()}},silent:!kq,...$}),f?.trim?.()}catch(j){if(K)R.warning(K);return R.warning(`${j.message}, Failed to execute command: ${P}`),""}}async function c$(q,_,$){if(!await p_(q)){R.setFailed(`Template directory ${q} not found`);return}if(!await p_(_))await M.mkdir(_,{recursive:!0});let P=await M.readdir(q);for await(let j of P){let w=$q.resolve(q,j),O=$q.resolve(_,j);if((await M.stat(w)).isDirectory())await c$(w,O,$);else{let Y=await M.readFile(w,"utf-8"),T=$K.default.compile(Y)($);await M.writeFile(O,T,"utf-8"),Wq(`Render ${s(w)} to ${s(O)}`)}}}async function KK(){let q=await E$("templates"),_=$q.join(q,"src");await M.mkdir(_,{recursive:!0});let $=(f)=>Q9.from(f,"base64").toString("utf-8");return await M.writeFile($q.join(q,"package.json"),$("ewogICJuYW1lIjogImFwcCIsCiAgInR5cGUiOiAibW9kdWxlIiwKICAidmVyc2lvbiI6ICIwLjAuMCIsCiAgInByaXZhdGUiOiB0cnVlLAogICJkZXNjcmlwdGlvbiI6ICIiLAogICJtYWluIjogImluZGV4LmpzIiwKICAic2NyaXB0cyI6IHsKICAgICJ0ZXN0IjogImVjaG8gXCJFcnJvcjogbm8gdGVzdCBzcGVjaWZpZWRcIiAmJiBleGl0IDEiCiAgfQp9Cg=="),"utf-8"),await M.writeFile($q.join(q,"tsconfig.json"),$("ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAidGFyZ2V0IjogIkVTMjAyMiIsCiAgICAicm9vdERpciI6ICIuL3NyYyIsCiAgICAibW9kdWxlIjogIk5vZGVOZXh0IiwKICAgICJtb2R1bGVSZXNvbHV0aW9uIjogIm5vZGVuZXh0IiwKICAgICJzdHJpY3QiOiB0cnVlLAogICAgImVzTW9kdWxlSW50ZXJvcCI6IHRydWUsCiAgICAiZm9yY2VDb25zaXN0ZW50Q2FzaW5nSW5GaWxlTmFtZXMiOiB0cnVlLAogICAgInNraXBMaWJDaGVjayI6IHRydWUKICB9Cn0K"),"utf-8"),await M.writeFile($q.join(_,"config.ts"),$("aW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJwppbXBvcnQgKiBhcyBjb3JlIGZyb20gJ0BhY3Rpb25zL2NvcmUnCgovKioKICog5piv5ZCm5Li66LCD6K+V5qih5byPCiAqLwpleHBvcnQgY29uc3QgaXNEZWJ1ZyA9IGNvcmUuZ2V0SW5wdXQoJ2RlYnVnJywgeyByZXF1aXJlZDogZmFsc2UgfSkgPT09ICd0cnVlJyB8fCBjb3JlLmlzRGVidWcoKQo="),"utf-8"),await M.writeFile($q.join(_,"utils.ts"),$("aW1wb3J0ICogYXMgY29yZSBmcm9tICdAYWN0aW9ucy9jb3JlJwppbXBvcnQgKiBhcyBleGVjIGZyb20gJ0BhY3Rpb25zL2V4ZWMnCmltcG9ydCB7IGlzRGVidWcgfSBmcm9tICcuL2NvbmZpZy5qcycKCi8qKgogKiBFeGVjdXRlIGEgY29tbWFuZCBhbmQgcmV0dXJuIHRoZSBvdXRwdXQKICovCiBleHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY0NvbW1hbmQoY29tbWFuZDogc3RyaW5nLCBhcmdzPzogc3RyaW5nW10sIG9wdGlvbnM/OiBleGVjLkV4ZWNPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHsKICBsZXQgb3V0cHV0ID0gJycKICBsZXQgZXJyb3IgPSAnJwogIGNvbnN0IGNtZCA9IGNvbW1hbmQgKyAoYXJncyA/IGAgJHthcmdzLmpvaW4oJyAnKX1gIDogJycpCiAgdHJ5IHsKICAgIGF3YWl0IGV4ZWMuZXhlYyhjb21tYW5kLCBhcmdzLCB7CiAgICAgIGxpc3RlbmVyczogewogICAgICAgIHN0ZG91dDogKGRhdGE6IEJ1ZmZlcikgPT4gewogICAgICAgICAgb3V0cHV0ICs9IGRhdGEudG9TdHJpbmcoKQogICAgICAgIH0sCiAgICAgICAgc3RkZXJyOiAoZGF0YSkgPT4gewogICAgICAgICAgZXJyb3IgKz0gZGF0YS50b1N0cmluZygpCiAgICAgICAgfSwKICAgICAgfSwKICAgICAgc2lsZW50OiAhaXNEZWJ1ZywKICAgICAgLi4ub3B0aW9ucywKICAgIH0pCiAgICByZXR1cm4gb3V0cHV0Py50cmltPy4oKQogIH0KICBjYXRjaCAoZTogYW55KSB7CiAgICBpZiAoZXJyb3IpIHsKICAgICAgY29yZS53YXJuaW5nKGVycm9yKQogICAgfQogICAgY29yZS53YXJuaW5nKGAke2UubWVzc2FnZX0sIEZhaWxlZCB0byBleGVjdXRlIGNvbW1hbmQ6ICR7Y21kfWApCiAgICByZXR1cm4gJycKICB9Cn0KCi8qKgogKiBDcmVhdGUgYSBsb2cgbG9nZ2VyCiAqIEBwYXJhbSBucyBuYW1lc3BhY2UKICogQHJldHVybnMKICovCmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2dnZXIobnM6IHN0cmluZykgewogIHJldHVybiAobXNnOiBzdHJpbmcpID0+IGNvcmUuaW5mbyhgIyR7bnN9OiAke21zZ31gKQp9CgovKioKICogU2V0IHRoZSBvdXRwdXQgdmFsdWUKICogQHBhcmFtIGtleSAKICogQHBhcmFtIHZhbHVlIAogKi8KZXhwb3J0IGZ1bmN0aW9uIG91dHB1dChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgewogIGNvcmUuc2V0T3V0cHV0KGtleSwgdmFsdWUpCn0KCi8qKgogKiBTZXQgdGhlIG91dHB1dCB2YWx1ZSBmcm9tIGFuIG9iamVjdAogKiBAcGFyYW0gb2JqIAogKi8KZXhwb3J0IGZ1bmN0aW9uIG91dHB1dEpzb24ob2JqOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7CiAgT2JqZWN0LmVudHJpZXMob2JqKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IG91dHB1dChrZXksIHZhbHVlKSkKfQo="),"utf-8"),await M.writeFile($q.join(_,"index.ts"),$("aW1wb3J0ICogYXMgY29yZSBmcm9tICdAYWN0aW9ucy9jb3JlJwppbXBvcnQgKiBhcyBleGVjIGZyb20gJ0BhY3Rpb25zL2V4ZWMnCmltcG9ydCB7IGNyZWF0ZUxvZ2dlciwgb3V0cHV0LCBvdXRwdXRKc29uLCBleGVjQ29tbWFuZCB9IGZyb20gJy4vdXRpbHMuanMnCnt7I2lmIGJ1biB9fQppbXBvcnQgQnVuIGZyb20gJ2J1bicKaW1wb3J0IHsgJCB9IGZyb20gJ2J1bicKe3tlbHNlIGlmIHp4fX0KaW1wb3J0ICd6eC9nbG9iYWxzJwp7ey9pZn19Cgp7e3sgc2NyaXB0IH19fQo="),"utf-8"),kq&&await R.group("Template Files",async()=>{let f=await M.readdir(q,{recursive:!0});for await(let K of f){let P=$q.join(q,K);if(!(await M.stat(P)).isDirectory()){let w=await M.readFile(P,"utf-8");R.info(`Template file: ${s(K)}`),R.info(w),R.info("")}}}),q}async function E$(q=""){let _=Math.random().toString(36).substring(2,15),$=$q.join(q5(),`ts-${_}`,q);return await M.mkdir($,{recursive:!0}),$}async function p_(q,_){return new Promise(($)=>{M.access(q,_).then(()=>$(!0)).catch(()=>$(!1))})}async function _5(){try{let $=u.getInput("script",{required:!0}),f=u.getMultilineInput("packages",{required:!1})||"",K=u.getInput("auto_install",{required:!1})==="true",P=!0,j=!1;Wq(`Mode(node/bun): ${U_("bun")}`);let w="bun";Wq(`Runner: ${U_("bun")} with bin ${s(w)}`),vK.env.BUN="true";let O=await E$(),v=jK.join(O,"node_modules"),Y=jK.join(O,"src","index.ts");Wq(`Directory: ${s(O)}`);let T=async(Z,X,i)=>{return await fK(Z,X,{cwd:O,...i})};if(K)Wq(`auto_install is enabled, deleting node_modules(${h_(v)}) directory`),await p_(v)&&await PK.rm(v,{recursive:!0});else{let Z=["@actions/core","@actions/exec"],X=[...f?.length===1?f[0].split(/[,\s]+/g):f,...Z];if(X?.length){let i=w;Wq(`Use ${s(i)} to install packages ${s(X.join(", "))}`);let o=await T(i,["install",...X],{silent:!0});kq&&await u.group("Install Packages",async()=>u.info(o))}else Wq(h_("No packages need to install"))}let h=$.replace(/^#/gm,"//");await u.group("Input Script",async()=>u.info(h));let J=await KK();kq&&u.startGroup("Templates"),await c$(J,O,{script:h,bun:!0,zx:!1}),kq&&u.endGroup(),await u.group("Output Script",async()=>u.info(await PK.readFile(Y,"utf-8"))),u.info(h_("!!! Please note that the current working directory is the temporary directory, not the Github workspace directory !!!")),u.info(`Current work directory: ${s(O)}`),u.info(`Github workspace directory: ${s(vK.cwd())}`),u.info(`If you want to use the workspace directory, please use the environment variable: ${s("process.env.GITHUB_WORKSPACE")}`),u.info(""),await T(`${w} run -i ${Y}`,[],{silent:!1}),u.setOutput("status","success")}catch(q){if(q instanceof Error)u.setFailed(q.message);else u.setFailed("An unexpected error occurred")}}_5(); 33 | 34 | //# debugId=7FA97DCB3494F89464756E2164756E21 35 | //# sourceMappingURL=bun.js.map 36 | --------------------------------------------------------------------------------