From 26e90e1922961b0511d0e5d4f509c264fec34fd6 Mon Sep 17 00:00:00 2001
From: Damien Butt <22627489+damienbutt@users.noreply.github.com>
Date: Mon, 2 Oct 2023 22:56:55 +0100
Subject: [PATCH] chore: initial commit
---
.all-contributorsrc | 13 +
.changelogrc.json | 13 +
.commitlintrc.json | 3 +
.czrc | 3 +
.editorconfig | 29 +
.genlinxrc.json | 8 +
.gitattributes | 87 +
.github/dependabot.yml | 6 +
.github/workflows/main.yml | 150 +
.gitignore | 139 +
.husky/commit-msg | 4 +
.husky/post-checkout | 3 +
.husky/post-commit | 3 +
.husky/post-merge | 3 +
.husky/pre-commit | 4 +
.husky/pre-push | 3 +
.lintstagedrc.json | 5 +
.nvmrc | 1 +
.prettierignore | 5 +
.prettierrc.json | 9 +
.vscode/extensions.json | 7 +
.vscode/settings.json | 40 +
.vscode/tasks.json | 58 +
LICENSE | 21 +
README.md | 63 +
SymLink.ps1 | 96 +
build.ps1 | 87 +
lib/.gitkeep | 0
package.json | 47 +
pnpm-lock.yaml | 5469 ++++++++++++++++++++++++++++++++++++
src/mViscaCamera.axs | 464 +++
src/mViscaCameraComm.axs | 546 ++++
32 files changed, 7389 insertions(+)
create mode 100644 .all-contributorsrc
create mode 100644 .changelogrc.json
create mode 100644 .commitlintrc.json
create mode 100644 .czrc
create mode 100644 .editorconfig
create mode 100644 .genlinxrc.json
create mode 100644 .gitattributes
create mode 100644 .github/dependabot.yml
create mode 100644 .github/workflows/main.yml
create mode 100644 .gitignore
create mode 100644 .husky/commit-msg
create mode 100644 .husky/post-checkout
create mode 100644 .husky/post-commit
create mode 100644 .husky/post-merge
create mode 100644 .husky/pre-commit
create mode 100644 .husky/pre-push
create mode 100644 .lintstagedrc.json
create mode 100644 .nvmrc
create mode 100644 .prettierignore
create mode 100644 .prettierrc.json
create mode 100644 .vscode/extensions.json
create mode 100644 .vscode/settings.json
create mode 100644 .vscode/tasks.json
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 SymLink.ps1
create mode 100644 build.ps1
create mode 100644 lib/.gitkeep
create mode 100644 package.json
create mode 100644 pnpm-lock.yaml
create mode 100644 src/mViscaCamera.axs
create mode 100644 src/mViscaCameraComm.axs
diff --git a/.all-contributorsrc b/.all-contributorsrc
new file mode 100644
index 0000000..8744496
--- /dev/null
+++ b/.all-contributorsrc
@@ -0,0 +1,13 @@
+{
+ "projectName": "NAVDatabase.Amx.ViscaCamera",
+ "projectOwner": "Norgate-AV",
+ "repoType": "github",
+ "repoHost": "https://github.com",
+ "files": ["README.md"],
+ "imageSize": 100,
+ "commit": false,
+ "commitConvention": "angular",
+ "contributorsPerLine": 7,
+ "skipCi": true,
+ "contributors": []
+}
diff --git a/.changelogrc.json b/.changelogrc.json
new file mode 100644
index 0000000..207b471
--- /dev/null
+++ b/.changelogrc.json
@@ -0,0 +1,13 @@
+{
+ "header": "Changelog",
+ "types": [
+ { "type": "feat", "section": "🌟 Features" },
+ { "type": "fix", "section": "🐛 Bug Fixes" },
+ { "type": "chore", "hidden": true },
+ { "type": "docs", "section": "📖 Bug Fixes" },
+ { "type": "style", "hidden": true },
+ { "type": "refactor", "hidden": true },
+ { "type": "perf", "section": "🚀 Performance" },
+ { "type": "test", "hidden": true }
+ ]
+}
diff --git a/.commitlintrc.json b/.commitlintrc.json
new file mode 100644
index 0000000..f4fbb7d
--- /dev/null
+++ b/.commitlintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["@commitlint/config-conventional"]
+}
diff --git a/.czrc b/.czrc
new file mode 100644
index 0000000..17fa2ac
--- /dev/null
+++ b/.czrc
@@ -0,0 +1,3 @@
+{
+ "path": "./node_modules/cz-conventional-changelog"
+}
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..96e7941
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,29 @@
+root = true
+
+[*]
+
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = tab
+tab_width = 4
+trim_trailing_whitespace = true
+
+[*.{axs,axi}]
+
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = tab
+tab_width = 4
+trim_trailing_whitespace = true
+
+[*.md]
+
+trim_trailing_whitespace = false
+
+[*.{yml,yaml}]
+
+tab_width = 2
diff --git a/.genlinxrc.json b/.genlinxrc.json
new file mode 100644
index 0000000..a36ff02
--- /dev/null
+++ b/.genlinxrc.json
@@ -0,0 +1,8 @@
+{
+ "build": {
+ "nlrc": {
+ "includePath": ["./lib"],
+ "modulePath": ["./src"]
+ }
+ }
+}
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..228d7af
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,87 @@
+# Common settings that generally should always be used with your language specific settings
+
+# Auto detect text files and perform LF normalization
+* text=auto
+
+#
+# The above will handle all files NOT found below
+#
+
+# Documents
+*.bibtex text diff=bibtex
+*.doc diff=astextplain
+*.DOC diff=astextplain
+*.docx diff=astextplain
+*.DOCX diff=astextplain
+*.dot diff=astextplain
+*.DOT diff=astextplain
+*.pdf diff=astextplain
+*.PDF diff=astextplain
+*.rtf diff=astextplain
+*.RTF diff=astextplain
+*.md text diff=markdown
+*.mdx text diff=markdown
+*.tex text diff=tex
+*.adoc text
+*.textile text
+*.mustache text
+*.csv text eol=crlf
+*.tab text
+*.tsv text
+*.txt text
+*.sql text
+*.epub diff=astextplain
+
+# Graphics
+*.png binary
+*.jpg binary
+*.jpeg binary
+*.gif binary
+*.tif binary
+*.tiff binary
+*.ico binary
+# SVG treated as text by default.
+*.svg text
+# If you want to treat it as binary,
+# use the following line instead.
+# *.svg binary
+*.eps binary
+
+# Scripts
+*.bash text eol=lf
+*.fish text eol=lf
+*.sh text eol=lf
+*.zsh text eol=lf
+# These are explicitly windows files and should use crlf
+*.bat text eol=crlf
+*.cmd text eol=crlf
+*.ps1 text eol=crlf
+
+# Serialisation
+*.json text
+*.toml text
+*.xml text
+*.yaml text
+*.yml text
+
+# Archives
+*.7z binary
+*.gz binary
+*.tar binary
+*.tgz binary
+*.zip binary
+
+# Text files where line endings should be preserved
+*.patch -text
+
+#
+# Exclude files from exporting
+#
+
+.gitattributes export-ignore
+.gitignore export-ignore
+.gitkeep export-ignore
+
+*.jar filter=lfs diff=lfs merge=lfs -text
+*.TP4 filter=lfs diff=lfs merge=lfs -text
+*.TP5 filter=lfs diff=lfs merge=lfs -text
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..aff82a1
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,6 @@
+version: 2
+updates:
+ - package-ecosystem: "npm"
+ directory: "/"
+ schedule:
+ interval: "weekly"
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..459ea1c
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,150 @@
+name: CI
+
+on:
+ push:
+ branches: [master]
+
+ pull_request:
+ branches: [master]
+
+ workflow_dispatch:
+
+defaults:
+ run:
+ shell: pwsh
+
+jobs:
+ setup:
+ name: Setup
+
+ runs-on: [self-hosted, windows, server]
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Show Environment
+ run: |
+ $PSVersionTable
+ $pwd
+ Write-Host Path:
+ $env:PATH
+ Write-Host
+ Write-Host whoami:
+ whoami
+ Write-Host
+ Write-Host Default Environment Variables:
+ Write-Host "CI: $env:CI"
+ Write-Host "GITHUB_ACTION: $env:GITHUB_ACTION"
+ Write-Host "GITHUB_ACTION_PATH: $env:GITHUB_ACTION_PATH"
+ Write-Host "GITHUB_ACTION_REPOSITORY: $env:GITHUB_ACTION_REPOSITORY"
+ Write-Host "GITHUB_ACTIONS: $env:GITHUB_ACTIONS"
+ Write-Host "GITHUB_ACTOR: $env:GITHUB_ACTOR"
+ Write-Host "GITHUB_ACTOR_ID: $env:GITHUB_ACTOR_ID"
+ Write-Host "GITHUB_API_URL: $env:GITHUB_API_URL"
+ Write-Host "GITHUB_BASE_REF: $env:GITHUB_BASE_REF"
+ Write-Host "GITHUB_ENV: $env:GITHUB_ENV"
+ Write-Host "GITHUB_EVENT_NAME: $env:GITHUB_EVENT_NAME"
+ Write-Host "GITHUB_EVENT_PATH: $env:GITHUB_EVENT_PATH"
+ Write-Host "GITHUB_GRAPHQL_URL: $env:GITHUB_GRAPHQL_URL"
+ Write-Host "GITHUB_HEAD_REF: $env:GITHUB_HEAD_REF"
+ Write-Host "GITHUB_JOB: $env:GITHUB_JOB"
+ Write-Host "GITHUB_PATH: $env:GITHUB_PATH"
+ Write-Host "GITHUB_REF: $env:GITHUB_REF"
+ Write-Host "GITHUB_REF_NAME: $env:GITHUB_REF_NAME"
+ Write-Host "GITHUB_REF_PROTECTED: $env:GITHUB_REF_PROTECTED"
+ Write-Host "GITHUB_REF_TYPE: $env:GITHUB_REF_TYPE"
+ Write-Host "GITHUB_REPOSITORY: $env:GITHUB_REPOSITORY"
+ Write-Host "GITHUB_REPOSITORY_ID: $env:GITHUB_REPOSITORY_ID"
+ Write-Host "GITHUB_REPOSITORY_OWNER: $env:GITHUB_REPOSITORY_OWNER"
+ Write-Host "GITHUB_REPOSITORY_OWNER_ID: $env:GITHUB_REPOSITORY_OWNER_ID"
+ Write-Host "GITHUB_RETENTION_DAYS: $env:GITHUB_RETENTION_DAYS"
+ Write-Host "GITHUB_RUN_ATTEMPT: $env:GITHUB_RUN_ATTEMPT"
+ Write-Host "GITHUB_RUN_ID: $env:GITHUB_RUN_ID"
+ Write-Host "GITHUB_RUN_NUMBER: $env:GITHUB_RUN_NUMBER"
+ Write-Host "GITHUB_SERVER_URL: $env:GITHUB_SERVER_URL"
+ Write-Host "GITHUB_SHA: $env:GITHUB_SHA"
+ Write-Host "GITHUB_STEP_SUMMARY: $env:GITHUB_STEP_SUMMARY"
+ Write-Host "GITHUB_WORKFLOW: $env:GITHUB_WORKFLOW"
+ Write-Host "GITHUB_WORKFLOW_REF: $env:GITHUB_WORKFLOW_REF"
+ Write-Host "GITHUB_WORKFLOW_SHA: $env:GITHUB_WORKFLOW_SHA"
+ Write-Host "GITHUB_WORKSPACE: $env:GITHUB_WORKSPACE"
+ Write-Host "RUNNER_ARCH: $env:RUNNER_ARCH"
+ Write-Host "RUNNER_DEBUG: $env:RUNNER_DEBUG"
+ Write-Host "RUNNER_NAME: $env:RUNNER_NAME"
+ Write-Host "RUNNER_OS: $env:RUNNER_OS"
+ Write-Host "RUNNER_TEMP: $env:RUNNER_TEMP"
+ Write-Host "RUNNER_TOOL_CACHE: $env:RUNNER_TOOL_CACHE"
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: ".nvmrc"
+
+ - name: Install (with cache)
+ uses: bahmutov/npm-install@v1
+ with:
+ install-command: pnpm install
+
+ - name: Check for genlinx
+ run: which genlinx
+
+ build:
+ name: Build
+
+ runs-on: [self-hosted, windows, server]
+
+ needs: [setup]
+
+ steps:
+ - name: Run Genlinx
+ run: ./build.ps1
+
+ - name: Upload build log only if failure
+ uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: build-log
+ path: ./*.build.log
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: build-artifacts
+ path: |
+ ./Source/*.tko
+ ./*.build.log
+
+ release:
+ name: Create Release
+
+ runs-on: [self-hosted, windows, server]
+
+ needs: [build]
+
+ if: github.ref == 'refs/heads/master'
+
+ steps:
+ - name: Conventional Changelog
+ id: changelog
+ uses: TriPSs/conventional-changelog-action@d360fad3a42feca6462f72c97c165d60a02d4bf2
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ tag-prefix: ""
+ release-count: "0"
+ create-summary: true
+ preset: "conventionalcommits"
+ config-file-path: "./.changelogrc.json"
+
+ - name: Create Github Release
+ uses: actions/create-release@v1
+ if: ${{ steps.changelog.outputs.skipped == 'false' }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ tag_name: ${{ steps.changelog.outputs.tag }}
+ release_name: ${{ steps.changelog.outputs.tag }}
+ body: ${{ steps.changelog.outputs.clean_changelog }}
+ # body_path: CHANGELOG.md
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8758494
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,139 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional stylelint cache
+.stylelintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# vuepress v2.x temp and cache directory
+.temp
+.cache
+
+# Docusaurus cache and generated files
+.docusaurus
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+# Amx
+*.tk*
+*.src
+*.mf
+*.zip
+*.AXW
+
+.history/
diff --git a/.husky/commit-msg b/.husky/commit-msg
new file mode 100644
index 0000000..4f9d7bc
--- /dev/null
+++ b/.husky/commit-msg
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+pnpm commitlint --edit $1
diff --git a/.husky/post-checkout b/.husky/post-checkout
new file mode 100644
index 0000000..c37815e
--- /dev/null
+++ b/.husky/post-checkout
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-checkout'.\n"; exit 2; }
+git lfs post-checkout "$@"
diff --git a/.husky/post-commit b/.husky/post-commit
new file mode 100644
index 0000000..e5230c3
--- /dev/null
+++ b/.husky/post-commit
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-commit'.\n"; exit 2; }
+git lfs post-commit "$@"
diff --git a/.husky/post-merge b/.husky/post-merge
new file mode 100644
index 0000000..c99b752
--- /dev/null
+++ b/.husky/post-merge
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-merge'.\n"; exit 2; }
+git lfs post-merge "$@"
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 0000000..243030c
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+pnpm lint-staged --concurrent false --verbose --debug
diff --git a/.husky/pre-push b/.husky/pre-push
new file mode 100644
index 0000000..216e915
--- /dev/null
+++ b/.husky/pre-push
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/pre-push'.\n"; exit 2; }
+git lfs pre-push "$@"
diff --git a/.lintstagedrc.json b/.lintstagedrc.json
new file mode 100644
index 0000000..d9809a7
--- /dev/null
+++ b/.lintstagedrc.json
@@ -0,0 +1,5 @@
+{
+ "*?(test|spec).{js,jsx,ts,tsx}": ["prettier --write"],
+ "*.{css,scss,md,html,json,yml,yaml}": ["prettier --write"],
+ "*.{axi,axs}": ["genlinx build -s"]
+}
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000..02c8b48
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+18.18.0
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..629c649
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,5 @@
+build/*
+dist/*
+node_modules/*
+.history/*
+coverage/*
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..52ed507
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,9 @@
+{
+ "trailingComma": "all",
+ "printWidth": 100,
+ "semi": true,
+ "singleQuote": false,
+ "bracketSpacing": true,
+ "bracketSameLine": false,
+ "arrowParens": "always"
+}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..ffa5bcf
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,7 @@
+{
+ "recommendations": [
+ "editorconfig.editorconfig",
+ "dbaeumer.vscode-eslint",
+ "esbenp.prettier-vscode"
+ ]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..b32114d
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,40 @@
+{
+ "typescript.validate.enable": true,
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "editor.formatOnSave": true,
+ "editor.formatOnPaste": true,
+ "files.trimTrailingWhitespace": true,
+ "files.autoSave": "onFocusChange",
+ "[markdown]": {
+ "files.trimTrailingWhitespace": false
+ },
+ "files.exclude": {
+ "**/.git": true,
+ "**/.svn": true,
+ "**/.hg": true,
+ "**/.history": true,
+ "**/CVS": true,
+ "**/.DS_Store": true,
+ "**/*.js.map": true,
+ "**/*.tk*": true,
+ "**/*.src": true,
+ "**/*.AXW": true,
+ "**/*.mf": true,
+ "node_modules": true
+ },
+ "markdownlint.config": {
+ // "default": true,
+ // "MD003": { "style": "atx_closed" },
+ "MD007": { "indent": 4 },
+ // "no-hard-tabs": false
+ "MD026": false,
+ "MD033": false,
+ "MD030": {
+ "ul_single": 3,
+ "ul_multi": 3
+ }
+ },
+ "editor.codeActionsOnSave": {
+ "source.fixAll.markdownlint": true
+ }
+}
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..993ca68
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,58 @@
+{
+ // See https://go.microsoft.com/fwlink/?LinkId=733558
+ // for the documentation about the tasks.json format
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "Netlinx Build",
+ "type": "shell",
+ "windows": {
+ "command": "C:\\Program Files (x86)\\Common Files\\AMXShare\\COM\\NLRC.exe",
+ "args": [
+ {
+ "value": "C:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Projects\\GVAV\\Kingston University\\Source\\KH-Lawley-LT-Main-NX.axs",
+ "quoting": "escape"
+ },
+ {
+ "value": "-IC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Projects\\GVAV\\Kingston University\\Include",
+ "quoting": "strong"
+ },
+ {
+ "value": "-IC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Resources\\AMX\\RMS\\4.7.18\\includes",
+ "quoting": "strong"
+ },
+ {
+ "value": "-IC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Resources\\AMX\\Includes\\NAVFoundation",
+ "quoting": "strong"
+ },
+ {
+ "value": "-IC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Resources\\AMX\\Includes\\MD5",
+ "quoting": "strong"
+ },
+ {
+ "value": "-MC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Projects\\GVAV\\Kingston University\\Module",
+ "quoting": "strong"
+ },
+ {
+ "value": "-MC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Resources\\AMX\\RMS\\4.7.18\\core-modules",
+ "quoting": "strong"
+ },
+ {
+ "value": "-MC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Resources\\AMX\\RMS\\4.7.18\\monitors-netlinx",
+ "quoting": "strong"
+ },
+ {
+ "value": "-MC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Resources\\AMX\\RMS\\4.7.18\\monitors-duet",
+ "quoting": "strong"
+ },
+ {
+ "value": "-MC:\\Users\\DamienButt\\Norgate AV Dropbox\\Damien Butt\\Resources\\AMX\\RMS\\4.7.18\\monitors",
+ "quoting": "strong"
+ }
+ ]
+ },
+ "problemMatcher": ["$nlrc"],
+ "group": "build"
+ }
+ ]
+}
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..c42d0f4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2023 Norgate AV Services Limited
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a6b0239
--- /dev/null
+++ b/README.md
@@ -0,0 +1,63 @@
+# NAVDatabase.Amx.ViscaCamera
+
+
+
+---
+
+[](https://github.com/Norgate-AV/NAVDatabase.Amx.ViscaCamera/actions/workflows/main.yml)
+[](https://conventionalcommits.org)
+[](http://commitizen.github.io/cz-cli/)
+[](LICENSE)
+
+---
+
+Description
+
+## Contents 📖
+
+
+
+
+- [Team :soccer:](#team-soccer)
+- [Contributors :sparkles:](#contributors-sparkles)
+- [LICENSE :balance_scale:](#license-balance_scale)
+
+
+
+## Team :soccer:
+
+This project is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/Norgate-AV/NAVDatabase.Amx.ViscaCamera/graphs/contributors).
+
+
+
+## Contributors :sparkles:
+
+
+
+[](#contributors-)
+
+
+
+Thanks go to these awesome people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
+
+
+
+
+
+
+
+
+
+
+This project follows the [all-contributors](https://allcontributors.org) specification.
+Contributions of any kind are welcome!
+
+## LICENSE :balance_scale:
+
+[MIT](LICENSE)
diff --git a/SymLink.ps1 b/SymLink.ps1
new file mode 100644
index 0000000..b15a997
--- /dev/null
+++ b/SymLink.ps1
@@ -0,0 +1,96 @@
+#Requires -RunAsAdministrator
+
+<#
+ _ _ _ ___ __
+| \ | | ___ _ __ __ _ __ _| |_ ___ / \ \ / /
+| \| |/ _ \| '__/ _` |/ _` | __/ _ \ / _ \ \ / /
+| |\ | (_) | | | (_| | (_| | || __// ___ \ V /
+|_| \_|\___/|_| \__, |\__,_|\__\___/_/ \_\_/
+ |___/
+
+MIT License
+
+Copyright (c) 2023 Norgate AV Services Limited
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+#>
+
+[CmdletBinding()]
+
+param (
+ [Parameter(Mandatory = $false)]
+ [string]
+ $Path = ".",
+
+ [Parameter(Mandatory = $false)]
+ [string]
+ $ModulePath = "C:\Program Files (x86)\Common Files\AMXShare\Duet\module",
+
+ [Parameter(Mandatory = $false)]
+ [string]
+ $IncludePath = "C:\Program Files (x86)\Common Files\AMXShare\AXIs"
+)
+
+try {
+ $Path = Resolve-Path $Path
+
+ $directories = Get-ChildItem -Path $Path -Directory -Recurse | Where-Object { $_.FullName -notmatch "(.git|.history|node_modules)" }
+
+ $moduleFiles = $directories | Get-ChildItem -File -Include *.axs -ErrorAction SilentlyContinue
+ $includeFiles = $directories | Get-ChildItem -File -Include *.axi -ErrorAction SilentlyContinue
+
+ if (!$moduleFiles -and !$includeFiles) {
+ Write-Host "No files found in $Path" -ForegroundColor Yellow
+ exit
+ }
+
+ foreach ($file in $includeFiles) {
+ $path = Join-Path -Path $IncludePath -ChildPath $file.Name
+ $target = $file.FullName
+
+ Write-Host "Creating symlink: $path -> $target" -ForegroundColor Green
+ New-Item -ItemType SymbolicLink -Path $path -Target $target -Force | Out-Null
+ }
+
+ foreach ($file in $moduleFiles) {
+ if (!(Test-Path $($file.FullName -replace ".axs", ".tko"))) {
+ Write-Host "TKO file not found for $file" -ForegroundColor Yellow
+ continue
+ }
+
+ $path = Join-Path -Path $ModulePath -ChildPath $file.Name
+ $target = $file.FullName
+
+ Write-Host "Creating symlink: $path -> $target" -ForegroundColor Green
+ New-Item -ItemType SymbolicLink -Path $path -Target $target -Force | Out-Null
+
+ $path = Join-Path -Path $ModulePath -ChildPath $($file.Name -replace ".axs", ".tko")
+ $target = $file.FullName -replace ".axs", ".tko"
+
+ Write-Host "Creating symlink: $path -> $target" -ForegroundColor Green
+ New-Item -ItemType SymbolicLink -Path $path -Target $target -Force | Out-Null
+ }
+}
+catch {
+ Write-Host $_.Exception.GetBaseException().Message -ForegroundColor Red
+ exit 1
+}
+
+Write-Host
+Read-Host -Prompt "Press any key to exit..."
diff --git a/build.ps1 b/build.ps1
new file mode 100644
index 0000000..27c10a0
--- /dev/null
+++ b/build.ps1
@@ -0,0 +1,87 @@
+#!/usr/bin/env pwsh
+
+<#
+ _ _ _ ___ __
+| \ | | ___ _ __ __ _ __ _| |_ ___ / \ \ / /
+| \| |/ _ \| '__/ _` |/ _` | __/ _ \ / _ \ \ / /
+| |\ | (_) | | | (_| | (_| | || __// ___ \ V /
+|_| \_|\___/|_| \__, |\__,_|\__\___/_/ \_\_/
+ |___/
+
+MIT License
+
+Copyright (c) 2023 Norgate AV Services Limited
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+#>
+
+[CmdletBinding()]
+
+param (
+ [Parameter(Mandatory = $false)]
+ [string]
+ $Path = "."
+)
+
+try {
+ $Path = Resolve-Path $Path
+
+ $axiFiles = Get-ChildItem -Path $Path -Recurse -File -Filter *.axi -ErrorAction SilentlyContinue | Where-Object { $_.FullName -notmatch ".history" }
+ $axsFiles = Get-ChildItem -Path $Path -Recurse -File -Filter *.axs -ErrorAction SilentlyContinue | Where-Object { $_.FullName -notmatch ".history" }
+
+ if (!$axiFiles -and !$axsFiles) {
+ Write-Host "No files found in $Path" -ForegroundColor Yellow
+ exit
+ }
+
+ $files = [System.Collections.ArrayList]::new()
+
+ foreach ($axiFile in $axiFiles) {
+ $files += $axiFile
+ }
+
+ foreach ($axsFile in $axsFiles) {
+ $files += $axsFile
+ }
+
+ Write-Host "Building $($files.Count) files..." -ForegroundColor Cyan
+
+ foreach ($file in $files) {
+ $x = $files.IndexOf($file) + 1
+ Write-Host "Building file $x of $($files.Count)..." -ForegroundColor Cyan
+
+ $percent = [math]::Round((($x - 1) / $files.Count) * 100, 2)
+ Write-Host "[$percent%]" -ForegroundColor Cyan
+
+ & "genlinx" build -s $file
+
+ if ($LASTEXITCODE -ne 0) {
+ Write-Host "genlinx failed with exit code $($LASTEXITCODE)" -ForegroundColor Red
+ exit 1
+ }
+ }
+
+ $percent = [math]::Round(($x / $files.Count) * 100, 2)
+ Write-Host "[$percent%]" -ForegroundColor Cyan
+ Write-Host "Build complete!" -ForegroundColor Green
+}
+catch {
+ Write-Host $_.Exception.GetBaseException().Message -ForegroundColor Red
+ exit 1
+}
diff --git a/lib/.gitkeep b/lib/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..0389313
--- /dev/null
+++ b/package.json
@@ -0,0 +1,47 @@
+{
+ "name": "NAVDatabase.Amx.ViscaCamera",
+ "version": "1.0.0",
+ "private": true,
+ "keywords": [
+ "amx",
+ "netlinx",
+ "harman",
+ "module"
+ ],
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Norgate-AV/NAVDatabase.Amx.ViscaCamera.git"
+ },
+ "bugs": {
+ "url": "https://github.com/Norgate-AV/NAVDatabase.Amx.ViscaCamera/issues"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "scripts": {
+ "build": "pwsh ./build.ps1",
+ "commit": "git-cz",
+ "prepare": "husky install",
+ "pretty:fix": "prettier --write .",
+ "doctoc": "doctoc README.md",
+ "contrib:add": "all-contributors add",
+ "contrib:generate": "all-contributors generate",
+ "contrib:check": "all-contributors check",
+ "size": "size-limit",
+ "analyze": "size-limit --why"
+ },
+ "devDependencies": {
+ "@commitlint/cli": "^17.4.4",
+ "@commitlint/config-conventional": "^17.4.4",
+ "@norgate-av/genlinx": "^1.0.0",
+ "all-contributors-cli": "^6.24.0",
+ "commitizen": "^4.3.0",
+ "cz-conventional-changelog": "3.3.0",
+ "doctoc": "^2.2.1",
+ "husky": "^8.0.3",
+ "lint-staged": "^14.0.1",
+ "prettier": "^3.0.3",
+ "size-limit": "^9.0.0"
+ }
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..c15f622
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,5469 @@
+lockfileVersion: "6.0"
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+devDependencies:
+ "@commitlint/cli":
+ specifier: ^17.4.4
+ version: 17.7.2
+ "@commitlint/config-conventional":
+ specifier: ^17.4.4
+ version: 17.7.0
+ "@norgate-av/genlinx":
+ specifier: ^1.0.0
+ version: 1.1.0
+ all-contributors-cli:
+ specifier: ^6.24.0
+ version: 6.26.1
+ commitizen:
+ specifier: ^4.3.0
+ version: 4.3.0
+ cz-conventional-changelog:
+ specifier: 3.3.0
+ version: 3.3.0
+ doctoc:
+ specifier: ^2.2.1
+ version: 2.2.1
+ husky:
+ specifier: ^8.0.3
+ version: 8.0.3
+ lint-staged:
+ specifier: ^14.0.1
+ version: 14.0.1
+ prettier:
+ specifier: ^3.0.3
+ version: 3.0.3
+ size-limit:
+ specifier: ^9.0.0
+ version: 9.0.0
+
+packages:
+ /@babel/code-frame@7.22.13:
+ resolution:
+ {
+ integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==,
+ }
+ engines: { node: ">=6.9.0" }
+ dependencies:
+ "@babel/highlight": 7.22.20
+ chalk: 2.4.2
+ dev: true
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution:
+ {
+ integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==,
+ }
+ engines: { node: ">=6.9.0" }
+ dev: true
+
+ /@babel/highlight@7.22.20:
+ resolution:
+ {
+ integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==,
+ }
+ engines: { node: ">=6.9.0" }
+ dependencies:
+ "@babel/helper-validator-identifier": 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@babel/runtime@7.23.1:
+ resolution:
+ {
+ integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==,
+ }
+ engines: { node: ">=6.9.0" }
+ dependencies:
+ regenerator-runtime: 0.14.0
+ dev: true
+
+ /@commitlint/cli@17.7.2:
+ resolution:
+ {
+ integrity: sha512-t3N7TZq7lOeqTOyEgfGcaltHqEJf7YDlPg75MldeVPPyz14jZq/+mbGF9tueDLFX8R6RwdymrN6D+U5XwZ8Iwg==,
+ }
+ engines: { node: ">=v14" }
+ hasBin: true
+ dependencies:
+ "@commitlint/format": 17.4.4
+ "@commitlint/lint": 17.7.0
+ "@commitlint/load": 17.7.2
+ "@commitlint/read": 17.5.1
+ "@commitlint/types": 17.4.4
+ execa: 5.1.1
+ lodash.isfunction: 3.0.9
+ resolve-from: 5.0.0
+ resolve-global: 1.0.0
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - "@swc/core"
+ - "@swc/wasm"
+ dev: true
+
+ /@commitlint/config-conventional@17.7.0:
+ resolution:
+ {
+ integrity: sha512-iicqh2o6et+9kWaqsQiEYZzfLbtoWv9uZl8kbI8EGfnc0HeGafQBF7AJ0ylN9D/2kj6txltsdyQs8+2fTMwWEw==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ conventional-changelog-conventionalcommits: 6.1.0
+ dev: true
+
+ /@commitlint/config-validator@17.6.7:
+ resolution:
+ {
+ integrity: sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/types": 17.4.4
+ ajv: 8.12.0
+ dev: true
+
+ /@commitlint/ensure@17.6.7:
+ resolution:
+ {
+ integrity: sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/types": 17.4.4
+ lodash.camelcase: 4.3.0
+ lodash.kebabcase: 4.1.1
+ lodash.snakecase: 4.1.1
+ lodash.startcase: 4.4.0
+ lodash.upperfirst: 4.3.1
+ dev: true
+
+ /@commitlint/execute-rule@17.4.0:
+ resolution:
+ {
+ integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==,
+ }
+ engines: { node: ">=v14" }
+ dev: true
+
+ /@commitlint/format@17.4.4:
+ resolution:
+ {
+ integrity: sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/types": 17.4.4
+ chalk: 4.1.2
+ dev: true
+
+ /@commitlint/is-ignored@17.7.0:
+ resolution:
+ {
+ integrity: sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/types": 17.4.4
+ semver: 7.5.4
+ dev: true
+
+ /@commitlint/lint@17.7.0:
+ resolution:
+ {
+ integrity: sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/is-ignored": 17.7.0
+ "@commitlint/parse": 17.7.0
+ "@commitlint/rules": 17.7.0
+ "@commitlint/types": 17.4.4
+ dev: true
+
+ /@commitlint/load@17.7.2:
+ resolution:
+ {
+ integrity: sha512-XA7WTnsjHZ4YH6ZYsrnxgLdXzriwMMq+utZUET6spbOEEIPBCDLdOQXS26P+v3TTO4hUHOEhzUquaBv3jbBixw==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/config-validator": 17.6.7
+ "@commitlint/execute-rule": 17.4.0
+ "@commitlint/resolve-extends": 17.6.7
+ "@commitlint/types": 17.4.4
+ "@types/node": 20.5.1
+ chalk: 4.1.2
+ cosmiconfig: 8.3.6(typescript@5.2.2)
+ cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2)
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ lodash.uniq: 4.5.0
+ resolve-from: 5.0.0
+ ts-node: 10.9.1(@types/node@20.5.1)(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - "@swc/core"
+ - "@swc/wasm"
+ dev: true
+
+ /@commitlint/message@17.4.2:
+ resolution:
+ {
+ integrity: sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==,
+ }
+ engines: { node: ">=v14" }
+ dev: true
+
+ /@commitlint/parse@17.7.0:
+ resolution:
+ {
+ integrity: sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/types": 17.4.4
+ conventional-changelog-angular: 6.0.0
+ conventional-commits-parser: 4.0.0
+ dev: true
+
+ /@commitlint/read@17.5.1:
+ resolution:
+ {
+ integrity: sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/top-level": 17.4.0
+ "@commitlint/types": 17.4.4
+ fs-extra: 11.1.1
+ git-raw-commits: 2.0.11
+ minimist: 1.2.8
+ dev: true
+
+ /@commitlint/resolve-extends@17.6.7:
+ resolution:
+ {
+ integrity: sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/config-validator": 17.6.7
+ "@commitlint/types": 17.4.4
+ import-fresh: 3.3.0
+ lodash.mergewith: 4.6.2
+ resolve-from: 5.0.0
+ resolve-global: 1.0.0
+ dev: true
+
+ /@commitlint/rules@17.7.0:
+ resolution:
+ {
+ integrity: sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ "@commitlint/ensure": 17.6.7
+ "@commitlint/message": 17.4.2
+ "@commitlint/to-lines": 17.4.0
+ "@commitlint/types": 17.4.4
+ execa: 5.1.1
+ dev: true
+
+ /@commitlint/to-lines@17.4.0:
+ resolution:
+ {
+ integrity: sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==,
+ }
+ engines: { node: ">=v14" }
+ dev: true
+
+ /@commitlint/top-level@17.4.0:
+ resolution:
+ {
+ integrity: sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ find-up: 5.0.0
+ dev: true
+
+ /@commitlint/types@17.4.4:
+ resolution:
+ {
+ integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==,
+ }
+ engines: { node: ">=v14" }
+ dependencies:
+ chalk: 4.1.2
+ dev: true
+
+ /@cspotcode/source-map-support@0.8.1:
+ resolution:
+ {
+ integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ "@jridgewell/trace-mapping": 0.3.9
+ dev: true
+
+ /@hapi/hoek@9.3.0:
+ resolution:
+ {
+ integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==,
+ }
+ dev: true
+
+ /@hapi/topo@5.1.0:
+ resolution:
+ {
+ integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==,
+ }
+ dependencies:
+ "@hapi/hoek": 9.3.0
+ dev: true
+
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution:
+ {
+ integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==,
+ }
+ engines: { node: ">=6.0.0" }
+ dev: true
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution:
+ {
+ integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
+ }
+ dev: true
+
+ /@jridgewell/trace-mapping@0.3.9:
+ resolution:
+ {
+ integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==,
+ }
+ dependencies:
+ "@jridgewell/resolve-uri": 3.1.1
+ "@jridgewell/sourcemap-codec": 1.4.15
+ dev: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution:
+ {
+ integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==,
+ }
+ engines: { node: ">= 8" }
+ dependencies:
+ "@nodelib/fs.stat": 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution:
+ {
+ integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==,
+ }
+ engines: { node: ">= 8" }
+ dev: true
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution:
+ {
+ integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==,
+ }
+ engines: { node: ">= 8" }
+ dependencies:
+ "@nodelib/fs.scandir": 2.1.5
+ fastq: 1.15.0
+ dev: true
+
+ /@norgate-av/genlinx@1.1.0:
+ resolution:
+ {
+ integrity: sha512-zNJCcLhlH6I1wVrt4C6txxGcrEg1FmmnRyIAy9a2gBw+XsmI0FnfOBhQjcCX36LfP2ZdSETSqreLFXX1P4QWUw==,
+ }
+ engines: { node: ">=16" }
+ hasBin: true
+ dependencies:
+ adm-zip: 0.5.10
+ chalk: 4.1.2
+ commander: 9.5.0
+ esm: 3.2.25
+ execa: 5.1.1
+ figlet: 1.6.0
+ find-up: 5.0.0
+ fs-extra: 10.1.0
+ inquirer: 8.2.6
+ listr2: 5.0.8
+ mergician: 1.1.0
+ node-jq: 2.3.5
+ string-builder: 0.1.8
+ which: 2.0.2
+ transitivePeerDependencies:
+ - enquirer
+ dev: true
+
+ /@sideway/address@4.1.4:
+ resolution:
+ {
+ integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==,
+ }
+ dependencies:
+ "@hapi/hoek": 9.3.0
+ dev: true
+
+ /@sideway/formula@3.0.1:
+ resolution:
+ {
+ integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==,
+ }
+ dev: true
+
+ /@sideway/pinpoint@2.0.0:
+ resolution:
+ {
+ integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==,
+ }
+ dev: true
+
+ /@textlint/ast-node-types@12.6.1:
+ resolution:
+ {
+ integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==,
+ }
+ dev: true
+
+ /@textlint/markdown-to-ast@12.6.1:
+ resolution:
+ {
+ integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==,
+ }
+ dependencies:
+ "@textlint/ast-node-types": 12.6.1
+ debug: 4.3.4
+ mdast-util-gfm-autolink-literal: 0.1.3
+ remark-footnotes: 3.0.0
+ remark-frontmatter: 3.0.0
+ remark-gfm: 1.0.0
+ remark-parse: 9.0.0
+ traverse: 0.6.7
+ unified: 9.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@tsconfig/node10@1.0.9:
+ resolution:
+ {
+ integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==,
+ }
+ dev: true
+
+ /@tsconfig/node12@1.0.11:
+ resolution:
+ {
+ integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==,
+ }
+ dev: true
+
+ /@tsconfig/node14@1.0.3:
+ resolution:
+ {
+ integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==,
+ }
+ dev: true
+
+ /@tsconfig/node16@1.0.4:
+ resolution:
+ {
+ integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==,
+ }
+ dev: true
+
+ /@types/keyv@3.1.4:
+ resolution:
+ {
+ integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==,
+ }
+ dependencies:
+ "@types/node": 20.8.2
+ dev: true
+
+ /@types/mdast@3.0.13:
+ resolution:
+ {
+ integrity: sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==,
+ }
+ dependencies:
+ "@types/unist": 2.0.8
+ dev: true
+
+ /@types/minimist@1.2.3:
+ resolution:
+ {
+ integrity: sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==,
+ }
+ dev: true
+
+ /@types/node@20.5.1:
+ resolution:
+ {
+ integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==,
+ }
+ dev: true
+
+ /@types/node@20.8.2:
+ resolution:
+ {
+ integrity: sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==,
+ }
+ dev: true
+
+ /@types/normalize-package-data@2.4.2:
+ resolution:
+ {
+ integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==,
+ }
+ dev: true
+
+ /@types/responselike@1.0.1:
+ resolution:
+ {
+ integrity: sha512-TiGnitEDxj2X0j+98Eqk5lv/Cij8oHd32bU4D/Yw6AOq7vvTk0gSD2GPj0G/HkvhMoVsdlhYF4yqqlyPBTM6Sg==,
+ }
+ dependencies:
+ "@types/node": 20.8.2
+ dev: true
+
+ /@types/unist@2.0.8:
+ resolution:
+ {
+ integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==,
+ }
+ dev: true
+
+ /JSONStream@1.3.5:
+ resolution:
+ {
+ integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==,
+ }
+ hasBin: true
+ dependencies:
+ jsonparse: 1.3.1
+ through: 2.3.8
+ dev: true
+
+ /acorn-walk@8.2.0:
+ resolution:
+ {
+ integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==,
+ }
+ engines: { node: ">=0.4.0" }
+ dev: true
+
+ /acorn@8.10.0:
+ resolution:
+ {
+ integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==,
+ }
+ engines: { node: ">=0.4.0" }
+ hasBin: true
+ dev: true
+
+ /adm-zip@0.5.10:
+ resolution:
+ {
+ integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==,
+ }
+ engines: { node: ">=6.0" }
+ dev: true
+
+ /aggregate-error@3.1.0:
+ resolution:
+ {
+ integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+ dev: true
+
+ /ajv@8.12.0:
+ resolution:
+ {
+ integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==,
+ }
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+ dev: true
+
+ /all-contributors-cli@6.26.1:
+ resolution:
+ {
+ integrity: sha512-Ymgo3FJACRBEd1eE653FD1J/+uD0kqpUNYfr9zNC1Qby0LgbhDBzB3EF6uvkAbYpycStkk41J+0oo37Lc02yEw==,
+ }
+ engines: { node: ">=4" }
+ hasBin: true
+ dependencies:
+ "@babel/runtime": 7.23.1
+ async: 3.2.4
+ chalk: 4.1.2
+ didyoumean: 1.2.2
+ inquirer: 7.3.3
+ json-fixer: 1.6.15
+ lodash: 4.17.21
+ node-fetch: 2.7.0
+ pify: 5.0.0
+ yargs: 15.4.1
+ optionalDependencies:
+ prettier: 2.8.8
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /anchor-markdown-header@0.6.0:
+ resolution:
+ {
+ integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==,
+ }
+ dependencies:
+ emoji-regex: 10.1.0
+ dev: true
+
+ /ansi-escapes@4.3.2:
+ resolution:
+ {
+ integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ type-fest: 0.21.3
+ dev: true
+
+ /ansi-escapes@5.0.0:
+ resolution:
+ {
+ integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ type-fest: 1.4.0
+ dev: true
+
+ /ansi-regex@5.0.1:
+ resolution:
+ {
+ integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /ansi-regex@6.0.1:
+ resolution:
+ {
+ integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==,
+ }
+ engines: { node: ">=12" }
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution:
+ {
+ integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ color-convert: 1.9.3
+ dev: true
+
+ /ansi-styles@4.3.0:
+ resolution:
+ {
+ integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /ansi-styles@6.2.1:
+ resolution:
+ {
+ integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==,
+ }
+ engines: { node: ">=12" }
+ dev: true
+
+ /anymatch@3.1.3:
+ resolution:
+ {
+ integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==,
+ }
+ engines: { node: ">= 8" }
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /arg@4.1.3:
+ resolution:
+ {
+ integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==,
+ }
+ dev: true
+
+ /argparse@2.0.1:
+ resolution:
+ {
+ integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
+ }
+ dev: true
+
+ /array-ify@1.0.0:
+ resolution:
+ {
+ integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==,
+ }
+ dev: true
+
+ /array-union@2.1.0:
+ resolution:
+ {
+ integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /arrify@1.0.1:
+ resolution:
+ {
+ integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /astral-regex@2.0.0:
+ resolution:
+ {
+ integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /async@3.2.4:
+ resolution:
+ {
+ integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==,
+ }
+ dev: true
+
+ /at-least-node@1.0.0:
+ resolution:
+ {
+ integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==,
+ }
+ engines: { node: ">= 4.0.0" }
+ dev: true
+
+ /bail@1.0.5:
+ resolution:
+ {
+ integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==,
+ }
+ dev: true
+
+ /balanced-match@1.0.2:
+ resolution:
+ {
+ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
+ }
+ dev: true
+
+ /base64-js@1.5.1:
+ resolution:
+ {
+ integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==,
+ }
+ dev: true
+
+ /bin-build@3.0.0:
+ resolution:
+ {
+ integrity: sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ decompress: 4.2.1
+ download: 6.2.5
+ execa: 0.7.0
+ p-map-series: 1.0.0
+ tempfile: 2.0.0
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution:
+ {
+ integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /bl@1.2.3:
+ resolution:
+ {
+ integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==,
+ }
+ dependencies:
+ readable-stream: 2.3.8
+ safe-buffer: 5.2.1
+ dev: true
+
+ /bl@4.1.0:
+ resolution:
+ {
+ integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==,
+ }
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: true
+
+ /brace-expansion@1.1.11:
+ resolution:
+ {
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
+ }
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /braces@3.0.2:
+ resolution:
+ {
+ integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /buffer-alloc-unsafe@1.1.0:
+ resolution:
+ {
+ integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==,
+ }
+ dev: true
+
+ /buffer-alloc@1.2.0:
+ resolution:
+ {
+ integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==,
+ }
+ dependencies:
+ buffer-alloc-unsafe: 1.1.0
+ buffer-fill: 1.0.0
+ dev: true
+
+ /buffer-crc32@0.2.13:
+ resolution:
+ {
+ integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==,
+ }
+ dev: true
+
+ /buffer-fill@1.0.0:
+ resolution:
+ {
+ integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==,
+ }
+ dev: true
+
+ /buffer@5.7.1:
+ resolution:
+ {
+ integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==,
+ }
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: true
+
+ /bytes-iec@3.1.1:
+ resolution:
+ {
+ integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==,
+ }
+ engines: { node: ">= 0.8" }
+ dev: true
+
+ /cachedir@2.3.0:
+ resolution:
+ {
+ integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /callsites@3.1.0:
+ resolution:
+ {
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /camelcase-keys@6.2.2:
+ resolution:
+ {
+ integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ camelcase: 5.3.1
+ map-obj: 4.3.0
+ quick-lru: 4.0.1
+ dev: true
+
+ /camelcase@5.3.1:
+ resolution:
+ {
+ integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /caw@2.0.1:
+ resolution:
+ {
+ integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ get-proxy: 2.1.0
+ isurl: 1.0.0
+ tunnel-agent: 0.6.0
+ url-to-options: 1.0.1
+ dev: true
+
+ /ccount@1.1.0:
+ resolution:
+ {
+ integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==,
+ }
+ dev: true
+
+ /chalk@2.4.2:
+ resolution:
+ {
+ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: true
+
+ /chalk@4.1.2:
+ resolution:
+ {
+ integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /chalk@5.3.0:
+ resolution:
+ {
+ integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==,
+ }
+ engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
+ dev: true
+
+ /character-entities-legacy@1.1.4:
+ resolution:
+ {
+ integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==,
+ }
+ dev: true
+
+ /character-entities@1.2.4:
+ resolution:
+ {
+ integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==,
+ }
+ dev: true
+
+ /character-reference-invalid@1.1.4:
+ resolution:
+ {
+ integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==,
+ }
+ dev: true
+
+ /chardet@0.7.0:
+ resolution:
+ {
+ integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==,
+ }
+ dev: true
+
+ /chokidar@3.5.3:
+ resolution:
+ {
+ integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==,
+ }
+ engines: { node: ">= 8.10.0" }
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /clean-stack@2.2.0:
+ resolution:
+ {
+ integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /cli-cursor@3.1.0:
+ resolution:
+ {
+ integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ restore-cursor: 3.1.0
+ dev: true
+
+ /cli-cursor@4.0.0:
+ resolution:
+ {
+ integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ restore-cursor: 4.0.0
+ dev: true
+
+ /cli-spinners@2.9.1:
+ resolution:
+ {
+ integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /cli-truncate@2.1.0:
+ resolution:
+ {
+ integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ slice-ansi: 3.0.0
+ string-width: 4.2.3
+ dev: true
+
+ /cli-truncate@3.1.0:
+ resolution:
+ {
+ integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 5.1.2
+ dev: true
+
+ /cli-width@3.0.0:
+ resolution:
+ {
+ integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==,
+ }
+ engines: { node: ">= 10" }
+ dev: true
+
+ /cliui@6.0.0:
+ resolution:
+ {
+ integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==,
+ }
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+ dev: true
+
+ /cliui@8.0.1:
+ resolution:
+ {
+ integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /clone@1.0.4:
+ resolution:
+ {
+ integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==,
+ }
+ engines: { node: ">=0.8" }
+ dev: true
+
+ /color-convert@1.9.3:
+ resolution:
+ {
+ integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
+ }
+ dependencies:
+ color-name: 1.1.3
+ dev: true
+
+ /color-convert@2.0.1:
+ resolution:
+ {
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
+ }
+ engines: { node: ">=7.0.0" }
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name@1.1.3:
+ resolution:
+ {
+ integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
+ }
+ dev: true
+
+ /color-name@1.1.4:
+ resolution:
+ {
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+ }
+ dev: true
+
+ /colorette@2.0.20:
+ resolution:
+ {
+ integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==,
+ }
+ dev: true
+
+ /commander@11.0.0:
+ resolution:
+ {
+ integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==,
+ }
+ engines: { node: ">=16" }
+ dev: true
+
+ /commander@2.20.3:
+ resolution:
+ {
+ integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==,
+ }
+ dev: true
+
+ /commander@9.5.0:
+ resolution:
+ {
+ integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==,
+ }
+ engines: { node: ^12.20.0 || >=14 }
+ dev: true
+
+ /commitizen@4.3.0:
+ resolution:
+ {
+ integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==,
+ }
+ engines: { node: ">= 12" }
+ hasBin: true
+ dependencies:
+ cachedir: 2.3.0
+ cz-conventional-changelog: 3.3.0
+ dedent: 0.7.0
+ detect-indent: 6.1.0
+ find-node-modules: 2.1.3
+ find-root: 1.1.0
+ fs-extra: 9.1.0
+ glob: 7.2.3
+ inquirer: 8.2.5
+ is-utf8: 0.2.1
+ lodash: 4.17.21
+ minimist: 1.2.7
+ strip-bom: 4.0.0
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - "@swc/core"
+ - "@swc/wasm"
+ dev: true
+
+ /compare-func@2.0.0:
+ resolution:
+ {
+ integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==,
+ }
+ dependencies:
+ array-ify: 1.0.0
+ dot-prop: 5.3.0
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution:
+ {
+ integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
+ }
+ dev: true
+
+ /config-chain@1.1.13:
+ resolution:
+ {
+ integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==,
+ }
+ dependencies:
+ ini: 1.3.8
+ proto-list: 1.2.4
+ dev: true
+
+ /content-disposition@0.5.4:
+ resolution:
+ {
+ integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==,
+ }
+ engines: { node: ">= 0.6" }
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /conventional-changelog-angular@6.0.0:
+ resolution:
+ {
+ integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==,
+ }
+ engines: { node: ">=14" }
+ dependencies:
+ compare-func: 2.0.0
+ dev: true
+
+ /conventional-changelog-conventionalcommits@6.1.0:
+ resolution:
+ {
+ integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==,
+ }
+ engines: { node: ">=14" }
+ dependencies:
+ compare-func: 2.0.0
+ dev: true
+
+ /conventional-commit-types@3.0.0:
+ resolution:
+ {
+ integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==,
+ }
+ dev: true
+
+ /conventional-commits-parser@4.0.0:
+ resolution:
+ {
+ integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==,
+ }
+ engines: { node: ">=14" }
+ hasBin: true
+ dependencies:
+ JSONStream: 1.3.5
+ is-text-path: 1.0.1
+ meow: 8.1.2
+ split2: 3.2.2
+ dev: true
+
+ /core-util-is@1.0.3:
+ resolution:
+ {
+ integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==,
+ }
+ dev: true
+
+ /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==,
+ }
+ engines: { node: ">=v14.21.3" }
+ peerDependencies:
+ "@types/node": "*"
+ cosmiconfig: ">=7"
+ ts-node: ">=10"
+ typescript: ">=4"
+ dependencies:
+ "@types/node": 20.5.1
+ cosmiconfig: 8.3.6(typescript@5.2.2)
+ ts-node: 10.9.1(@types/node@20.5.1)(typescript@5.2.2)
+ typescript: 5.2.2
+ dev: true
+
+ /cosmiconfig@8.3.6(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==,
+ }
+ engines: { node: ">=14" }
+ peerDependencies:
+ typescript: ">=4.9.5"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ typescript: 5.2.2
+ dev: true
+
+ /create-require@1.1.1:
+ resolution:
+ {
+ integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==,
+ }
+ dev: true
+
+ /cross-spawn@5.1.0:
+ resolution:
+ {
+ integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==,
+ }
+ dependencies:
+ lru-cache: 4.1.5
+ shebang-command: 1.2.0
+ which: 1.3.1
+ dev: true
+
+ /cross-spawn@7.0.3:
+ resolution:
+ {
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+ }
+ engines: { node: ">= 8" }
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /cz-conventional-changelog@3.3.0:
+ resolution:
+ {
+ integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==,
+ }
+ engines: { node: ">= 10" }
+ dependencies:
+ chalk: 2.4.2
+ commitizen: 4.3.0
+ conventional-commit-types: 3.0.0
+ lodash.map: 4.6.0
+ longest: 2.0.1
+ word-wrap: 1.2.5
+ optionalDependencies:
+ "@commitlint/load": 17.7.2
+ transitivePeerDependencies:
+ - "@swc/core"
+ - "@swc/wasm"
+ dev: true
+
+ /dargs@7.0.0:
+ resolution:
+ {
+ integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /debug@4.3.4:
+ resolution:
+ {
+ integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==,
+ }
+ engines: { node: ">=6.0" }
+ peerDependencies:
+ supports-color: "*"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /decamelize-keys@1.1.1:
+ resolution:
+ {
+ integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ decamelize: 1.2.0
+ map-obj: 1.0.1
+ dev: true
+
+ /decamelize@1.2.0:
+ resolution:
+ {
+ integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /decompress-response@3.3.0:
+ resolution:
+ {
+ integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ mimic-response: 1.0.1
+ dev: true
+
+ /decompress-tar@4.1.1:
+ resolution:
+ {
+ integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ file-type: 5.2.0
+ is-stream: 1.1.0
+ tar-stream: 1.6.2
+ dev: true
+
+ /decompress-tarbz2@4.1.1:
+ resolution:
+ {
+ integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ decompress-tar: 4.1.1
+ file-type: 6.2.0
+ is-stream: 1.1.0
+ seek-bzip: 1.0.6
+ unbzip2-stream: 1.4.3
+ dev: true
+
+ /decompress-targz@4.1.1:
+ resolution:
+ {
+ integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ decompress-tar: 4.1.1
+ file-type: 5.2.0
+ is-stream: 1.1.0
+ dev: true
+
+ /decompress-unzip@4.0.1:
+ resolution:
+ {
+ integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ file-type: 3.9.0
+ get-stream: 2.3.1
+ pify: 2.3.0
+ yauzl: 2.10.0
+ dev: true
+
+ /decompress@4.2.1:
+ resolution:
+ {
+ integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ decompress-tar: 4.1.1
+ decompress-tarbz2: 4.1.1
+ decompress-targz: 4.1.1
+ decompress-unzip: 4.0.1
+ graceful-fs: 4.2.11
+ make-dir: 1.3.0
+ pify: 2.3.0
+ strip-dirs: 2.1.0
+ dev: true
+
+ /dedent@0.7.0:
+ resolution:
+ {
+ integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==,
+ }
+ dev: true
+
+ /defaults@1.0.4:
+ resolution:
+ {
+ integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==,
+ }
+ dependencies:
+ clone: 1.0.4
+ dev: true
+
+ /detect-file@1.0.0:
+ resolution:
+ {
+ integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /detect-indent@6.1.0:
+ resolution:
+ {
+ integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /didyoumean@1.2.2:
+ resolution:
+ {
+ integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==,
+ }
+ dev: true
+
+ /diff@4.0.2:
+ resolution:
+ {
+ integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==,
+ }
+ engines: { node: ">=0.3.1" }
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution:
+ {
+ integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /doctoc@2.2.1:
+ resolution:
+ {
+ integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==,
+ }
+ hasBin: true
+ dependencies:
+ "@textlint/markdown-to-ast": 12.6.1
+ anchor-markdown-header: 0.6.0
+ htmlparser2: 7.2.0
+ minimist: 1.2.8
+ underscore: 1.13.6
+ update-section: 0.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /dom-serializer@1.4.1:
+ resolution:
+ {
+ integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==,
+ }
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: true
+
+ /domelementtype@2.3.0:
+ resolution:
+ {
+ integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==,
+ }
+ dev: true
+
+ /domhandler@4.3.1:
+ resolution:
+ {
+ integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==,
+ }
+ engines: { node: ">= 4" }
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
+ /domutils@2.8.0:
+ resolution:
+ {
+ integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==,
+ }
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: true
+
+ /dot-prop@5.3.0:
+ resolution:
+ {
+ integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ is-obj: 2.0.0
+ dev: true
+
+ /download@6.2.5:
+ resolution:
+ {
+ integrity: sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ caw: 2.0.1
+ content-disposition: 0.5.4
+ decompress: 4.2.1
+ ext-name: 5.0.0
+ file-type: 5.2.0
+ filenamify: 2.1.0
+ get-stream: 3.0.0
+ got: 7.1.0
+ make-dir: 1.3.0
+ p-event: 1.3.0
+ pify: 3.0.0
+ dev: true
+
+ /duplexer3@0.1.5:
+ resolution:
+ {
+ integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==,
+ }
+ dev: true
+
+ /eastasianwidth@0.2.0:
+ resolution:
+ {
+ integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==,
+ }
+ dev: true
+
+ /emoji-regex@10.1.0:
+ resolution:
+ {
+ integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==,
+ }
+ dev: true
+
+ /emoji-regex@8.0.0:
+ resolution:
+ {
+ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
+ }
+ dev: true
+
+ /emoji-regex@9.2.2:
+ resolution:
+ {
+ integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==,
+ }
+ dev: true
+
+ /end-of-stream@1.4.4:
+ resolution:
+ {
+ integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==,
+ }
+ dependencies:
+ once: 1.4.0
+ dev: true
+
+ /entities@2.2.0:
+ resolution:
+ {
+ integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==,
+ }
+ dev: true
+
+ /entities@3.0.1:
+ resolution:
+ {
+ integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==,
+ }
+ engines: { node: ">=0.12" }
+ dev: true
+
+ /error-ex@1.3.2:
+ resolution:
+ {
+ integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==,
+ }
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: true
+
+ /escalade@3.1.1:
+ resolution:
+ {
+ integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /escape-string-regexp@1.0.5:
+ resolution:
+ {
+ integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
+ }
+ engines: { node: ">=0.8.0" }
+ dev: true
+
+ /escape-string-regexp@4.0.0:
+ resolution:
+ {
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /esm@3.2.25:
+ resolution:
+ {
+ integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /eventemitter3@5.0.1:
+ resolution:
+ {
+ integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==,
+ }
+ dev: true
+
+ /execa@0.7.0:
+ resolution:
+ {
+ integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ cross-spawn: 5.1.0
+ get-stream: 3.0.0
+ is-stream: 1.1.0
+ npm-run-path: 2.0.2
+ p-finally: 1.0.0
+ signal-exit: 3.0.7
+ strip-eof: 1.0.0
+ dev: true
+
+ /execa@5.1.1:
+ resolution:
+ {
+ integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /execa@7.2.0:
+ resolution:
+ {
+ integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==,
+ }
+ engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 }
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 4.3.1
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 3.0.7
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /expand-tilde@2.0.2:
+ resolution:
+ {
+ integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ homedir-polyfill: 1.0.3
+ dev: true
+
+ /ext-list@2.2.2:
+ resolution:
+ {
+ integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /ext-name@5.0.0:
+ resolution:
+ {
+ integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ ext-list: 2.2.2
+ sort-keys-length: 1.0.1
+ dev: true
+
+ /extend@3.0.2:
+ resolution:
+ {
+ integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==,
+ }
+ dev: true
+
+ /external-editor@3.1.0:
+ resolution:
+ {
+ integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ chardet: 0.7.0
+ iconv-lite: 0.4.24
+ tmp: 0.0.33
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution:
+ {
+ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==,
+ }
+ dev: true
+
+ /fast-glob@3.3.1:
+ resolution:
+ {
+ integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==,
+ }
+ engines: { node: ">=8.6.0" }
+ dependencies:
+ "@nodelib/fs.stat": 2.0.5
+ "@nodelib/fs.walk": 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fastq@1.15.0:
+ resolution:
+ {
+ integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==,
+ }
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /fault@1.0.4:
+ resolution:
+ {
+ integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==,
+ }
+ dependencies:
+ format: 0.2.2
+ dev: true
+
+ /fd-slicer@1.1.0:
+ resolution:
+ {
+ integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==,
+ }
+ dependencies:
+ pend: 1.2.0
+ dev: true
+
+ /figlet@1.6.0:
+ resolution:
+ {
+ integrity: sha512-31EQGhCEITv6+hi2ORRPyn3bulaV9Fl4xOdR169cBzH/n1UqcxsiSB/noo6SJdD7Kfb1Ljit+IgR1USvF/XbdA==,
+ }
+ engines: { node: ">= 0.4.0" }
+ hasBin: true
+ dev: true
+
+ /figures@3.2.0:
+ resolution:
+ {
+ integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+
+ /file-type@3.9.0:
+ resolution:
+ {
+ integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /file-type@5.2.0:
+ resolution:
+ {
+ integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /file-type@6.2.0:
+ resolution:
+ {
+ integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /filename-reserved-regex@2.0.0:
+ resolution:
+ {
+ integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /filenamify@2.1.0:
+ resolution:
+ {
+ integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ filename-reserved-regex: 2.0.0
+ strip-outer: 1.0.1
+ trim-repeated: 1.0.0
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution:
+ {
+ integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /find-node-modules@2.1.3:
+ resolution:
+ {
+ integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==,
+ }
+ dependencies:
+ findup-sync: 4.0.0
+ merge: 2.1.1
+ dev: true
+
+ /find-root@1.1.0:
+ resolution:
+ {
+ integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==,
+ }
+ dev: true
+
+ /find-up@4.1.0:
+ resolution:
+ {
+ integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /find-up@5.0.0:
+ resolution:
+ {
+ integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /findup-sync@4.0.0:
+ resolution:
+ {
+ integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==,
+ }
+ engines: { node: ">= 8" }
+ dependencies:
+ detect-file: 1.0.0
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ resolve-dir: 1.0.1
+ dev: true
+
+ /format@0.2.2:
+ resolution:
+ {
+ integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==,
+ }
+ engines: { node: ">=0.4.x" }
+ dev: true
+
+ /fs-constants@1.0.0:
+ resolution:
+ {
+ integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==,
+ }
+ dev: true
+
+ /fs-extra@10.1.0:
+ resolution:
+ {
+ integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: true
+
+ /fs-extra@11.1.1:
+ resolution:
+ {
+ integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==,
+ }
+ engines: { node: ">=14.14" }
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: true
+
+ /fs-extra@9.1.0:
+ resolution:
+ {
+ integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: true
+
+ /fs.realpath@1.0.0:
+ resolution:
+ {
+ integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==,
+ }
+ dev: true
+
+ /fsevents@2.3.3:
+ resolution:
+ {
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
+ }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind@1.1.1:
+ resolution:
+ {
+ integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==,
+ }
+ dev: true
+
+ /get-caller-file@2.0.5:
+ resolution:
+ {
+ integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==,
+ }
+ engines: { node: 6.* || 8.* || >= 10.* }
+ dev: true
+
+ /get-proxy@2.1.0:
+ resolution:
+ {
+ integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ npm-conf: 1.1.3
+ dev: true
+
+ /get-stream@2.3.1:
+ resolution:
+ {
+ integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ object-assign: 4.1.1
+ pinkie-promise: 2.0.1
+ dev: true
+
+ /get-stream@3.0.0:
+ resolution:
+ {
+ integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /get-stream@6.0.1:
+ resolution:
+ {
+ integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /git-raw-commits@2.0.11:
+ resolution:
+ {
+ integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==,
+ }
+ engines: { node: ">=10" }
+ hasBin: true
+ dependencies:
+ dargs: 7.0.0
+ lodash: 4.17.21
+ meow: 8.1.2
+ split2: 3.2.2
+ through2: 4.0.2
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution:
+ {
+ integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==,
+ }
+ engines: { node: ">= 6" }
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob@7.2.3:
+ resolution:
+ {
+ integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==,
+ }
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /global-dirs@0.1.1:
+ resolution:
+ {
+ integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ ini: 1.3.8
+ dev: true
+
+ /global-modules@1.0.0:
+ resolution:
+ {
+ integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ global-prefix: 1.0.2
+ is-windows: 1.0.2
+ resolve-dir: 1.0.1
+ dev: true
+
+ /global-prefix@1.0.2:
+ resolution:
+ {
+ integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ expand-tilde: 2.0.2
+ homedir-polyfill: 1.0.3
+ ini: 1.3.8
+ is-windows: 1.0.2
+ which: 1.3.1
+ dev: true
+
+ /globby@11.1.0:
+ resolution:
+ {
+ integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.1
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /got@7.1.0:
+ resolution:
+ {
+ integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ "@types/keyv": 3.1.4
+ "@types/responselike": 1.0.1
+ decompress-response: 3.3.0
+ duplexer3: 0.1.5
+ get-stream: 3.0.0
+ is-plain-obj: 1.1.0
+ is-retry-allowed: 1.2.0
+ is-stream: 1.1.0
+ isurl: 1.0.0
+ lowercase-keys: 1.0.1
+ p-cancelable: 0.3.0
+ p-timeout: 1.2.1
+ safe-buffer: 5.2.1
+ timed-out: 4.0.1
+ url-parse-lax: 1.0.0
+ url-to-options: 1.0.1
+ dev: true
+
+ /graceful-fs@4.2.11:
+ resolution:
+ {
+ integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==,
+ }
+ dev: true
+
+ /hard-rejection@2.1.0:
+ resolution:
+ {
+ integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution:
+ {
+ integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /has-flag@4.0.0:
+ resolution:
+ {
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /has-symbol-support-x@1.4.2:
+ resolution:
+ {
+ integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==,
+ }
+ dev: true
+
+ /has-to-string-tag-x@1.4.1:
+ resolution:
+ {
+ integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==,
+ }
+ dependencies:
+ has-symbol-support-x: 1.4.2
+ dev: true
+
+ /has@1.0.3:
+ resolution:
+ {
+ integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==,
+ }
+ engines: { node: ">= 0.4.0" }
+ dependencies:
+ function-bind: 1.1.1
+ dev: true
+
+ /homedir-polyfill@1.0.3:
+ resolution:
+ {
+ integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ parse-passwd: 1.0.0
+ dev: true
+
+ /hosted-git-info@2.8.9:
+ resolution:
+ {
+ integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==,
+ }
+ dev: true
+
+ /hosted-git-info@4.1.0:
+ resolution:
+ {
+ integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /htmlparser2@7.2.0:
+ resolution:
+ {
+ integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==,
+ }
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 3.0.1
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution:
+ {
+ integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==,
+ }
+ engines: { node: ">=10.17.0" }
+ dev: true
+
+ /human-signals@4.3.1:
+ resolution:
+ {
+ integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==,
+ }
+ engines: { node: ">=14.18.0" }
+ dev: true
+
+ /husky@8.0.3:
+ resolution:
+ {
+ integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==,
+ }
+ engines: { node: ">=14" }
+ hasBin: true
+ dev: true
+
+ /iconv-lite@0.4.24:
+ resolution:
+ {
+ integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /ieee754@1.2.1:
+ resolution:
+ {
+ integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==,
+ }
+ dev: true
+
+ /ignore@5.2.4:
+ resolution:
+ {
+ integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==,
+ }
+ engines: { node: ">= 4" }
+ dev: true
+
+ /import-fresh@3.3.0:
+ resolution:
+ {
+ integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /indent-string@4.0.0:
+ resolution:
+ {
+ integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /inflight@1.0.6:
+ resolution:
+ {
+ integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==,
+ }
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits@2.0.4:
+ resolution:
+ {
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
+ }
+ dev: true
+
+ /ini@1.3.8:
+ resolution:
+ {
+ integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==,
+ }
+ dev: true
+
+ /inquirer@7.3.3:
+ resolution:
+ {
+ integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==,
+ }
+ engines: { node: ">=8.0.0" }
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-width: 3.0.0
+ external-editor: 3.1.0
+ figures: 3.2.0
+ lodash: 4.17.21
+ mute-stream: 0.0.8
+ run-async: 2.4.1
+ rxjs: 6.6.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ through: 2.3.8
+ dev: true
+
+ /inquirer@8.2.5:
+ resolution:
+ {
+ integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==,
+ }
+ engines: { node: ">=12.0.0" }
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-width: 3.0.0
+ external-editor: 3.1.0
+ figures: 3.2.0
+ lodash: 4.17.21
+ mute-stream: 0.0.8
+ ora: 5.4.1
+ run-async: 2.4.1
+ rxjs: 7.8.1
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ through: 2.3.8
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /inquirer@8.2.6:
+ resolution:
+ {
+ integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==,
+ }
+ engines: { node: ">=12.0.0" }
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-width: 3.0.0
+ external-editor: 3.1.0
+ figures: 3.2.0
+ lodash: 4.17.21
+ mute-stream: 0.0.8
+ ora: 5.4.1
+ run-async: 2.4.1
+ rxjs: 7.8.1
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ through: 2.3.8
+ wrap-ansi: 6.2.0
+ dev: true
+
+ /is-alphabetical@1.0.4:
+ resolution:
+ {
+ integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==,
+ }
+ dev: true
+
+ /is-alphanumerical@1.0.4:
+ resolution:
+ {
+ integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==,
+ }
+ dependencies:
+ is-alphabetical: 1.0.4
+ is-decimal: 1.0.4
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution:
+ {
+ integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==,
+ }
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution:
+ {
+ integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
+ /is-buffer@2.0.5:
+ resolution:
+ {
+ integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /is-core-module@2.13.0:
+ resolution:
+ {
+ integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==,
+ }
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /is-decimal@1.0.4:
+ resolution:
+ {
+ integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==,
+ }
+ dev: true
+
+ /is-extglob@1.0.0:
+ resolution:
+ {
+ integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution:
+ {
+ integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution:
+ {
+ integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /is-fullwidth-code-point@4.0.0:
+ resolution:
+ {
+ integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==,
+ }
+ engines: { node: ">=12" }
+ dev: true
+
+ /is-glob@2.0.1:
+ resolution:
+ {
+ integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ is-extglob: 1.0.0
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution:
+ {
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-hexadecimal@1.0.4:
+ resolution:
+ {
+ integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==,
+ }
+ dev: true
+
+ /is-interactive@1.0.0:
+ resolution:
+ {
+ integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /is-invalid-path@0.1.0:
+ resolution:
+ {
+ integrity: sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ is-glob: 2.0.1
+ dev: true
+
+ /is-natural-number@4.0.1:
+ resolution:
+ {
+ integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==,
+ }
+ dev: true
+
+ /is-number@7.0.0:
+ resolution:
+ {
+ integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==,
+ }
+ engines: { node: ">=0.12.0" }
+ dev: true
+
+ /is-obj@2.0.0:
+ resolution:
+ {
+ integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /is-object@1.0.2:
+ resolution:
+ {
+ integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==,
+ }
+ dev: true
+
+ /is-plain-obj@1.1.0:
+ resolution:
+ {
+ integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /is-plain-obj@2.1.0:
+ resolution:
+ {
+ integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /is-retry-allowed@1.2.0:
+ resolution:
+ {
+ integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /is-stream@1.1.0:
+ resolution:
+ {
+ integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution:
+ {
+ integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /is-stream@3.0.0:
+ resolution:
+ {
+ integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dev: true
+
+ /is-text-path@1.0.1:
+ resolution:
+ {
+ integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ text-extensions: 1.9.0
+ dev: true
+
+ /is-unicode-supported@0.1.0:
+ resolution:
+ {
+ integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /is-utf8@0.2.1:
+ resolution:
+ {
+ integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==,
+ }
+ dev: true
+
+ /is-valid-path@0.1.1:
+ resolution:
+ {
+ integrity: sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ is-invalid-path: 0.1.0
+ dev: true
+
+ /is-windows@1.0.2:
+ resolution:
+ {
+ integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /isarray@1.0.0:
+ resolution:
+ {
+ integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==,
+ }
+ dev: true
+
+ /isexe@2.0.0:
+ resolution:
+ {
+ integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
+ }
+ dev: true
+
+ /isurl@1.0.0:
+ resolution:
+ {
+ integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==,
+ }
+ engines: { node: ">= 4" }
+ dependencies:
+ has-to-string-tag-x: 1.4.1
+ is-object: 1.0.2
+ dev: true
+
+ /joi@17.10.2:
+ resolution:
+ {
+ integrity: sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==,
+ }
+ dependencies:
+ "@hapi/hoek": 9.3.0
+ "@hapi/topo": 5.1.0
+ "@sideway/address": 4.1.4
+ "@sideway/formula": 3.0.1
+ "@sideway/pinpoint": 2.0.0
+ dev: true
+
+ /js-tokens@4.0.0:
+ resolution:
+ {
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+ }
+ dev: true
+
+ /js-yaml@4.1.0:
+ resolution:
+ {
+ integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+ }
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /json-fixer@1.6.15:
+ resolution:
+ {
+ integrity: sha512-TuDuZ5KrgyjoCIppdPXBMqiGfota55+odM+j2cQ5rt/XKyKmqGB3Whz1F8SN8+60yYGy/Nu5lbRZ+rx8kBIvBw==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ "@babel/runtime": 7.23.1
+ chalk: 4.1.2
+ pegjs: 0.10.0
+ dev: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution:
+ {
+ integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==,
+ }
+ dev: true
+
+ /json-schema-traverse@1.0.0:
+ resolution:
+ {
+ integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==,
+ }
+ dev: true
+
+ /jsonfile@6.1.0:
+ resolution:
+ {
+ integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==,
+ }
+ dependencies:
+ universalify: 2.0.0
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
+ /jsonparse@1.3.1:
+ resolution:
+ {
+ integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==,
+ }
+ engines: { "0": node >= 0.2.0 }
+ dev: true
+
+ /kind-of@6.0.3:
+ resolution:
+ {
+ integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /lilconfig@2.1.0:
+ resolution:
+ {
+ integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /lines-and-columns@1.2.4:
+ resolution:
+ {
+ integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
+ }
+ dev: true
+
+ /lint-staged@14.0.1:
+ resolution:
+ {
+ integrity: sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==,
+ }
+ engines: { node: ^16.14.0 || >=18.0.0 }
+ hasBin: true
+ dependencies:
+ chalk: 5.3.0
+ commander: 11.0.0
+ debug: 4.3.4
+ execa: 7.2.0
+ lilconfig: 2.1.0
+ listr2: 6.6.1
+ micromatch: 4.0.5
+ pidtree: 0.6.0
+ string-argv: 0.3.2
+ yaml: 2.3.1
+ transitivePeerDependencies:
+ - enquirer
+ - supports-color
+ dev: true
+
+ /listr2@5.0.8:
+ resolution:
+ {
+ integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==,
+ }
+ engines: { node: ^14.13.1 || >=16.0.0 }
+ peerDependencies:
+ enquirer: ">= 2.3.0 < 3"
+ peerDependenciesMeta:
+ enquirer:
+ optional: true
+ dependencies:
+ cli-truncate: 2.1.0
+ colorette: 2.0.20
+ log-update: 4.0.0
+ p-map: 4.0.0
+ rfdc: 1.3.0
+ rxjs: 7.8.1
+ through: 2.3.8
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /listr2@6.6.1:
+ resolution:
+ {
+ integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==,
+ }
+ engines: { node: ">=16.0.0" }
+ peerDependencies:
+ enquirer: ">= 2.3.0 < 3"
+ peerDependenciesMeta:
+ enquirer:
+ optional: true
+ dependencies:
+ cli-truncate: 3.1.0
+ colorette: 2.0.20
+ eventemitter3: 5.0.1
+ log-update: 5.0.1
+ rfdc: 1.3.0
+ wrap-ansi: 8.1.0
+ dev: true
+
+ /locate-path@5.0.0:
+ resolution:
+ {
+ integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ p-locate: 4.1.0
+ dev: true
+
+ /locate-path@6.0.0:
+ resolution:
+ {
+ integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ p-locate: 5.0.0
+ dev: true
+
+ /lodash.camelcase@4.3.0:
+ resolution:
+ {
+ integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==,
+ }
+ dev: true
+
+ /lodash.isfunction@3.0.9:
+ resolution:
+ {
+ integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==,
+ }
+ dev: true
+
+ /lodash.isplainobject@4.0.6:
+ resolution:
+ {
+ integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==,
+ }
+ dev: true
+
+ /lodash.kebabcase@4.1.1:
+ resolution:
+ {
+ integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==,
+ }
+ dev: true
+
+ /lodash.map@4.6.0:
+ resolution:
+ {
+ integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==,
+ }
+ dev: true
+
+ /lodash.merge@4.6.2:
+ resolution:
+ {
+ integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
+ }
+ dev: true
+
+ /lodash.mergewith@4.6.2:
+ resolution:
+ {
+ integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==,
+ }
+ dev: true
+
+ /lodash.snakecase@4.1.1:
+ resolution:
+ {
+ integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==,
+ }
+ dev: true
+
+ /lodash.startcase@4.4.0:
+ resolution:
+ {
+ integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==,
+ }
+ dev: true
+
+ /lodash.uniq@4.5.0:
+ resolution:
+ {
+ integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==,
+ }
+ dev: true
+
+ /lodash.upperfirst@4.3.1:
+ resolution:
+ {
+ integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==,
+ }
+ dev: true
+
+ /lodash@4.17.21:
+ resolution:
+ {
+ integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+ }
+ dev: true
+
+ /log-symbols@4.1.0:
+ resolution:
+ {
+ integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+ dev: true
+
+ /log-update@4.0.0:
+ resolution:
+ {
+ integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ ansi-escapes: 4.3.2
+ cli-cursor: 3.1.0
+ slice-ansi: 4.0.0
+ wrap-ansi: 6.2.0
+ dev: true
+
+ /log-update@5.0.1:
+ resolution:
+ {
+ integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ ansi-escapes: 5.0.0
+ cli-cursor: 4.0.0
+ slice-ansi: 5.0.0
+ strip-ansi: 7.1.0
+ wrap-ansi: 8.1.0
+ dev: true
+
+ /longest-streak@2.0.4:
+ resolution:
+ {
+ integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==,
+ }
+ dev: true
+
+ /longest@2.0.1:
+ resolution:
+ {
+ integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /lowercase-keys@1.0.1:
+ resolution:
+ {
+ integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /lru-cache@4.1.5:
+ resolution:
+ {
+ integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==,
+ }
+ dependencies:
+ pseudomap: 1.0.2
+ yallist: 2.1.2
+ dev: true
+
+ /lru-cache@6.0.0:
+ resolution:
+ {
+ integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /make-dir@1.3.0:
+ resolution:
+ {
+ integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ pify: 3.0.0
+ dev: true
+
+ /make-error@1.3.6:
+ resolution:
+ {
+ integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==,
+ }
+ dev: true
+
+ /map-obj@1.0.1:
+ resolution:
+ {
+ integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /map-obj@4.3.0:
+ resolution:
+ {
+ integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /markdown-table@2.0.0:
+ resolution:
+ {
+ integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==,
+ }
+ dependencies:
+ repeat-string: 1.6.1
+ dev: true
+
+ /mdast-util-find-and-replace@1.1.1:
+ resolution:
+ {
+ integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==,
+ }
+ dependencies:
+ escape-string-regexp: 4.0.0
+ unist-util-is: 4.1.0
+ unist-util-visit-parents: 3.1.1
+ dev: true
+
+ /mdast-util-footnote@0.1.7:
+ resolution:
+ {
+ integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==,
+ }
+ dependencies:
+ mdast-util-to-markdown: 0.6.5
+ micromark: 2.11.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-from-markdown@0.8.5:
+ resolution:
+ {
+ integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==,
+ }
+ dependencies:
+ "@types/mdast": 3.0.13
+ mdast-util-to-string: 2.0.0
+ micromark: 2.11.4
+ parse-entities: 2.0.0
+ unist-util-stringify-position: 2.0.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-frontmatter@0.2.0:
+ resolution:
+ {
+ integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==,
+ }
+ dependencies:
+ micromark-extension-frontmatter: 0.2.2
+ dev: true
+
+ /mdast-util-gfm-autolink-literal@0.1.3:
+ resolution:
+ {
+ integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==,
+ }
+ dependencies:
+ ccount: 1.1.0
+ mdast-util-find-and-replace: 1.1.1
+ micromark: 2.11.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-gfm-strikethrough@0.2.3:
+ resolution:
+ {
+ integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==,
+ }
+ dependencies:
+ mdast-util-to-markdown: 0.6.5
+ dev: true
+
+ /mdast-util-gfm-table@0.1.6:
+ resolution:
+ {
+ integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==,
+ }
+ dependencies:
+ markdown-table: 2.0.0
+ mdast-util-to-markdown: 0.6.5
+ dev: true
+
+ /mdast-util-gfm-task-list-item@0.1.6:
+ resolution:
+ {
+ integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==,
+ }
+ dependencies:
+ mdast-util-to-markdown: 0.6.5
+ dev: true
+
+ /mdast-util-gfm@0.1.2:
+ resolution:
+ {
+ integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==,
+ }
+ dependencies:
+ mdast-util-gfm-autolink-literal: 0.1.3
+ mdast-util-gfm-strikethrough: 0.2.3
+ mdast-util-gfm-table: 0.1.6
+ mdast-util-gfm-task-list-item: 0.1.6
+ mdast-util-to-markdown: 0.6.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /mdast-util-to-markdown@0.6.5:
+ resolution:
+ {
+ integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==,
+ }
+ dependencies:
+ "@types/unist": 2.0.8
+ longest-streak: 2.0.4
+ mdast-util-to-string: 2.0.0
+ parse-entities: 2.0.0
+ repeat-string: 1.6.1
+ zwitch: 1.0.5
+ dev: true
+
+ /mdast-util-to-string@2.0.0:
+ resolution:
+ {
+ integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==,
+ }
+ dev: true
+
+ /meow@8.1.2:
+ resolution:
+ {
+ integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ "@types/minimist": 1.2.3
+ camelcase-keys: 6.2.2
+ decamelize-keys: 1.1.1
+ hard-rejection: 2.1.0
+ minimist-options: 4.1.0
+ normalize-package-data: 3.0.3
+ read-pkg-up: 7.0.1
+ redent: 3.0.0
+ trim-newlines: 3.0.1
+ type-fest: 0.18.1
+ yargs-parser: 20.2.9
+ dev: true
+
+ /merge-stream@2.0.0:
+ resolution:
+ {
+ integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==,
+ }
+ dev: true
+
+ /merge2@1.4.1:
+ resolution:
+ {
+ integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==,
+ }
+ engines: { node: ">= 8" }
+ dev: true
+
+ /merge@2.1.1:
+ resolution:
+ {
+ integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==,
+ }
+ dev: true
+
+ /mergician@1.1.0:
+ resolution:
+ {
+ integrity: sha512-FXbxzU6BBhGkV8XtUr8Sk015ZRaAALviit8Lle6OEgd1udX8wlu6tBeUMLGQGdz1MfHpAVNNQkXowyDnJuhXpA==,
+ }
+ engines: { node: ">=10.0.0" }
+ dev: true
+
+ /micromark-extension-footnote@0.3.2:
+ resolution:
+ {
+ integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==,
+ }
+ dependencies:
+ micromark: 2.11.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromark-extension-frontmatter@0.2.2:
+ resolution:
+ {
+ integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==,
+ }
+ dependencies:
+ fault: 1.0.4
+ dev: true
+
+ /micromark-extension-gfm-autolink-literal@0.5.7:
+ resolution:
+ {
+ integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==,
+ }
+ dependencies:
+ micromark: 2.11.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromark-extension-gfm-strikethrough@0.6.5:
+ resolution:
+ {
+ integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==,
+ }
+ dependencies:
+ micromark: 2.11.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromark-extension-gfm-table@0.4.3:
+ resolution:
+ {
+ integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==,
+ }
+ dependencies:
+ micromark: 2.11.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromark-extension-gfm-tagfilter@0.3.0:
+ resolution:
+ {
+ integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==,
+ }
+ dev: true
+
+ /micromark-extension-gfm-task-list-item@0.3.3:
+ resolution:
+ {
+ integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==,
+ }
+ dependencies:
+ micromark: 2.11.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromark-extension-gfm@0.3.3:
+ resolution:
+ {
+ integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==,
+ }
+ dependencies:
+ micromark: 2.11.4
+ micromark-extension-gfm-autolink-literal: 0.5.7
+ micromark-extension-gfm-strikethrough: 0.6.5
+ micromark-extension-gfm-table: 0.4.3
+ micromark-extension-gfm-tagfilter: 0.3.0
+ micromark-extension-gfm-task-list-item: 0.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromark@2.11.4:
+ resolution:
+ {
+ integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==,
+ }
+ dependencies:
+ debug: 4.3.4
+ parse-entities: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution:
+ {
+ integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==,
+ }
+ engines: { node: ">=8.6" }
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mime-db@1.52.0:
+ resolution:
+ {
+ integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==,
+ }
+ engines: { node: ">= 0.6" }
+ dev: true
+
+ /mimic-fn@2.1.0:
+ resolution:
+ {
+ integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /mimic-fn@4.0.0:
+ resolution:
+ {
+ integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==,
+ }
+ engines: { node: ">=12" }
+ dev: true
+
+ /mimic-response@1.0.1:
+ resolution:
+ {
+ integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /min-indent@1.0.1:
+ resolution:
+ {
+ integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution:
+ {
+ integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
+ }
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimist-options@4.1.0:
+ resolution:
+ {
+ integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==,
+ }
+ engines: { node: ">= 6" }
+ dependencies:
+ arrify: 1.0.1
+ is-plain-obj: 1.1.0
+ kind-of: 6.0.3
+ dev: true
+
+ /minimist@1.2.7:
+ resolution:
+ {
+ integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==,
+ }
+ dev: true
+
+ /minimist@1.2.8:
+ resolution:
+ {
+ integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==,
+ }
+ dev: true
+
+ /ms@2.1.2:
+ resolution:
+ {
+ integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
+ }
+ dev: true
+
+ /mute-stream@0.0.8:
+ resolution:
+ {
+ integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==,
+ }
+ dev: true
+
+ /nanospinner@1.1.0:
+ resolution:
+ {
+ integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==,
+ }
+ dependencies:
+ picocolors: 1.0.0
+ dev: true
+
+ /node-downloader-helper@2.1.9:
+ resolution:
+ {
+ integrity: sha512-FSvAol2Z8UP191sZtsUZwHIN0eGoGue3uEXGdWIH5228e9KH1YHXT7fN8Oa33UGf+FbqGTQg3sJfrRGzmVCaJA==,
+ }
+ engines: { node: ">=14.18" }
+ hasBin: true
+ dev: true
+
+ /node-fetch@2.7.0:
+ resolution:
+ {
+ integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==,
+ }
+ engines: { node: 4.x || >=6.0.0 }
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+ dev: true
+
+ /node-jq@2.3.5:
+ resolution:
+ {
+ integrity: sha512-V2qmX4oXvrITgxeR8WZTELVGFGx2auO+qvxs7Q4Isovh2UGkO1Fl3OACrxPZ2dgikJT5KbwYvK8PwGyc2hfRIg==,
+ }
+ engines: { npm: ">=6.0.0" }
+ requiresBuild: true
+ dependencies:
+ bin-build: 3.0.0
+ is-valid-path: 0.1.1
+ joi: 17.10.2
+ node-downloader-helper: 2.1.9
+ strip-final-newline: 2.0.0
+ tempfile: 3.0.0
+ dev: true
+
+ /normalize-package-data@2.5.0:
+ resolution:
+ {
+ integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==,
+ }
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.6
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-package-data@3.0.3:
+ resolution:
+ {
+ integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ hosted-git-info: 4.1.0
+ is-core-module: 2.13.0
+ semver: 7.5.4
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-path@3.0.0:
+ resolution:
+ {
+ integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /npm-conf@1.1.3:
+ resolution:
+ {
+ integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ config-chain: 1.1.13
+ pify: 3.0.0
+ dev: true
+
+ /npm-run-path@2.0.2:
+ resolution:
+ {
+ integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ path-key: 2.0.1
+ dev: true
+
+ /npm-run-path@4.0.1:
+ resolution:
+ {
+ integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /npm-run-path@5.1.0:
+ resolution:
+ {
+ integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ path-key: 4.0.0
+ dev: true
+
+ /object-assign@4.1.1:
+ resolution:
+ {
+ integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /once@1.4.0:
+ resolution:
+ {
+ integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
+ }
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /onetime@5.1.2:
+ resolution:
+ {
+ integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: true
+
+ /onetime@6.0.0:
+ resolution:
+ {
+ integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ mimic-fn: 4.0.0
+ dev: true
+
+ /ora@5.4.1:
+ resolution:
+ {
+ integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.1
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ dev: true
+
+ /os-tmpdir@1.0.2:
+ resolution:
+ {
+ integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /p-cancelable@0.3.0:
+ resolution:
+ {
+ integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /p-event@1.3.0:
+ resolution:
+ {
+ integrity: sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ p-timeout: 1.2.1
+ dev: true
+
+ /p-finally@1.0.0:
+ resolution:
+ {
+ integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /p-limit@2.3.0:
+ resolution:
+ {
+ integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ p-try: 2.2.0
+ dev: true
+
+ /p-limit@3.1.0:
+ resolution:
+ {
+ integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ yocto-queue: 0.1.0
+ dev: true
+
+ /p-locate@4.1.0:
+ resolution:
+ {
+ integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
+ /p-locate@5.0.0:
+ resolution:
+ {
+ integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ p-limit: 3.1.0
+ dev: true
+
+ /p-map-series@1.0.0:
+ resolution:
+ {
+ integrity: sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ p-reduce: 1.0.0
+ dev: true
+
+ /p-map@4.0.0:
+ resolution:
+ {
+ integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ aggregate-error: 3.1.0
+ dev: true
+
+ /p-reduce@1.0.0:
+ resolution:
+ {
+ integrity: sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /p-timeout@1.2.1:
+ resolution:
+ {
+ integrity: sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ p-finally: 1.0.0
+ dev: true
+
+ /p-try@2.2.0:
+ resolution:
+ {
+ integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /parent-module@1.0.1:
+ resolution:
+ {
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /parse-entities@2.0.0:
+ resolution:
+ {
+ integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==,
+ }
+ dependencies:
+ character-entities: 1.2.4
+ character-entities-legacy: 1.1.4
+ character-reference-invalid: 1.1.4
+ is-alphanumerical: 1.0.4
+ is-decimal: 1.0.4
+ is-hexadecimal: 1.0.4
+ dev: true
+
+ /parse-json@5.2.0:
+ resolution:
+ {
+ integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ "@babel/code-frame": 7.22.13
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: true
+
+ /parse-passwd@1.0.0:
+ resolution:
+ {
+ integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /path-exists@4.0.0:
+ resolution:
+ {
+ integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /path-is-absolute@1.0.1:
+ resolution:
+ {
+ integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /path-key@2.0.1:
+ resolution:
+ {
+ integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /path-key@3.1.1:
+ resolution:
+ {
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /path-key@4.0.0:
+ resolution:
+ {
+ integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==,
+ }
+ engines: { node: ">=12" }
+ dev: true
+
+ /path-parse@1.0.7:
+ resolution:
+ {
+ integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
+ }
+ dev: true
+
+ /path-type@4.0.0:
+ resolution:
+ {
+ integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /pegjs@0.10.0:
+ resolution:
+ {
+ integrity: sha512-qI5+oFNEGi3L5HAxDwN2LA4Gg7irF70Zs25edhjld9QemOgp0CbvMtbFcMvFtEo1OityPrcCzkQFB8JP/hxgow==,
+ }
+ engines: { node: ">=0.10" }
+ hasBin: true
+ dev: true
+
+ /pend@1.2.0:
+ resolution:
+ {
+ integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==,
+ }
+ dev: true
+
+ /picocolors@1.0.0:
+ resolution:
+ {
+ integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==,
+ }
+ dev: true
+
+ /picomatch@2.3.1:
+ resolution:
+ {
+ integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
+ }
+ engines: { node: ">=8.6" }
+ dev: true
+
+ /pidtree@0.6.0:
+ resolution:
+ {
+ integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==,
+ }
+ engines: { node: ">=0.10" }
+ hasBin: true
+ dev: true
+
+ /pify@2.3.0:
+ resolution:
+ {
+ integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /pify@3.0.0:
+ resolution:
+ {
+ integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /pify@5.0.0:
+ resolution:
+ {
+ integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /pinkie-promise@2.0.1:
+ resolution:
+ {
+ integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ pinkie: 2.0.4
+ dev: true
+
+ /pinkie@2.0.4:
+ resolution:
+ {
+ integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /prepend-http@1.0.4:
+ resolution:
+ {
+ integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /prettier@2.8.8:
+ resolution:
+ {
+ integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==,
+ }
+ engines: { node: ">=10.13.0" }
+ hasBin: true
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /prettier@3.0.3:
+ resolution:
+ {
+ integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==,
+ }
+ engines: { node: ">=14" }
+ hasBin: true
+ dev: true
+
+ /process-nextick-args@2.0.1:
+ resolution:
+ {
+ integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==,
+ }
+ dev: true
+
+ /proto-list@1.2.4:
+ resolution:
+ {
+ integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==,
+ }
+ dev: true
+
+ /pseudomap@1.0.2:
+ resolution:
+ {
+ integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==,
+ }
+ dev: true
+
+ /punycode@2.3.0:
+ resolution:
+ {
+ integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution:
+ {
+ integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==,
+ }
+ dev: true
+
+ /quick-lru@4.0.1:
+ resolution:
+ {
+ integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /read-pkg-up@7.0.1:
+ resolution:
+ {
+ integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+ dev: true
+
+ /read-pkg@5.2.0:
+ resolution:
+ {
+ integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ "@types/normalize-package-data": 2.4.2
+ normalize-package-data: 2.5.0
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+ dev: true
+
+ /readable-stream@2.3.8:
+ resolution:
+ {
+ integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==,
+ }
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+ dev: true
+
+ /readable-stream@3.6.2:
+ resolution:
+ {
+ integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==,
+ }
+ engines: { node: ">= 6" }
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /readdirp@3.6.0:
+ resolution:
+ {
+ integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==,
+ }
+ engines: { node: ">=8.10.0" }
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
+ /redent@3.0.0:
+ resolution:
+ {
+ integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
+ dev: true
+
+ /regenerator-runtime@0.14.0:
+ resolution:
+ {
+ integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==,
+ }
+ dev: true
+
+ /remark-footnotes@3.0.0:
+ resolution:
+ {
+ integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==,
+ }
+ dependencies:
+ mdast-util-footnote: 0.1.7
+ micromark-extension-footnote: 0.3.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /remark-frontmatter@3.0.0:
+ resolution:
+ {
+ integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==,
+ }
+ dependencies:
+ mdast-util-frontmatter: 0.2.0
+ micromark-extension-frontmatter: 0.2.2
+ dev: true
+
+ /remark-gfm@1.0.0:
+ resolution:
+ {
+ integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==,
+ }
+ dependencies:
+ mdast-util-gfm: 0.1.2
+ micromark-extension-gfm: 0.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /remark-parse@9.0.0:
+ resolution:
+ {
+ integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==,
+ }
+ dependencies:
+ mdast-util-from-markdown: 0.8.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /repeat-string@1.6.1:
+ resolution:
+ {
+ integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==,
+ }
+ engines: { node: ">=0.10" }
+ dev: true
+
+ /require-directory@2.1.1:
+ resolution:
+ {
+ integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /require-from-string@2.0.2:
+ resolution:
+ {
+ integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /require-main-filename@2.0.0:
+ resolution:
+ {
+ integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==,
+ }
+ dev: true
+
+ /resolve-dir@1.0.1:
+ resolution:
+ {
+ integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ expand-tilde: 2.0.2
+ global-modules: 1.0.0
+ dev: true
+
+ /resolve-from@4.0.0:
+ resolution:
+ {
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /resolve-from@5.0.0:
+ resolution:
+ {
+ integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /resolve-global@1.0.0:
+ resolution:
+ {
+ integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ global-dirs: 0.1.1
+ dev: true
+
+ /resolve@1.22.6:
+ resolution:
+ {
+ integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==,
+ }
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /restore-cursor@3.1.0:
+ resolution:
+ {
+ integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: true
+
+ /restore-cursor@4.0.0:
+ resolution:
+ {
+ integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==,
+ }
+ engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: true
+
+ /reusify@1.0.4:
+ resolution:
+ {
+ integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==,
+ }
+ engines: { iojs: ">=1.0.0", node: ">=0.10.0" }
+ dev: true
+
+ /rfdc@1.3.0:
+ resolution:
+ {
+ integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==,
+ }
+ dev: true
+
+ /run-async@2.4.1:
+ resolution:
+ {
+ integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==,
+ }
+ engines: { node: ">=0.12.0" }
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution:
+ {
+ integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==,
+ }
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /rxjs@6.6.7:
+ resolution:
+ {
+ integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==,
+ }
+ engines: { npm: ">=2.0.0" }
+ dependencies:
+ tslib: 1.14.1
+ dev: true
+
+ /rxjs@7.8.1:
+ resolution:
+ {
+ integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==,
+ }
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /safe-buffer@5.1.2:
+ resolution:
+ {
+ integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==,
+ }
+ dev: true
+
+ /safe-buffer@5.2.1:
+ resolution:
+ {
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==,
+ }
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution:
+ {
+ integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==,
+ }
+ dev: true
+
+ /seek-bzip@1.0.6:
+ resolution:
+ {
+ integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==,
+ }
+ hasBin: true
+ dependencies:
+ commander: 2.20.3
+ dev: true
+
+ /semver@5.7.2:
+ resolution:
+ {
+ integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==,
+ }
+ hasBin: true
+ dev: true
+
+ /semver@7.5.4:
+ resolution:
+ {
+ integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==,
+ }
+ engines: { node: ">=10" }
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /set-blocking@2.0.0:
+ resolution:
+ {
+ integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==,
+ }
+ dev: true
+
+ /shebang-command@1.2.0:
+ resolution:
+ {
+ integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ shebang-regex: 1.0.0
+ dev: true
+
+ /shebang-command@2.0.0:
+ resolution:
+ {
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex@1.0.0:
+ resolution:
+ {
+ integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /shebang-regex@3.0.0:
+ resolution:
+ {
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution:
+ {
+ integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==,
+ }
+ dev: true
+
+ /size-limit@9.0.0:
+ resolution:
+ {
+ integrity: sha512-DrA7o2DeRN3s+vwCA9nn7Ck9Y4pn9t0GNUwQRpKqBtBmNkl6LA2s/NlNCdtKHrEkRTeYA1ZQ65mnYveo9rUqgA==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
+ hasBin: true
+ dependencies:
+ bytes-iec: 3.1.1
+ chokidar: 3.5.3
+ globby: 11.1.0
+ lilconfig: 2.1.0
+ nanospinner: 1.1.0
+ picocolors: 1.0.0
+ dev: true
+
+ /slash@3.0.0:
+ resolution:
+ {
+ integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /slice-ansi@3.0.0:
+ resolution:
+ {
+ integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ ansi-styles: 4.3.0
+ astral-regex: 2.0.0
+ is-fullwidth-code-point: 3.0.0
+ dev: true
+
+ /slice-ansi@4.0.0:
+ resolution:
+ {
+ integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ ansi-styles: 4.3.0
+ astral-regex: 2.0.0
+ is-fullwidth-code-point: 3.0.0
+ dev: true
+
+ /slice-ansi@5.0.0:
+ resolution:
+ {
+ integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ ansi-styles: 6.2.1
+ is-fullwidth-code-point: 4.0.0
+ dev: true
+
+ /sort-keys-length@1.0.1:
+ resolution:
+ {
+ integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ sort-keys: 1.1.2
+ dev: true
+
+ /sort-keys@1.1.2:
+ resolution:
+ {
+ integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ is-plain-obj: 1.1.0
+ dev: true
+
+ /spdx-correct@3.2.0:
+ resolution:
+ {
+ integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==,
+ }
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.15
+ dev: true
+
+ /spdx-exceptions@2.3.0:
+ resolution:
+ {
+ integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==,
+ }
+ dev: true
+
+ /spdx-expression-parse@3.0.1:
+ resolution:
+ {
+ integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==,
+ }
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.15
+ dev: true
+
+ /spdx-license-ids@3.0.15:
+ resolution:
+ {
+ integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==,
+ }
+ dev: true
+
+ /split2@3.2.2:
+ resolution:
+ {
+ integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==,
+ }
+ dependencies:
+ readable-stream: 3.6.2
+ dev: true
+
+ /string-argv@0.3.2:
+ resolution:
+ {
+ integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==,
+ }
+ engines: { node: ">=0.6.19" }
+ dev: true
+
+ /string-builder@0.1.8:
+ resolution:
+ {
+ integrity: sha512-0pUtikmhChLaf+uLqzYTgzTCQc4jAjaWHolxPGq3D77SgSoTqkOlv0RVF3XwDxMR9x/y1WPPwkTNalZCA9DGnQ==,
+ }
+ dev: true
+
+ /string-width@4.2.3:
+ resolution:
+ {
+ integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string-width@5.1.2:
+ resolution:
+ {
+ integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+ dev: true
+
+ /string_decoder@1.1.1:
+ resolution:
+ {
+ integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==,
+ }
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: true
+
+ /string_decoder@1.3.0:
+ resolution:
+ {
+ integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==,
+ }
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /strip-ansi@6.0.1:
+ resolution:
+ {
+ integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-ansi@7.1.0:
+ resolution:
+ {
+ integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ ansi-regex: 6.0.1
+ dev: true
+
+ /strip-bom@4.0.0:
+ resolution:
+ {
+ integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /strip-dirs@2.1.0:
+ resolution:
+ {
+ integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==,
+ }
+ dependencies:
+ is-natural-number: 4.0.1
+ dev: true
+
+ /strip-eof@1.0.0:
+ resolution:
+ {
+ integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution:
+ {
+ integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /strip-final-newline@3.0.0:
+ resolution:
+ {
+ integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==,
+ }
+ engines: { node: ">=12" }
+ dev: true
+
+ /strip-indent@3.0.0:
+ resolution:
+ {
+ integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution:
+ {
+ integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /strip-outer@1.0.1:
+ resolution:
+ {
+ integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+
+ /supports-color@5.5.0:
+ resolution:
+ {
+ integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ has-flag: 3.0.0
+ dev: true
+
+ /supports-color@7.2.0:
+ resolution:
+ {
+ integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution:
+ {
+ integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==,
+ }
+ engines: { node: ">= 0.4" }
+ dev: true
+
+ /tar-stream@1.6.2:
+ resolution:
+ {
+ integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==,
+ }
+ engines: { node: ">= 0.8.0" }
+ dependencies:
+ bl: 1.2.3
+ buffer-alloc: 1.2.0
+ end-of-stream: 1.4.4
+ fs-constants: 1.0.0
+ readable-stream: 2.3.8
+ to-buffer: 1.1.1
+ xtend: 4.0.2
+ dev: true
+
+ /temp-dir@1.0.0:
+ resolution:
+ {
+ integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /temp-dir@2.0.0:
+ resolution:
+ {
+ integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /tempfile@2.0.0:
+ resolution:
+ {
+ integrity: sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ temp-dir: 1.0.0
+ uuid: 3.4.0
+ dev: true
+
+ /tempfile@3.0.0:
+ resolution:
+ {
+ integrity: sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ temp-dir: 2.0.0
+ uuid: 3.4.0
+ dev: true
+
+ /text-extensions@1.9.0:
+ resolution:
+ {
+ integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==,
+ }
+ engines: { node: ">=0.10" }
+ dev: true
+
+ /through2@4.0.2:
+ resolution:
+ {
+ integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==,
+ }
+ dependencies:
+ readable-stream: 3.6.2
+ dev: true
+
+ /through@2.3.8:
+ resolution:
+ {
+ integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==,
+ }
+ dev: true
+
+ /timed-out@4.0.1:
+ resolution:
+ {
+ integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /tmp@0.0.33:
+ resolution:
+ {
+ integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==,
+ }
+ engines: { node: ">=0.6.0" }
+ dependencies:
+ os-tmpdir: 1.0.2
+ dev: true
+
+ /to-buffer@1.1.1:
+ resolution:
+ {
+ integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==,
+ }
+ dev: true
+
+ /to-regex-range@5.0.1:
+ resolution:
+ {
+ integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==,
+ }
+ engines: { node: ">=8.0" }
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /tr46@0.0.3:
+ resolution:
+ {
+ integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==,
+ }
+ dev: true
+
+ /traverse@0.6.7:
+ resolution:
+ {
+ integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==,
+ }
+ dev: true
+
+ /trim-newlines@3.0.1:
+ resolution:
+ {
+ integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /trim-repeated@1.0.0:
+ resolution:
+ {
+ integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+
+ /trough@1.0.5:
+ resolution:
+ {
+ integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==,
+ }
+ dev: true
+
+ /ts-node@10.9.1(@types/node@20.5.1)(typescript@5.2.2):
+ resolution:
+ {
+ integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==,
+ }
+ hasBin: true
+ peerDependencies:
+ "@swc/core": ">=1.2.50"
+ "@swc/wasm": ">=1.2.50"
+ "@types/node": "*"
+ typescript: ">=2.7"
+ peerDependenciesMeta:
+ "@swc/core":
+ optional: true
+ "@swc/wasm":
+ optional: true
+ dependencies:
+ "@cspotcode/source-map-support": 0.8.1
+ "@tsconfig/node10": 1.0.9
+ "@tsconfig/node12": 1.0.11
+ "@tsconfig/node14": 1.0.3
+ "@tsconfig/node16": 1.0.4
+ "@types/node": 20.5.1
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 5.2.2
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+ dev: true
+
+ /tslib@1.14.1:
+ resolution:
+ {
+ integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==,
+ }
+ dev: true
+
+ /tslib@2.6.2:
+ resolution:
+ {
+ integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==,
+ }
+ dev: true
+
+ /tunnel-agent@0.6.0:
+ resolution:
+ {
+ integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==,
+ }
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /type-fest@0.18.1:
+ resolution:
+ {
+ integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /type-fest@0.21.3:
+ resolution:
+ {
+ integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /type-fest@0.6.0:
+ resolution:
+ {
+ integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /type-fest@0.8.1:
+ resolution:
+ {
+ integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /type-fest@1.4.0:
+ resolution:
+ {
+ integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /typescript@5.2.2:
+ resolution:
+ {
+ integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==,
+ }
+ engines: { node: ">=14.17" }
+ hasBin: true
+ dev: true
+
+ /unbzip2-stream@1.4.3:
+ resolution:
+ {
+ integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==,
+ }
+ dependencies:
+ buffer: 5.7.1
+ through: 2.3.8
+ dev: true
+
+ /underscore@1.13.6:
+ resolution:
+ {
+ integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==,
+ }
+ dev: true
+
+ /unified@9.2.2:
+ resolution:
+ {
+ integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==,
+ }
+ dependencies:
+ "@types/unist": 2.0.8
+ bail: 1.0.5
+ extend: 3.0.2
+ is-buffer: 2.0.5
+ is-plain-obj: 2.1.0
+ trough: 1.0.5
+ vfile: 4.2.1
+ dev: true
+
+ /unist-util-is@4.1.0:
+ resolution:
+ {
+ integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==,
+ }
+ dev: true
+
+ /unist-util-stringify-position@2.0.3:
+ resolution:
+ {
+ integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==,
+ }
+ dependencies:
+ "@types/unist": 2.0.8
+ dev: true
+
+ /unist-util-visit-parents@3.1.1:
+ resolution:
+ {
+ integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==,
+ }
+ dependencies:
+ "@types/unist": 2.0.8
+ unist-util-is: 4.1.0
+ dev: true
+
+ /universalify@2.0.0:
+ resolution:
+ {
+ integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==,
+ }
+ engines: { node: ">= 10.0.0" }
+ dev: true
+
+ /update-section@0.3.3:
+ resolution:
+ {
+ integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==,
+ }
+ dev: true
+
+ /uri-js@4.4.1:
+ resolution:
+ {
+ integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
+ }
+ dependencies:
+ punycode: 2.3.0
+ dev: true
+
+ /url-parse-lax@1.0.0:
+ resolution:
+ {
+ integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ prepend-http: 1.0.4
+ dev: true
+
+ /url-to-options@1.0.1:
+ resolution:
+ {
+ integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==,
+ }
+ engines: { node: ">= 4" }
+ dev: true
+
+ /util-deprecate@1.0.2:
+ resolution:
+ {
+ integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==,
+ }
+ dev: true
+
+ /uuid@3.4.0:
+ resolution:
+ {
+ integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==,
+ }
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+ dev: true
+
+ /v8-compile-cache-lib@3.0.1:
+ resolution:
+ {
+ integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==,
+ }
+ dev: true
+
+ /validate-npm-package-license@3.0.4:
+ resolution:
+ {
+ integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==,
+ }
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+ dev: true
+
+ /vfile-message@2.0.4:
+ resolution:
+ {
+ integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==,
+ }
+ dependencies:
+ "@types/unist": 2.0.8
+ unist-util-stringify-position: 2.0.3
+ dev: true
+
+ /vfile@4.2.1:
+ resolution:
+ {
+ integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==,
+ }
+ dependencies:
+ "@types/unist": 2.0.8
+ is-buffer: 2.0.5
+ unist-util-stringify-position: 2.0.3
+ vfile-message: 2.0.4
+ dev: true
+
+ /wcwidth@1.0.1:
+ resolution:
+ {
+ integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==,
+ }
+ dependencies:
+ defaults: 1.0.4
+ dev: true
+
+ /webidl-conversions@3.0.1:
+ resolution:
+ {
+ integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==,
+ }
+ dev: true
+
+ /whatwg-url@5.0.0:
+ resolution:
+ {
+ integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==,
+ }
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+ dev: true
+
+ /which-module@2.0.1:
+ resolution:
+ {
+ integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==,
+ }
+ dev: true
+
+ /which@1.3.1:
+ resolution:
+ {
+ integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==,
+ }
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /which@2.0.2:
+ resolution:
+ {
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+ }
+ engines: { node: ">= 8" }
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /word-wrap@1.2.5:
+ resolution:
+ {
+ integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /wrap-ansi@6.2.0:
+ resolution:
+ {
+ integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /wrap-ansi@7.0.0:
+ resolution:
+ {
+ integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /wrap-ansi@8.1.0:
+ resolution:
+ {
+ integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution:
+ {
+ integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
+ }
+ dev: true
+
+ /xtend@4.0.2:
+ resolution:
+ {
+ integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==,
+ }
+ engines: { node: ">=0.4" }
+ dev: true
+
+ /y18n@4.0.3:
+ resolution:
+ {
+ integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==,
+ }
+ dev: true
+
+ /y18n@5.0.8:
+ resolution:
+ {
+ integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /yallist@2.1.2:
+ resolution:
+ {
+ integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==,
+ }
+ dev: true
+
+ /yallist@4.0.0:
+ resolution:
+ {
+ integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+ }
+ dev: true
+
+ /yaml@2.3.1:
+ resolution:
+ {
+ integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==,
+ }
+ engines: { node: ">= 14" }
+ dev: true
+
+ /yargs-parser@18.1.3:
+ resolution:
+ {
+ integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+ dev: true
+
+ /yargs-parser@20.2.9:
+ resolution:
+ {
+ integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /yargs-parser@21.1.1:
+ resolution:
+ {
+ integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==,
+ }
+ engines: { node: ">=12" }
+ dev: true
+
+ /yargs@15.4.1:
+ resolution:
+ {
+ integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+ dev: true
+
+ /yargs@17.7.2:
+ resolution:
+ {
+ integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==,
+ }
+ engines: { node: ">=12" }
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ dev: true
+
+ /yauzl@2.10.0:
+ resolution:
+ {
+ integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==,
+ }
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+ dev: true
+
+ /yn@3.1.1:
+ resolution:
+ {
+ integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /yocto-queue@0.1.0:
+ resolution:
+ {
+ integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /zwitch@1.0.5:
+ resolution:
+ {
+ integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==,
+ }
+ dev: true
diff --git a/src/mViscaCamera.axs b/src/mViscaCamera.axs
new file mode 100644
index 0000000..d398f92
--- /dev/null
+++ b/src/mViscaCamera.axs
@@ -0,0 +1,464 @@
+MODULE_NAME='mViscaCamera' (
+ dev vdvObject,
+ dev vdvControl
+ )
+
+(***********************************************************)
+#include 'NAVFoundation.ModuleBase.axi'
+#include 'NAVFoundation.ArrayUtils.axi'
+
+/*
+ _ _ _ ___ __
+| \ | | ___ _ __ __ _ __ _| |_ ___ / \ \ / /
+| \| |/ _ \| '__/ _` |/ _` | __/ _ \ / _ \ \ / /
+| |\ | (_) | | | (_| | (_| | || __// ___ \ V /
+|_| \_|\___/|_| \__, |\__,_|\__\___/_/ \_\_/
+ |___/
+
+MIT License
+
+Copyright (c) 2023 Norgate AV Services Limited
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+(***********************************************************)
+(* DEVICE NUMBER DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_DEVICE
+
+(***********************************************************)
+(* CONSTANT DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_CONSTANT
+constant long TL_DRIVE = 1
+
+constant integer REQUIRED_POWER_ON = 1
+constant integer REQUIRED_POWER_OFF = 2
+
+constant integer ACTUAL_POWER_ON = 1
+constant integer ACTUAL_POWER_OFF = 2
+
+
+constant integer GET_POWER = 1
+constant integer GET_PAN = 2
+constant integer GET_ZOOM = 3
+
+(***********************************************************)
+(* DATA TYPE DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_TYPE
+
+(***********************************************************)
+(* VARIABLE DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_VARIABLE
+volatile long ltDrive[] = { 500 }
+volatile integer iLoop
+
+volatile char cUnitID[] = '1'
+
+volatile integer iIsInitialized
+
+volatile integer iID
+
+volatile integer iSemaphore
+volatile char cRxBuffer[NAV_MAX_BUFFER]
+
+volatile integer iCommandLockOut
+
+volatile integer iRequiredPower
+volatile integer iActualPower
+
+volatile integer iPollSequence = GET_POWER
+
+volatile integer iCommunicating
+
+
+volatile integer iTiltSpeed = 5
+volatile integer iPanSpeed = 5
+volatile integer iZoomSpeed = 2
+
+
+volatile integer iLastPTZ
+
+(***********************************************************)
+(* LATCHING DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_LATCHING
+
+(***********************************************************)
+(* MUTUALLY EXCLUSIVE DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_MUTUALLY_EXCLUSIVE
+
+(***********************************************************)
+(* SUBROUTINE/FUNCTION DEFINITIONS GO BELOW *)
+(***********************************************************)
+(* EXAMPLE: DEFINE_FUNCTION () *)
+(* EXAMPLE: DEFINE_CALL '' () *)
+define_function SendCommand(char cParam[]) {
+ NAVLog("'Command to ',NAVStringSurroundWith(NAVDeviceToString(vdvControl), '[', ']'),': [',cParam,']'")
+ send_command vdvControl,"cParam"
+}
+
+define_function BuildCommand(char cHeader[], char cCmd[]) {
+ if (length_array(cCmd)) {
+ SendCommand("cHeader,'-<',itoa(iID),'|',cCmd,'>'")
+ }else {
+ SendCommand("cHeader,'-<',itoa(iID),'>'")
+ }
+}
+
+define_function Process() {
+ stack_var char cTemp[NAV_MAX_BUFFER]
+ iSemaphore = true
+ while (length_array(cRxBuffer) && NAVContains(cRxBuffer,'>')) {
+ cTemp = remove_string(cRxBuffer,"'>'",1)
+ if (length_array(cTemp)) {
+ NAVLog("'Parsing String From ',NAVStringSurroundWith(NAVDeviceToString(vdvControl), '[', ']'),': [',cTemp,']'")
+ if (NAVContains(cRxBuffer, cTemp)) { cRxBuffer = "''" }
+ select {
+ active (NAVStartsWith(cTemp,'REGISTER')): {
+ iID = atoi(NAVGetStringBetween(cTemp,'<','>'))
+ if (iID) { BuildCommand('REGISTER','') }
+ NAVLog("'VISCA_REGISTER_REQUESTED<',itoa(iID),'>'")
+ NAVLog("'VISCA_REGISTER<',itoa(iID),'>'")
+ }
+ active (NAVStartsWith(cTemp,'INIT')): {
+ //if (cUnitGroup == '*' || cUnitID == '*') {
+ //if (!iIsInitialized) {
+ //iIsInitialized = true
+ //BuildCommand('INIT_DONE','')
+ //}
+ // }else {
+ iIsInitialized = false
+ iPollSequence = GET_POWER
+ GetInitialized()
+ NAVLog("'VISCA_INIT_REQUESTED<',itoa(iID),'>'")
+
+ //}
+ }
+ active (NAVStartsWith(cTemp,'START_POLLING')): {
+ timeline_create(TL_DRIVE,ltDrive,length_array(ltDrive),TIMELINE_ABSOLUTE,TIMELINE_REPEAT)
+ }
+ active (NAVStartsWith(cTemp,'RESPONSE_MSG')): {
+ stack_var char cResponseRequestMess[NAV_MAX_BUFFER]
+ stack_var char cResponseMess[NAV_MAX_BUFFER]
+ iCommunicating = true
+ //NAVLog("'RESPONCE_MSG_RECEIVED<',itoa(iID),'>: ',cTemp")
+ TimeOut()
+ cResponseRequestMess = NAVGetStringBetween(cTemp,'<','|')
+ cResponseMess = NAVGetStringBetween(cTemp,'|','>')
+ //NAVLog("'VISCA_GOT_RESPONSE<',itoa(iID),'>','<',cResponseMess,'>'")
+ //BuildCommand('RESPONSE_OK',cResponseRequestMess)
+ select {
+ active (NAVContains(cResponseMess,"atoi(cUnitID) + $8F,$50")): {
+ //NAVLog("'VISCA_GOT_INIT_RESPONSE<',itoa(iID),'>'")
+ remove_string(cResponseMess,"atoi(cUnitID) + $8F,$50",1)
+ switch (iPollSequence) {
+ case GET_POWER: {
+ switch (cResponseMess[1]) {
+ case $02: { iActualPower = ACTUAL_POWER_ON }
+ case $03: { iActualPower = ACTUAL_POWER_OFF }
+ }
+
+ if (!iIsInitialized) {
+ iIsInitialized = true
+ BuildCommand('INIT_DONE','')
+ NAVLog("'VISCA_INIT_DONE<',itoa(iID),'>'")
+ }
+
+ //iPollSequence = GET_PAN
+ }
+ case GET_PAN: {
+ iPollSequence = GET_ZOOM
+ }
+ case GET_ZOOM: {
+ /*
+ if (!iIsInitialized) {
+ iIsInitialized = true
+ BuildCommand('INIT_DONE','')
+ NAVLog("'VISCA_INIT_DONE<',itoa(iID),'>'")
+ }
+ */
+
+ iPollSequence = GET_POWER
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ iSemaphore = false
+}
+
+define_function GetInitialized() {
+ //NAVLog("'VISCA_GETTING_INITIALIZED<',itoa(iID),'>'")
+ SendQuery(GET_POWER)
+ //SendQuery(GET_PAN)
+ //SendQuery(GET_ZOOM)
+}
+
+define_function char[NAV_MAX_BUFFER] BuildString(char cByte1[], char cByte2[], char cByte3[], char cByte4[], char cByte5[], char cByte6[], char cByte7[], char cByte8[]) {
+ stack_var char cTemp[8]
+ if (length_array(cByte1)) { cTemp = "cTemp,cByte1" }
+ if (length_array(cByte2)) { cTemp = "cTemp,cByte2" }
+ if (length_array(cByte3)) { cTemp = "cTemp,cByte3" }
+ if (length_array(cByte4)) { cTemp = "cTemp,cByte4" }
+ if (length_array(cByte5)) { cTemp = "cTemp,cByte5" }
+ if (length_array(cByte6)) { cTemp = "cTemp,cByte6" }
+ if (length_array(cByte7)) { cTemp = "cTemp,cByte7" }
+ if (length_array(cByte8)) { cTemp = "cTemp,cByte8" }
+ return cTemp
+}
+
+define_function SendQuery(integer iParam) {
+ switch (iParam) {
+ case GET_POWER: {
+ BuildCommand('POLL_MSG',BuildString("atoi(cUnitID) + $80","$09","$04","$00",'','','',''))
+ //NAVLog("'VISCA_SENDING_INIT_COMMAND<',itoa(iID),'>'")
+ }
+ case GET_PAN: { BuildCommand('POLL_MSG',BuildString("atoi(cUnitID) + $80","$09","$06","$12",'','','','')) }
+ case GET_ZOOM: { BuildCommand('POLL_MSG',BuildString("atoi(cUnitID) + $80","$09","$04","$47",'','','','')) }
+ }
+}
+
+define_function TimeOut() {
+ cancel_wait 'CommsTimeOut'
+ wait 300 'CommsTimeOut' { iCommunicating = false }
+}
+
+define_function SetPower(integer iParam) {
+ switch (iParam) {
+ case REQUIRED_POWER_ON: { BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$00","$02",'','','')) }
+ case REQUIRED_POWER_OFF: { BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$00","$03",'','','')) }
+ }
+}
+
+define_function Drive() {
+ iLoop++
+ switch (iLoop) {
+ case 1:
+ case 11:
+ case 21:
+ case 31: { SendQuery(iPollSequence); return }
+ case 41: { iLoop = 0; return }
+ default: {
+ if (iCommandLockOut) { return }
+ if (iRequiredPower && (iRequiredPower == iActualPower)) { iRequiredPower = 0; return }
+
+ if (iRequiredPower && (iRequiredPower <> iActualPower) && iCommunicating) {
+ SetPower(iRequiredPower)
+ iCommandLockOut = true
+ wait 150 iCommandLockOut = false
+ iPollSequence = GET_POWER
+ return
+ }
+ }
+ }
+}
+
+define_function RecallLastPTZ(integer iParam) {
+ switch (iLastPTZ) {
+ case 1: {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$03","$01"))
+ }
+ case 2: {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$03","$02"))
+ }
+ case 3: {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$01","$03"))
+ }
+ case 4: {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$02","$03"))
+ }
+ case 5: {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$07","$20 + iZoomSpeed",'','',''))
+ }
+ case 6: {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$07","$30 + iZoomSpeed",'','',''))
+ }
+ }
+}
+
+(***********************************************************)
+(* STARTUP CODE GOES BELOW *)
+(***********************************************************)
+DEFINE_START {
+ create_buffer vdvControl,cRxBuffer
+
+ set_virtual_channel_count(vdvObject, 1024)
+ set_virtual_level_count(vdvObject, 30)
+}
+
+(***********************************************************)
+(* THE EVENTS GO BELOW *)
+(***********************************************************)
+DEFINE_EVENT
+data_event[vdvControl] {
+ online: {
+ }
+ string: {
+ if (!iSemaphore) {
+ Process()
+ }
+ }
+}
+
+data_event[vdvObject] {
+ command: {
+ stack_var char cCmdHeader[NAV_MAX_CHARS]
+ stack_var char cCmdParam[2][NAV_MAX_CHARS]
+
+ NAVLog("'Command from ',NAVStringSurroundWith(NAVDeviceToString(data.device), '[', ']'),': [',data.text,']'")
+ cCmdHeader = DuetParseCmdHeader(data.text)
+ cCmdParam[1] = DuetParseCmdParam(data.text)
+ cCmdParam[2] = DuetParseCmdParam(data.text)
+ switch (cCmdHeader) {
+ case 'PROPERTY': {
+ switch (cCmdParam[1]) {
+ case 'UNIT_ID': {
+ cUnitID = cCmdParam[2]
+ }
+ }
+ }
+ case 'POWER': {
+ switch (cCmdParam[1]) {
+ case 'ON': {
+ iRequiredPower = REQUIRED_POWER_ON; Drive()
+ }
+ case 'OFF': {
+ iRequiredPower = REQUIRED_POWER_OFF; Drive()
+ }
+ }
+ }
+ case 'PRESET': {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$3F","$02","atoi(cCmdParam[1])","$FF",""))
+ }
+ case 'PRESETSAVE': {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$3F","$01","atoi(cCmdParam[1])","$FF",""))
+ }
+ }
+ }
+}
+
+define_event channel_event[vdvObject,0] {
+ on: {
+ switch (channel.channel) {
+ case PWR_ON: {
+ iRequiredPower = REQUIRED_POWER_ON; Drive()
+ }
+ case PWR_OFF: {
+ iRequiredPower = REQUIRED_POWER_OFF; Drive()
+ }
+ case TILT_UP: {
+ iLastPTZ = 1
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$03","$01"))
+ }
+ case TILT_DN: {
+ iLastPTZ = 2
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$03","$02"))
+ }
+ case PAN_LT: {
+ iLastPTZ = 3
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$01","$03"))
+ }
+ case PAN_RT: {
+ iLastPTZ = 4
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$02","$03"))
+ }
+ case ZOOM_IN: {
+ iLastPTZ = 5
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$07","$20 + iZoomSpeed",'','',''))
+ }
+ case ZOOM_OUT: {
+ iLastPTZ = 6
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$07","$30 + iZoomSpeed",'','',''))
+ }
+ case NAV_PRESET_1:
+ case NAV_PRESET_2:
+ case NAV_PRESET_3:
+ case NAV_PRESET_4:
+ case NAV_PRESET_5:
+ case NAV_PRESET_6:
+ case NAV_PRESET_7:
+ case NAV_PRESET_8: {
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$3F","$02","NAVFindInArrayINTEGER(NAV_PRESET, channel.channel)","$FF",""))
+ }
+ }
+ }
+ off: {
+ switch (channel.channel) {
+ case TILT_UP:
+ case TILT_DN:
+ case PAN_LT:
+ case PAN_RT: {
+ iLastPTZ = 0
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$06","$01","iTiltSpeed","iPanSpeed","$03","$03"))
+ }
+ case ZOOM_IN:
+ case ZOOM_OUT: {
+ iLastPTZ = 0
+ BuildCommand('COMMAND_MSG',BuildString("atoi(cUnitID) + $80","$01","$04","$07","$00",'','',''))
+ }
+ }
+ }
+}
+
+level_event[vdvObject,TILT_SPEED_LVL] {
+ iTiltSpeed = level.value
+ NAVLog("'VISCA_TILT_SPEED_CHANGE<',itoa(iID),'>TILT_SPEED<',itoa(iTiltSpeed),'>'")
+ if (iLastPTZ) {
+ RecallLastPTZ(iLastPTZ)
+ }
+}
+
+level_event[vdvObject,PAN_SPEED_LVL] {
+ iPanSpeed = level.value
+ NAVLog("'VISCA_PAN_SPEED_CHANGE<',itoa(iID),'>PAN_SPEED<',itoa(iPanSpeed),'>'")
+ if (iLastPTZ) {
+ RecallLastPTZ(iLastPTZ)
+ }
+}
+
+level_event[vdvObject,ZOOM_SPEED_LVL] {
+ iZoomSpeed = level.value
+ NAVLog("'VISCA_ZOOM_SPEED_CHANGE<',itoa(iID),'>ZOOM_SPEED<',itoa(iZoomSpeed),'>'")
+ if (iLastPTZ) {
+ RecallLastPTZ(iLastPTZ)
+ }
+}
+
+timeline_event[TL_DRIVE] { Drive(); }
+
+timeline_event[TL_NAV_FEEDBACK] {
+ [vdvObject,POWER_FB] = (iActualPower == ACTUAL_POWER_ON)
+ [vdvObject,DEVICE_COMMUNICATING] = (iCommunicating)
+}
+
+
+(***********************************************************)
+(* END OF PROGRAM *)
+(* DO NOT PUT ANY CODE BELOW THIS COMMENT *)
+(***********************************************************)
+
diff --git a/src/mViscaCameraComm.axs b/src/mViscaCameraComm.axs
new file mode 100644
index 0000000..b5bd26c
--- /dev/null
+++ b/src/mViscaCameraComm.axs
@@ -0,0 +1,546 @@
+MODULE_NAME='mViscaCameraComm' (
+ dev vdvObject,
+ dev vdvCommObjects[],
+ dev dvPort
+ )
+
+(***********************************************************)
+#include 'NAVFoundation.ModuleBase.axi'
+#include 'NAVFoundation.SocketUtils.axi'
+
+/*
+ _ _ _ ___ __
+| \ | | ___ _ __ __ _ __ _| |_ ___ / \ \ / /
+| \| |/ _ \| '__/ _` |/ _` | __/ _ \ / _ \ \ / /
+| |\ | (_) | | | (_| | (_| | || __// ___ \ V /
+|_| \_|\___/|_| \__, |\__,_|\__\___/_/ \_\_/
+ |___/
+
+MIT License
+
+Copyright (c) 2023 Norgate AV Services Limited
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+(***********************************************************)
+(* DEVICE NUMBER DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_DEVICE
+
+(***********************************************************)
+(* CONSTANT DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_CONSTANT
+constant long TL_IP_CHECK = 1
+constant long TL_QUEUE_FAILED_RESPONSE = 2
+constant long TL_HEARTBEAT = 3
+
+constant integer MAX_QUEUE_COMMANDS = 50
+constant integer MAX_QUEUE_STATUS = 100
+constant integer MAX_OBJECTS = 8
+
+constant integer TELNET_WILL = $FB
+constant integer TELNET_DO = $FD
+constant integer TELNET_DONT = $FE
+constant integer TELNET_WONT = $FC
+
+
+(***********************************************************)
+(* DATA TYPE DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_TYPE
+struct _Object {
+ integer iInitialized
+ integer iRegistered
+}
+
+struct _Queue {
+ integer iBusy
+ integer iHasItems
+ integer iCommandHead
+ integer iCommandTail
+ integer iStatusHead
+ integer iStatusTail
+ integer iStrikeCount
+ integer iResendLast
+ char cLastMess[NAV_MAX_BUFFER]
+}
+
+(***********************************************************)
+(* VARIABLE DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_VARIABLE
+volatile long ltHeartbeat[] = { 30000 }
+volatile long ltIPCheck[] = { 3000 }
+volatile long ltQueueFailedResponse[] = { 2500 }
+
+volatile _Object uObject[MAX_OBJECTS]
+
+volatile _Queue uQueue
+volatile char cCommandQueue[MAX_QUEUE_COMMANDS][NAV_MAX_BUFFER]
+volatile char cStatusQueue[MAX_QUEUE_STATUS][NAV_MAX_BUFFER]
+
+volatile char cRxBuffer[NAV_MAX_BUFFER]
+volatile integer iSemaphore
+
+volatile char cIPAddress[15]
+volatile integer iIPConnected = false
+volatile integer iIPAuthenticated
+
+volatile integer iInitializing
+volatile integer iInitializingObjectID
+
+volatile integer iInitialized
+volatile integer iCommunicating
+
+volatile integer iReadyToInitialize
+
+(***********************************************************)
+(* LATCHING DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_LATCHING
+
+(***********************************************************)
+(* MUTUALLY EXCLUSIVE DEFINITIONS GO BELOW *)
+(***********************************************************)
+DEFINE_MUTUALLY_EXCLUSIVE
+
+(***********************************************************)
+(* SUBROUTINE/FUNCTION DEFINITIONS GO BELOW *)
+(***********************************************************)
+(* EXAMPLE: DEFINE_FUNCTION () *)
+(* EXAMPLE: DEFINE_CALL '' () *)
+define_function SendStringRaw(char cString[]) {
+ NAVLog(NAVFormatStandardLogMessage(NAV_STANDARD_LOG_MESSAGE_TYPE_STRING_TO, dvPort, cString))
+ send_string dvPort,"cString"
+}
+
+define_function SendString(char cString[]) {
+ NAVLog("'Formatting String'")
+ SendStringRaw("cString,$FF")
+}
+
+/*
+define_function BuildCommand(char cHeader[], char cCmd[]) {
+ if (length_array(cCmd)) {
+ SendCommand("cHeader,'-<',itoa(iID),'|',cCmd,'>'")
+ }else {
+ SendCommand("cHeader,'-<',itoa(iID),'>'")
+ }
+}
+*/
+/*
+define_function char[NAV_MAX_BUFFER] BuildString(char cInst[], char cCmd[], char cAtt[], char cIndex1[], char cIndex2[], char cVal[]) {
+ stack_var char cTemp[NAV_MAX_BUFFER]
+ if (length_array(cInst)) { cTemp = "cTemp,cInst,' '" }
+ if (length_array(cCmd)) { cTemp = "cTemp,cCmd,' '" }
+ if (length_array(cAtt)) { cTemp = "cTemp,cAtt,' '" }
+ if (length_array(cIndex1)) { cTemp = "cTemp,cIndex1,' '" }
+ if (length_array(cIndex2)) { cTemp = "cTemp,cIndex2,' '" }
+ if (length_array(cVal)) { cTemp = "cTemp,cVal" }
+ if (right_string(cTemp, 1) == ' ') { cTemp = NAVStripCharsFromRight(cTemp, 1) }
+ return cTemp
+}
+*/
+define_function AddToQueue(char cString[], integer iPriority) {
+ stack_var integer iQueueWasEmpty
+ NAVLog("'Adding to Queue'")
+ iQueueWasEmpty = (!uQueue.iHasItems && !uQueue.iBusy)
+ switch (iPriority) {
+ case true: { //Commands have priority over status requests
+ select {
+ active (uQueue.iCommandHead == max_length_array(cCommandQueue)): {
+ if (uQueue.iCommandTail <> 1) {
+ uQueue.iCommandHead = 1
+ cCommandQueue[uQueue.iCommandHead] = cString
+ uQueue.iHasItems = true
+ }
+ }
+ active (uQueue.iCommandTail <> (uQueue.iCommandHead + 1)): {
+ uQueue.iCommandHead++
+ cCommandQueue[uQueue.iCommandHead] = cString
+ uQueue.iHasItems = true
+ }
+ }
+ }
+ case false: {
+ select {
+ active (uQueue.iStatusHead == max_length_array(cStatusQueue)): {
+ if (uQueue.iStatusTail <> 1) {
+ uQueue.iStatusHead = 1
+ cStatusQueue[uQueue.iStatusHead] = cString
+ uQueue.iHasItems = true
+ }
+ }
+ active (uQueue.iStatusTail <> (uQueue.iStatusHead + 1)): {
+ uQueue.iStatusHead++
+ cStatusQueue[uQueue.iStatusHead] = cString
+ uQueue.iHasItems = true
+ }
+ }
+ }
+ }
+
+ if (iQueueWasEmpty) { SendNextQueueItem(); NAVLog("'Queue was empty. Sending Next'") }
+}
+
+define_function char[NAV_MAX_BUFFER] RemoveFromQueue() {
+ NAVLog("'Removing from Queue'")
+ if (uQueue.iHasItems && !uQueue.iBusy) {
+ uQueue.iBusy = true
+ select {
+ active (uQueue.iCommandHead <> uQueue.iCommandTail): {
+ if (uQueue.iCommandTail == max_length_array(cCommandQueue)) {
+ uQueue.iCommandTail = 1
+ }else {
+ uQueue.iCommandTail++
+ }
+
+ uQueue.cLastMess = cCommandQueue[uQueue.iCommandTail]
+ }
+ active (uQueue.iStatusHead <> uQueue.iStatusTail): {
+ if (uQueue.iStatusTail == max_length_array(cStatusQueue)) {
+ uQueue.iStatusTail = 1
+ }else {
+ uQueue.iStatusTail++
+ }
+
+ uQueue.cLastMess = cStatusQueue[uQueue.iStatusTail]
+ }
+ }
+
+ if ((uQueue.iCommandHead == uQueue.iCommandTail) && (uQueue.iStatusHead == uQueue.iStatusTail)) {
+ uQueue.iHasItems = false
+ }
+
+ NAVLog("'Last Mess: ',uQueue.cLastMess")
+ return GetMess(uQueue.cLastMess)
+ }
+
+ return ''
+}
+
+define_function integer GetMessID(char cParam[]) {
+ return atoi(NAVGetStringBetween(cParam,'<','|'))
+}
+
+define_function integer GetSubscriptionMessID(char cParam[]) {
+ return atoi(NAVGetStringBetween(cParam,'[','*'))
+}
+
+define_function char[NAV_MAX_BUFFER] GetMess(char cParam[]) {
+ NAVLog("'Got Mess: ',NAVGetStringBetween(cParam,'|','>')")
+ return NAVGetStringBetween(cParam,'|','>')
+}
+
+define_function InitializeObjects() {
+ stack_var integer x
+ if (!iInitializing) {
+ for (x = 1; x <= length_array(vdvCommObjects); x++) {
+ if (uObject[x].iRegistered && !uObject[x].iInitialized) {
+ iInitializing = true
+ send_string vdvCommObjects[x],"'INIT<',itoa(x),'>'"
+ NAVLog("'VISCA_INIT<',itoa(x),'>'")
+ iInitializingObjectID = x
+ break
+ }
+
+ if (x == length_array(vdvCommObjects) && !iInitializing) {
+ iInitializingObjectID = x
+ iInitialized = true
+ }
+ }
+ }
+}
+
+define_function GoodResponse() {
+ NAVLog("'Good Response'")
+ uQueue.iBusy = false
+ NAVTimelineStop(TL_QUEUE_FAILED_RESPONSE)
+
+ uQueue.iStrikeCount = 0
+ uQueue.iResendLast = false
+ SendNextQueueItem()
+}
+
+define_function SendNextQueueItem() {
+ stack_var char cTemp[NAV_MAX_BUFFER]
+ NAVLog("'Sending Next'")
+ if (uQueue.iResendLast) {
+ NAVLog("'Resending Last'")
+ uQueue.iResendLast = false
+ cTemp = GetMess(uQueue.cLastMess)
+ }else {
+ NAVLog("'Requesting from queue'")
+ cTemp= RemoveFromQueue()
+ }
+
+ if (length_array(cTemp)) {
+ NAVLog("'Requesting to send'")
+ SendString(cTemp)
+ //if (NAVContains(cTemp,'*')) {
+ //wait 10 GoodResponse() //Move straight on without waiting for response if a global command was sent
+ //}else {
+ timeline_create(TL_QUEUE_FAILED_RESPONSE,ltQueueFailedResponse,length_array(ltQueueFailedResponse),TIMELINE_ABSOLUTE,TIMELINE_ONCE)
+ //}
+ }
+}
+
+define_event timeline_event[TL_QUEUE_FAILED_RESPONSE] {
+ if (uQueue.iBusy) {
+ if (uQueue.iStrikeCount < 3) {
+ uQueue.iStrikeCount++
+ uQueue.iResendLast = true
+ SendNextQueueItem()
+ }else {
+ iCommunicating = false
+ Reset()
+ }
+ }
+}
+
+define_function Reset() {
+ ReInitializeObjects()
+ InitializeQueue()
+}
+
+define_function ReInitializeObjects() {
+ stack_var integer x
+ iInitializing = false
+ iInitialized = false
+ iInitializingObjectID = 1
+ for (x = 1; x <= length_array(uObject); x++) {
+ uObject[x].iInitialized = false
+ }
+}
+
+define_function InitializeQueue() {
+ uQueue.iBusy = false
+ uQueue.iHasItems = false
+ uQueue.iCommandHead = 1
+ uQueue.iCommandTail = 1
+ uQueue.iStatusHead = 1
+ uQueue.iStatusTail = 1
+ uQueue.iStrikeCount = 0
+ uQueue.iResendLast = false
+ uQueue.cLastMess = "''"
+}
+
+define_function Process() {
+ stack_var char cTemp[NAV_MAX_BUFFER]
+ iSemaphore = true
+ while (length_array(cRxBuffer) && NAVContains(cRxBuffer,"$FF")) {
+ cTemp = remove_string(cRxBuffer,"$FF",1)
+ if (length_array(cTemp)) {
+ NAVLog(NAVFormatStandardLogMessage(NAV_STANDARD_LOG_MESSAGE_TYPE_PARSING_STRING_FROM, dvPort, cTemp))
+ cTemp = NAVStripCharsFromRight(cTemp, 1) //Removes FF
+ select {
+ active (NAVContains(uQueue.cLastMess,'HEARTBEAT')): {
+ if (!iCommunicating) {
+ iCommunicating = true
+ }
+
+ if (iCommunicating && !iInitialized && iReadyToInitialize) {
+ InitializeObjects()
+ }
+
+ //GoodResponse()
+ }
+ active (1): {
+ stack_var integer iResponseMessID
+ iResponseMessID = GetMessID(uQueue.cLastMess)
+ if (iResponseMessID && (iResponseMessID <= length_array(vdvCommObjects))) {
+ send_string vdvCommObjects[iResponseMessID],"'RESPONSE_MSG<',GetMess(uQueue.cLastMess),'|',cTemp,'>'"
+ }
+ }
+ }
+
+ GoodResponse()
+ }
+ }
+
+ iSemaphore = false
+}
+
+define_function MaintainIPConnection() {
+ if (!iIPConnected) {
+ NAVClientSocketOpen(dvPort.port,cIPAddress,NAV_TELNET_PORT,IP_TCP)
+ }
+}
+
+(***********************************************************)
+(* STARTUP CODE GOES BELOW *)
+(***********************************************************)
+DEFINE_START {
+ create_buffer dvPort,cRxBuffer
+ Reset()
+}
+(***********************************************************)
+(* THE EVENTS GO BELOW *)
+(***********************************************************)
+DEFINE_EVENT
+data_event[dvPort] {
+ online: {
+ if (data.device.number <> 0) {
+ send_command data.device,"'SET BAUD 9600,N,8,1 485 DISABLE'"
+ send_command data.device,"'B9MOFF'"
+ send_command data.device,"'CHARD-0'"
+ send_command data.device,"'CHARDM-0'"
+ send_command data.device,"'HSOFF'"
+ }
+
+ if (data.device.number <> 0) {
+ timeline_create(TL_HEARTBEAT,ltHeartbeat,length_array(ltHeartbeat),TIMELINE_ABSOLUTE,TIMELINE_REPEAT)
+ }
+
+ if (data.device.number == 0) { iIPConnected = true }
+ }
+ string: {
+ NAVLog(NAVFormatStandardLogMessage(NAV_STANDARD_LOG_MESSAGE_TYPE_STRING_TO, data.device, data.text))
+ select {
+ active (1): {
+ if (!iSemaphore) { Process() }
+ }
+ }
+ }
+ offline: {
+ if (data.device.number == 0) {
+ NAVClientSocketClose(dvPort.port)
+ iIPConnected = false
+ iIPAuthenticated = false
+ iCommunicating = false
+ NAVTimelineStop(TL_HEARTBEAT)
+ }
+ }
+ onerror: {
+ if (data.device.number == 0) {
+ //iIPConnected = false
+ //iIPAuthenticated = false
+ //iCommunicating = false
+ //if (timeline_active(TL_HEARTBEAT)) {
+ // NAVTimelineStop(TL_HEARTBEAT)
+ // }
+ }
+ }
+}
+
+data_event[vdvObject] {
+ command: {
+ stack_var char cCmdHeader[NAV_MAX_CHARS]
+ stack_var char cCmdParam[2][NAV_MAX_CHARS]
+ NAVLog(NAVFormatStandardLogMessage(NAV_STANDARD_LOG_MESSAGE_TYPE_COMMAND_FROM, data.device, data.text))
+ cCmdHeader = DuetParseCmdHeader(data.text)
+ cCmdParam[1] = DuetParseCmdParam(data.text)
+ cCmdParam[2] = DuetParseCmdParam(data.text)
+ switch (cCmdHeader) {
+ case 'PROPERTY': {
+ switch (cCmdParam[1]) {
+ case 'IP_ADDRESS': {
+ cIPAddress = cCmdParam[2]
+ timeline_create(TL_IP_CHECK,ltIPCheck,length_array(ltIPCheck),timeline_absolute,timeline_repeat)
+ }
+ case 'USER_NAME': {
+ //cUserName = cCmdParam[2]
+ }
+ case 'PASSWORD': {
+ //cPassword = cCmdParam[2]
+ }
+ }
+ }
+
+ /*
+ case 'INIT': {
+ stack_var integer x
+ for (x = 1; x <= length_array(vdvCommObjects); x++) {
+ send_string vdvCommObjects[x],"'REGISTER<',itoa(x),'>'"
+ NAVLog("'VISCA_REGISTER_SENT<',itoa(x),'>'")
+ }
+
+ //iReadyToInitialize = true
+ }
+ */
+ }
+ }
+}
+
+data_event[vdvCommObjects] {
+ online: {
+ send_string data.device,"'REGISTER<',itoa(get_last(vdvCommObjects)),'>'"
+ }
+ command: {
+ stack_var char cCmdHeader[NAV_MAX_CHARS]
+ stack_var integer iResponseObjectMessID
+ NAVLog(NAVFormatStandardLogMessage(NAV_STANDARD_LOG_MESSAGE_TYPE_COMMAND_FROM, data.device, data.text))
+ cCmdHeader = DuetParseCmdHeader(data.text)
+ switch (cCmdHeader) {
+ case 'COMMAND_MSG': { AddToQueue("cCmdHeader,data.text",true); }// NAVLog("'COMMAND_MSG_RECEIVED: ',data.text") }
+ case 'POLL_MSG': { AddToQueue("cCmdHeader,data.text",false) }
+ case 'RESPONSE_OK': {
+ if (NAVGetStringBetween(data.text,'<','>') == NAVGetStringBetween(uQueue.cLastMess,'<','>')) {
+ GoodResponse()
+ }
+ }
+ case 'INIT_DONE': {
+ iInitializing = false
+ iResponseObjectMessID = atoi(NAVGetStringBetween(data.text,'<','>'))
+ uObject[get_last(vdvCommObjects)].iInitialized = true
+ InitializeObjects()
+ if (iResponseObjectMessID == length_array(vdvCommObjects)) {
+ stack_var integer x
+ for (x = 1; x <= length_array(vdvCommObjects); x++) {
+ send_string vdvCommObjects[x],"'START_POLLING<',itoa(x),'>'"
+ }
+
+ //Init is Done!
+ send_string vdvObject,"'INIT_DONE'"
+ }
+ }
+ case 'REGISTER': {
+ iResponseObjectMessID = atoi(NAVGetStringBetween(data.text,'<','>'))
+ uObject[get_last(vdvCommObjects)].iRegistered = true
+ if (get_last(vdvCommObjects) == length_array(vdvCommObjects)) {
+ iReadyToInitialize = true
+ }
+ }
+ }
+ }
+}
+
+timeline_event[TL_HEARTBEAT] {
+ NAVLog("'Heartbeat TimeLine Running'")
+ if (!uQueue.iHasItems && !uQueue.iBusy) {
+ AddToQueue("'POLL_MSG'",false)
+ }
+}
+
+timeline_event[TL_IP_CHECK] { MaintainIPConnection() }
+
+timeline_event[TL_NAV_FEEDBACK] {
+ [vdvObject,NAV_IP_CONNECTED] = (iIPConnected && iIPAuthenticated)
+ [vdvObject,DEVICE_COMMUNICATING] = (iCommunicating)
+ [vdvObject,DATA_INITIALIZED] = (iInitialized)
+}
+
+
+(***********************************************************)
+(* END OF PROGRAM *)
+(* DO NOT PUT ANY CODE BELOW THIS COMMENT *)
+(***********************************************************)
+