diff --git a/tools/openapi/generates.py b/tools/openapi/generates.py
new file mode 100644
index 00000000..2fdc1d32
--- /dev/null
+++ b/tools/openapi/generates.py
@@ -0,0 +1,145 @@
+# -*- coding:utf-8 -*-
+import copy
+import os
+import re
+import subprocess
+import sys
+import json
+
+
+def check_installed(command: str) -> bool:
+ """
+ check command is installed
+ :param command:
+ :return:
+ """
+ if os.system(f"command -v {command} > /dev/null") == 0:
+ return True
+ else:
+ return False
+
+
+def run_cmd(cmd: str, assert_success=False, capture_output=False, env=None) -> bool:
+ """
+ run cmd
+ :param cmd:
+ :param assert_success:
+ :param env:
+ :param capture_output:
+ :param env:
+ :return:
+ """
+ if not env:
+ env = os.environ.copy()
+ result = subprocess.run(cmd, shell=True, env=env, capture_output=capture_output)
+ # Assert the command ran successfully
+ if assert_success and result.returncode != 0:
+ print("Command '" + cmd + "' failed with exit status code '" + str(
+ result.returncode) + "'.\n\nExiting now.\nTry running the script again.")
+ print(result.stderr.decode())
+ sys.stdout.flush()
+ sys.stderr.flush()
+ sys.exit(1)
+ return True
+
+
+def check_dependencies() -> None:
+ """
+ check dependencies
+ :return:
+ """
+ if not check_installed("p2o"):
+ print()
+ print("p2o is not installed, please install it first!")
+ print("If you use npm, you can install it by the following command:")
+ print("npm install -g postman-to-openapi")
+ print()
+ sys.exit(1)
+ else:
+ print("p2o is installed")
+
+
+def get_version() -> str:
+ """
+ get version
+ :return:
+ """
+ if os.path.isfile("../../cmake-build-debug/version.h"):
+ print("Found version.h in cmake-build-debug")
+ version_h_path = "../../cmake-build-debug/version.h"
+ elif os.path.isfile("../../cmake-build-release/version.h"):
+ print("Found version.h in cmake-build-release")
+ version_h_path = "../../cmake-build-release/version.h"
+ else:
+ print("version.h not found")
+ print("Please compile first")
+ exit()
+ with open(version_h_path, 'r') as f:
+ content = f.read()
+ commit_hash = re.search(r'define COMMIT_HASH (.*)', content).group(1)
+ commit_time = re.search(r'define COMMIT_TIME (.*)', content).group(1)
+ branch_name = re.search(r'define BRANCH_NAME (.*)', content).group(1)
+ build_time = re.search(r'define BUILD_TIME (.*)', content).group(1)
+ version = f"ZLMediaKit(git hash:{commit_hash}/{commit_time},branch:{branch_name},build time:{build_time})"
+ print(f"version: {version}")
+ return version
+
+
+def get_secret() -> str:
+ """
+ get secret from default config file or user config file
+ :return:
+ """
+ default_postman = json.load(open("../../postman/127.0.0.1.postman_environment.json", 'r'))
+ secret = "035c73f7-bb6b-4889-a715-d9eb2d1925cc"
+ for item in default_postman["values"]:
+ if item["key"] == "ZLMediaKit_secret":
+ secret = item["value"]
+ break
+ for root, dirs, files in os.walk("../../release/"):
+ for file in files:
+ if file == "config.ini":
+ config_path = os.path.join(root, file)
+ with open(config_path, 'r') as f:
+ content = f.read()
+ secret = re.search(r'secret=(.*)', content).group(1)
+ return secret
+
+
+def update_options(version: str, secret: str) -> None:
+ """
+ update options
+ :param version:
+ :param secret:
+ :return:
+ """
+ print("update options")
+ options = json.load(open("./options.json", 'r'))
+ options["info"]["version"] = version
+ options["additionalVars"]["ZLMediaKit_secret"] = secret
+ json.dump(options, open("./options.json", 'w'), indent=4)
+
+
+def generate() -> None:
+ """
+ generate
+ :return:
+ """
+ print("generate")
+ run_cmd("p2o ../../postman/ZLMediaKit.postman_collection.json -f ../../www/swagger/openapi.json -o ./options.json",
+ True, True)
+ openapi = json.load(open("../../www/swagger/openapi.json", 'r'))
+ for path in openapi["paths"]:
+ openapi["paths"][path]["post"] = copy.deepcopy(openapi["paths"][path]["get"])
+ openapi["paths"][path]["post"]["tags"] = ["POST"]
+ # save
+ json.dump(openapi, open("../../www/swagger/openapi.json", 'w'), indent=4)
+ print("generate success")
+
+
+if __name__ == "__main__":
+ check_dependencies()
+ version = get_version()
+ secret = get_secret()
+ update_options(version, secret)
+ generate()
diff --git a/tools/openapi/options.json b/tools/openapi/options.json
new file mode 100644
index 00000000..4332d9bb
--- /dev/null
+++ b/tools/openapi/options.json
@@ -0,0 +1,40 @@
+{
+ "info": {
+ "title": "ZLMediaKit HTTP API",
+ "version": "ZLMediaKit(git hash:\"a78ca2e\"/\"2023-11-17T11:12:51+08:00\",branch:\"patch-63\",build time:\"2023-11-23T14:35:02\")",
+ "description": "You can test the HTTP API provided by ZlMediaKit here. For usage documentation, please refer to [here](https://docs.zlmediakit.com/guide/media_server/restful_api.html)",
+ "termsOfService": "https://docs.zlmediakit.com",
+ "license": {
+ "name": "MIT",
+ "url": "https://docs.zlmediakit.com/more/license.html"
+ },
+ "contact": {
+ "name": "Contact Support",
+ "url": "https://docs.zlmediakit.com/more/contact.html",
+ "email": "1213642868@qq.com"
+ },
+ "xLogo": {
+ "url": "/logo.png",
+ "backgroundColor": "#FFFFFF",
+ "altText": "ZLMediaKit"
+ }
+ },
+ "defaultTag": "GET",
+ "outputFormat": "json",
+ "replaceVars": true,
+ "servers": [
+ {
+ "url": "/",
+ "description": "Localhost"
+ }
+ ],
+ "externalDocs": {
+ "description": "ZLMediaKit Documentation",
+ "url": "https://docs.zlmediakit.com"
+ },
+ "additionalVars": {
+ "defaultVhost": "__defaultVhost__",
+ "ZLMediaKit_secret": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX",
+ "ZLMediaKit_URL": ""
+ }
+}
\ No newline at end of file
diff --git a/www/swagger/favicon-16x16.png b/www/swagger/favicon-16x16.png
new file mode 100644
index 00000000..8b194e61
Binary files /dev/null and b/www/swagger/favicon-16x16.png differ
diff --git a/www/swagger/favicon-32x32.png b/www/swagger/favicon-32x32.png
new file mode 100644
index 00000000..249737fe
Binary files /dev/null and b/www/swagger/favicon-32x32.png differ
diff --git a/www/swagger/index.css b/www/swagger/index.css
new file mode 100644
index 00000000..f2376fda
--- /dev/null
+++ b/www/swagger/index.css
@@ -0,0 +1,16 @@
+html {
+ box-sizing: border-box;
+ overflow: -moz-scrollbars-vertical;
+ overflow-y: scroll;
+}
+
+*,
+*:before,
+*:after {
+ box-sizing: inherit;
+}
+
+body {
+ margin: 0;
+ background: #fafafa;
+}
diff --git a/www/swagger/index.html b/www/swagger/index.html
new file mode 100644
index 00000000..84ae62d3
--- /dev/null
+++ b/www/swagger/index.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+ Swagger UI
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/www/swagger/oauth2-redirect.html b/www/swagger/oauth2-redirect.html
new file mode 100644
index 00000000..56409171
--- /dev/null
+++ b/www/swagger/oauth2-redirect.html
@@ -0,0 +1,79 @@
+
+
+
+ Swagger UI: OAuth2 Redirect
+
+
+
+
+
diff --git a/www/swagger/openapi.json b/www/swagger/openapi.json
new file mode 100644
index 00000000..485cfe9e
--- /dev/null
+++ b/www/swagger/openapi.json
@@ -0,0 +1,4233 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "ZLMediaKit HTTP API",
+ "description": "You can test the HTTP API provided by ZlMediaKit here. For usage documentation, please refer to [here](https://docs.zlmediakit.com/guide/media_server/restful_api.html)",
+ "version": "ZLMediaKit(git hash:\"a78ca2e\"/\"2023-11-17T11:12:51+08:00\",branch:\"patch-63\",build time:\"2023-11-23T14:35:02\")",
+ "x-logo": {
+ "url": "/logo.png",
+ "backgroundColor": "#FFFFFF",
+ "altText": "ZLMediaKit"
+ },
+ "termsOfService": "https://docs.zlmediakit.com",
+ "contact": {
+ "name": "Contact Support",
+ "url": "https://docs.zlmediakit.com/more/contact.html",
+ "email": "1213642868@qq.com"
+ },
+ "license": {
+ "name": "MIT",
+ "url": "https://docs.zlmediakit.com/more/license.html"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.zlmediakit.com",
+ "description": "ZLMediaKit Documentation"
+ },
+ "servers": [
+ {
+ "url": "/",
+ "description": "Localhost"
+ }
+ ],
+ "paths": {
+ "/index/api/getApiList": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u670d\u52a1\u5668api\u5217\u8868(getApiList)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u670d\u52a1\u5668api\u5217\u8868(getApiList)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getThreadsLoad": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u7f51\u7edc\u7ebf\u7a0b\u8d1f\u8f7d(getThreadsLoad)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u7f51\u7edc\u7ebf\u7a0b\u8d1f\u8f7d(getThreadsLoad)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getStatistic": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u4e3b\u8981\u5bf9\u8c61\u4e2a\u6570(getStatistic)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u4e3b\u8981\u5bf9\u8c61\u4e2a\u6570(getStatistic)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getWorkThreadsLoad": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u540e\u53f0\u7ebf\u7a0b\u8d1f\u8f7d(getWorkThreadsLoad)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u540e\u53f0\u7ebf\u7a0b\u8d1f\u8f7d(getWorkThreadsLoad)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getServerConfig": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u670d\u52a1\u5668\u914d\u7f6e(getServerConfig)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u670d\u52a1\u5668\u914d\u7f6e(getServerConfig)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/setServerConfig": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u8bbe\u7f6e\u670d\u52a1\u5668\u914d\u7f6e(setServerConfig)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "api.apiDebug",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u914d\u7f6e\u952e\u4e0e\u914d\u7f6e\u9879\u503c",
+ "example": "0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u8bbe\u7f6e\u670d\u52a1\u5668\u914d\u7f6e(setServerConfig)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "api.apiDebug",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u914d\u7f6e\u952e\u4e0e\u914d\u7f6e\u9879\u503c",
+ "example": "0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/restartServer": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u91cd\u542f\u670d\u52a1\u5668(restartServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u91cd\u542f\u670d\u52a1\u5668(restartServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getMediaList": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u6d41\u5217\u8868(getMediaList)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u6d41\u5217\u8868(getMediaList)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/close_stream": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5173\u65ad\u5355\u4e2a\u6d41(close_stream)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5173\u65ad\u5355\u4e2a\u6d41(close_stream)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/close_streams": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6279\u91cf\u5173\u65ad\u6d41(close_streams)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6279\u91cf\u5173\u65ad\u6d41(close_streams)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getAllSession": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6Session\u5217\u8868(getAllSession)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6Session\u5217\u8868(getAllSession)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/kick_session": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u65ad\u5f00tcp\u8fde\u63a5(kick_session)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u5ba2\u6237\u7aef\u552f\u4e00id\uff0c\u53ef\u4ee5\u901a\u8fc7getAllSession\u63a5\u53e3\u83b7\u53d6",
+ "example": "123456"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u65ad\u5f00tcp\u8fde\u63a5(kick_session)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u5ba2\u6237\u7aef\u552f\u4e00id\uff0c\u53ef\u4ee5\u901a\u8fc7getAllSession\u63a5\u53e3\u83b7\u53d6",
+ "example": "123456"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/kick_sessions": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6279\u91cf\u65ad\u5f00tcp\u8fde\u63a5(kick_sessions)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6279\u91cf\u65ad\u5f00tcp\u8fde\u63a5(kick_sessions)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/addStreamProxy": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6dfb\u52a0rtsp/rtmp/hls\u62c9\u6d41\u4ee3\u7406(addStreamProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6dfb\u52a0\u7684\u6d41\u7684\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6dfb\u52a0\u7684\u6d41\u7684\u5e94\u7528\u540d\uff0c\u4f8b\u5982live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6dfb\u52a0\u7684\u6d41\u7684id\u540d\uff0c\u4f8b\u5982test",
+ "example": "test"
+ },
+ {
+ "name": "url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u62c9\u6d41\u5730\u5740\uff0c\u4f8b\u5982rtmp://live.hkstv.hk.lxdns.com/live/hks2",
+ "example": "rtmp://live.hkstv.hk.lxdns.com/live/hks2"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6dfb\u52a0rtsp/rtmp/hls\u62c9\u6d41\u4ee3\u7406(addStreamProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6dfb\u52a0\u7684\u6d41\u7684\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6dfb\u52a0\u7684\u6d41\u7684\u5e94\u7528\u540d\uff0c\u4f8b\u5982live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6dfb\u52a0\u7684\u6d41\u7684id\u540d\uff0c\u4f8b\u5982test",
+ "example": "test"
+ },
+ {
+ "name": "url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u62c9\u6d41\u5730\u5740\uff0c\u4f8b\u5982rtmp://live.hkstv.hk.lxdns.com/live/hks2",
+ "example": "rtmp://live.hkstv.hk.lxdns.com/live/hks2"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/delStreamProxy": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5173\u95ed\u62c9\u6d41\u4ee3\u7406(delStreamProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "addStreamProxy\u63a5\u53e3\u8fd4\u56de\u7684key",
+ "example": "__defaultVhost__/live/1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5173\u95ed\u62c9\u6d41\u4ee3\u7406(delStreamProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "addStreamProxy\u63a5\u53e3\u8fd4\u56de\u7684key",
+ "example": "__defaultVhost__/live/1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/addStreamPusherProxy": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6dfb\u52a0rtsp/rtmp\u63a8\u6d41(addStreamPusherProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u63a8\u6d41\u534f\u8bae\uff0c\u652f\u6301rtsp\u3001rtmp\uff0c\u5927\u5c0f\u5199\u654f\u611f",
+ "example": "rtmp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5df2\u6ce8\u518c\u6d41\u7684\u865a\u62df\u4e3b\u673a\uff0c\u4e00\u822c\u4e3a__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5df2\u6ce8\u518c\u6d41\u7684\u5e94\u7528\u540d\uff0c\u4f8b\u5982live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5df2\u6ce8\u518c\u6d41\u7684id\u540d\uff0c\u4f8b\u5982test",
+ "example": "test"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u63a8\u6d41\u5730\u5740\uff0c\u9700\u8981\u4e0eschema\u5b57\u6bb5\u534f\u8bae\u4e00\u81f4",
+ "example": "rtmp://192.168.1.104/live/push"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6dfb\u52a0rtsp/rtmp\u63a8\u6d41(addStreamPusherProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u63a8\u6d41\u534f\u8bae\uff0c\u652f\u6301rtsp\u3001rtmp\uff0c\u5927\u5c0f\u5199\u654f\u611f",
+ "example": "rtmp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5df2\u6ce8\u518c\u6d41\u7684\u865a\u62df\u4e3b\u673a\uff0c\u4e00\u822c\u4e3a__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5df2\u6ce8\u518c\u6d41\u7684\u5e94\u7528\u540d\uff0c\u4f8b\u5982live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5df2\u6ce8\u518c\u6d41\u7684id\u540d\uff0c\u4f8b\u5982test",
+ "example": "test"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u63a8\u6d41\u5730\u5740\uff0c\u9700\u8981\u4e0eschema\u5b57\u6bb5\u534f\u8bae\u4e00\u81f4",
+ "example": "rtmp://192.168.1.104/live/push"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/delStreamPusherProxy": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5173\u95ed\u63a8\u6d41(delStreamPusherProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "addStreamPusherProxy\u63a5\u53e3\u8fd4\u56de\u7684key",
+ "example": "rtmp/__defaultVhost__/live/test/f40a8ab006cac16ecc0858409e890491"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5173\u95ed\u63a8\u6d41(delStreamPusherProxy)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "addStreamPusherProxy\u63a5\u53e3\u8fd4\u56de\u7684key",
+ "example": "rtmp/__defaultVhost__/live/test/f40a8ab006cac16ecc0858409e890491"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/addFFmpegSource": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6dfb\u52a0FFmpeg\u62c9\u6d41\u4ee3\u7406(addFFmpegSource)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "src_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "FFmpeg\u62c9\u6d41\u5730\u5740,\u652f\u6301\u4efb\u610f\u534f\u8bae\u6216\u683c\u5f0f(\u53ea\u8981FFmpeg\u652f\u6301\u5373\u53ef)",
+ "example": "http://hefeng.live.tempsource.cjyun.org/videotmp/s10100-hftv.m3u8"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "FFmpeg rtmp\u63a8\u6d41\u5730\u5740\uff0c\u4e00\u822c\u90fd\u662f\u63a8\u7ed9\u81ea\u5df1\uff0c\u4f8b\u5982rtmp://127.0.0.1/live/stream_form_ffmpeg",
+ "example": "rtmp://127.0.0.1/live/hks2"
+ },
+ {
+ "name": "timeout_ms",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "FFmpeg\u63a8\u6d41\u6210\u529f\u8d85\u65f6\u65f6\u95f4,\u5355\u4f4d\u6beb\u79d2",
+ "example": "10000"
+ },
+ {
+ "name": "enable_hls",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u662f\u5426\u5f00\u542fhls\u5f55\u5236",
+ "example": "0"
+ },
+ {
+ "name": "enable_mp4",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u662f\u5426\u5f00\u542fmp4\u5f55\u5236",
+ "example": "0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6dfb\u52a0FFmpeg\u62c9\u6d41\u4ee3\u7406(addFFmpegSource)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "src_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "FFmpeg\u62c9\u6d41\u5730\u5740,\u652f\u6301\u4efb\u610f\u534f\u8bae\u6216\u683c\u5f0f(\u53ea\u8981FFmpeg\u652f\u6301\u5373\u53ef)",
+ "example": "http://hefeng.live.tempsource.cjyun.org/videotmp/s10100-hftv.m3u8"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "FFmpeg rtmp\u63a8\u6d41\u5730\u5740\uff0c\u4e00\u822c\u90fd\u662f\u63a8\u7ed9\u81ea\u5df1\uff0c\u4f8b\u5982rtmp://127.0.0.1/live/stream_form_ffmpeg",
+ "example": "rtmp://127.0.0.1/live/hks2"
+ },
+ {
+ "name": "timeout_ms",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "FFmpeg\u63a8\u6d41\u6210\u529f\u8d85\u65f6\u65f6\u95f4,\u5355\u4f4d\u6beb\u79d2",
+ "example": "10000"
+ },
+ {
+ "name": "enable_hls",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u662f\u5426\u5f00\u542fhls\u5f55\u5236",
+ "example": "0"
+ },
+ {
+ "name": "enable_mp4",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u662f\u5426\u5f00\u542fmp4\u5f55\u5236",
+ "example": "0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/delFFmpegSource": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5173\u95edFFmpeg\u62c9\u6d41\u4ee3\u7406(delFFmpegSource)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "5f748d2ef9712e4b2f6f970c1d44d93a"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5173\u95edFFmpeg\u62c9\u6d41\u4ee3\u7406(delFFmpegSource)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "5f748d2ef9712e4b2f6f970c1d44d93a"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/isMediaOnline": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6d41\u662f\u5426\u5728\u7ebf(isMediaOnline)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6d41\u662f\u5426\u5728\u7ebf(isMediaOnline)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getMediaPlayerList": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u5a92\u4f53\u6d41\u64ad\u653e\u5668\u5217\u8868(getMediaPlayerList)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u5a92\u4f53\u6d41\u64ad\u653e\u5668\u5217\u8868(getMediaPlayerList)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/broadcastMessage": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5e7f\u64adwebrtc datachannel\u6d88\u606f(broadcastMessage)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp\uff0c\u76ee\u524d\u4ec5\u652f\u6301rtsp\u534f\u8bae",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "test"
+ },
+ {
+ "name": "msg",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "Hello ZLMediakit"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5e7f\u64adwebrtc datachannel\u6d88\u606f(broadcastMessage)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp\uff0c\u76ee\u524d\u4ec5\u652f\u6301rtsp\u534f\u8bae",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "test"
+ },
+ {
+ "name": "msg",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "Hello ZLMediakit"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getMediaInfo": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u6d41\u4fe1\u606f(getMediaInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "mym9"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u6d41\u4fe1\u606f(getMediaInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "schema",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u534f\u8bae\uff0c\u4f8b\u5982 rtsp\u6216rtmp",
+ "example": "rtsp"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "mym9"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getMp4RecordFile": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u6d41\u4fe1\u606f(getMp4RecordFile)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "2"
+ },
+ {
+ "name": "customized_path",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5f55\u50cf\u6587\u4ef6\u4fdd\u5b58\u81ea\u5b9a\u4e49\u6839\u76ee\u5f55\uff0c\u4e3a\u7a7a\u5219\u91c7\u7528\u914d\u7f6e\u6587\u4ef6\u8bbe\u7f6e",
+ "example": "/www"
+ },
+ {
+ "name": "period",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41\u7684\u5f55\u50cf\u65e5\u671f\uff0c\u683c\u5f0f\u4e3a2020-02-01,\u5982\u679c\u4e0d\u662f\u5b8c\u6574\u7684\u65e5\u671f\uff0c\u90a3\u4e48\u662f\u641c\u7d22\u5f55\u50cf\u6587\u4ef6\u5939\u5217\u8868\uff0c\u5426\u5219\u641c\u7d22\u5bf9\u5e94\u65e5\u671f\u4e0b\u7684mp4\u6587\u4ef6\u5217\u8868",
+ "example": "2020-05-26"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u6d41\u4fe1\u606f(getMp4RecordFile)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "2"
+ },
+ {
+ "name": "customized_path",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5f55\u50cf\u6587\u4ef6\u4fdd\u5b58\u81ea\u5b9a\u4e49\u6839\u76ee\u5f55\uff0c\u4e3a\u7a7a\u5219\u91c7\u7528\u914d\u7f6e\u6587\u4ef6\u8bbe\u7f6e",
+ "example": "/www"
+ },
+ {
+ "name": "period",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41\u7684\u5f55\u50cf\u65e5\u671f\uff0c\u683c\u5f0f\u4e3a2020-02-01,\u5982\u679c\u4e0d\u662f\u5b8c\u6574\u7684\u65e5\u671f\uff0c\u90a3\u4e48\u662f\u641c\u7d22\u5f55\u50cf\u6587\u4ef6\u5939\u5217\u8868\uff0c\u5426\u5219\u641c\u7d22\u5bf9\u5e94\u65e5\u671f\u4e0b\u7684mp4\u6587\u4ef6\u5217\u8868",
+ "example": "2020-05-26"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/deleteRecordDirectory": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5220\u9664\u5f55\u50cf\u6587\u4ef6\u5939(deleteRecordDirectory)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "2"
+ },
+ {
+ "name": "period",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41\u7684\u5f55\u50cf\u65e5\u671f\uff0c\u683c\u5f0f\u4e3a2020-01-01,\u5982\u679c\u4e0d\u662f\u5b8c\u6574\u7684\u65e5\u671f\uff0c\u90a3\u4e48\u4f1a\u5220\u9664\u5931\u8d25",
+ "example": "2020-01-01"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5220\u9664\u5f55\u50cf\u6587\u4ef6\u5939(deleteRecordDirectory)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "proxy"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 test",
+ "example": "2"
+ },
+ {
+ "name": "period",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41\u7684\u5f55\u50cf\u65e5\u671f\uff0c\u683c\u5f0f\u4e3a2020-01-01,\u5982\u679c\u4e0d\u662f\u5b8c\u6574\u7684\u65e5\u671f\uff0c\u90a3\u4e48\u4f1a\u5220\u9664\u5931\u8d25",
+ "example": "2020-01-01"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/startRecord": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5f00\u59cb\u5f55\u5236(startRecord)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "0\u4e3ahls\uff0c1\u4e3amp4",
+ "example": "1"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5f00\u59cb\u5f55\u5236(startRecord)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "0\u4e3ahls\uff0c1\u4e3amp4",
+ "example": "1"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/setRecordSpeed": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u8bbe\u7f6e\u5f55\u50cf\u901f\u5ea6(setRecordSpeed)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ },
+ {
+ "name": "speed",
+ "in": "query",
+ "schema": {
+ "type": "number"
+ },
+ "description": "\u8981\u8bbe\u7f6e\u7684\u5f55\u50cf\u500d\u901f",
+ "example": "2.0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u8bbe\u7f6e\u5f55\u50cf\u901f\u5ea6(setRecordSpeed)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ },
+ {
+ "name": "speed",
+ "in": "query",
+ "schema": {
+ "type": "number"
+ },
+ "description": "\u8981\u8bbe\u7f6e\u7684\u5f55\u50cf\u500d\u901f",
+ "example": "2.0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/seekRecordStamp": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u8bbe\u7f6e\u5f55\u50cf\u6d41\u64ad\u653e\u4f4d\u7f6e(seekRecordStamp)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ },
+ {
+ "name": "stamp",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u8981\u8bbe\u7f6e\u7684\u5f55\u50cf\u64ad\u653e\u4f4d\u7f6e",
+ "example": "1000"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u8bbe\u7f6e\u5f55\u50cf\u6d41\u64ad\u653e\u4f4d\u7f6e(seekRecordStamp)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ },
+ {
+ "name": "stamp",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u8981\u8bbe\u7f6e\u7684\u5f55\u50cf\u64ad\u653e\u4f4d\u7f6e",
+ "example": "1000"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/stopRecord": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u505c\u6b62\u5f55\u5236(stopRecord)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "0\u4e3ahls\uff0c1\u4e3amp4",
+ "example": "1"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u505c\u6b62\u5f55\u5236(stopRecord)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "0\u4e3ahls\uff0c1\u4e3amp4",
+ "example": "1"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/isRecording": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u662f\u5426\u6b63\u5728\u5f55\u5236(isRecording)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "0\u4e3ahls\uff0c1\u4e3amp4",
+ "example": "1"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u662f\u5426\u6b63\u5728\u5f55\u5236(isRecording)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "0\u4e3ahls\uff0c1\u4e3amp4",
+ "example": "1"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getSnap": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u622a\u56fe(getSnap)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u9700\u8981\u622a\u56fe\u7684url\uff0c\u53ef\u4ee5\u662f\u672c\u673a\u7684\uff0c\u4e5f\u53ef\u4ee5\u662f\u8fdc\u7a0b\u4e3b\u673a\u7684",
+ "example": "rtsp://www.mym9.com/101065?from=2019-06-28/01:12:13"
+ },
+ {
+ "name": "timeout_sec",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u622a\u56fe\u5931\u8d25\u8d85\u65f6\u65f6\u95f4\uff0c\u9632\u6b62FFmpeg\u4e00\u76f4\u7b49\u5f85\u622a\u56fe",
+ "example": "10"
+ },
+ {
+ "name": "expire_sec",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u622a\u56fe\u7684\u8fc7\u671f\u65f6\u95f4\uff0c\u8be5\u65f6\u95f4\u5185\u4ea7\u751f\u7684\u622a\u56fe\u90fd\u4f1a\u4f5c\u4e3a\u7f13\u5b58\u8fd4\u56de",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u622a\u56fe(getSnap)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u9700\u8981\u622a\u56fe\u7684url\uff0c\u53ef\u4ee5\u662f\u672c\u673a\u7684\uff0c\u4e5f\u53ef\u4ee5\u662f\u8fdc\u7a0b\u4e3b\u673a\u7684",
+ "example": "rtsp://www.mym9.com/101065?from=2019-06-28/01:12:13"
+ },
+ {
+ "name": "timeout_sec",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u622a\u56fe\u5931\u8d25\u8d85\u65f6\u65f6\u95f4\uff0c\u9632\u6b62FFmpeg\u4e00\u76f4\u7b49\u5f85\u622a\u56fe",
+ "example": "10"
+ },
+ {
+ "name": "expire_sec",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u622a\u56fe\u7684\u8fc7\u671f\u65f6\u95f4\uff0c\u8be5\u65f6\u95f4\u5185\u4ea7\u751f\u7684\u622a\u56fe\u90fd\u4f1a\u4f5c\u4e3a\u7f13\u5b58\u8fd4\u56de",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getRtpInfo": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6rtp\u63a8\u6d41\u4fe1\u606f(getRtpInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6rtp\u63a8\u6d41\u4fe1\u606f(getRtpInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/openRtpServer": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u521b\u5efa\u591a\u8def\u590d\u7528RTP\u670d\u52a1\u5668(openRtpServerMultiplex)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "port",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u7ed1\u5b9a\u7684\u7aef\u53e3\uff0c0\u65f6\u4e3a\u968f\u673a\u7aef\u53e3",
+ "example": "0"
+ },
+ {
+ "name": "tcp_mode",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "tcp\u6a21\u5f0f\uff0c0\u65f6\u4e3a\u4e0d\u542f\u7528tcp\u76d1\u542c\uff0c1\u65f6\u4e3a\u542f\u7528tcp\u76d1\u542c",
+ "example": "1"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id\n",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u521b\u5efa\u591a\u8def\u590d\u7528RTP\u670d\u52a1\u5668(openRtpServerMultiplex)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "port",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u7ed1\u5b9a\u7684\u7aef\u53e3\uff0c0\u65f6\u4e3a\u968f\u673a\u7aef\u53e3",
+ "example": "0"
+ },
+ {
+ "name": "tcp_mode",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "tcp\u6a21\u5f0f\uff0c0\u65f6\u4e3a\u4e0d\u542f\u7528tcp\u76d1\u542c\uff0c1\u65f6\u4e3a\u542f\u7528tcp\u76d1\u542c",
+ "example": "1"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id\n",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/connectRtpServer": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u8fde\u63a5RTP\u670d\u52a1\u5668(connectRtpServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "tcp\u4e3b\u52a8\u6a21\u5f0f\u65f6\u670d\u52a1\u7aef\u5730\u5740",
+ "example": "0"
+ },
+ {
+ "name": "dst_port",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "tcp\u4e3b\u52a8\u6a21\u5f0f\u65f6\u670d\u52a1\u7aef\u7aef\u53e3",
+ "example": "1"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "OpenRtpServer\u65f6\u7ed1\u5b9a\u7684\u6d41id\n",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u8fde\u63a5RTP\u670d\u52a1\u5668(connectRtpServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "tcp\u4e3b\u52a8\u6a21\u5f0f\u65f6\u670d\u52a1\u7aef\u5730\u5740",
+ "example": "0"
+ },
+ {
+ "name": "dst_port",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "tcp\u4e3b\u52a8\u6a21\u5f0f\u65f6\u670d\u52a1\u7aef\u7aef\u53e3",
+ "example": "1"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "OpenRtpServer\u65f6\u7ed1\u5b9a\u7684\u6d41id\n",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/closeRtpServer": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5173\u95edRTP\u670d\u52a1\u5668(closeRtpServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5173\u95edRTP\u670d\u52a1\u5668(closeRtpServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/updateRtpServerSSRC": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u66f4\u65b0RTP\u670d\u52a1\u5668\u8fc7\u6ee4SSRC(updateRtpServerSSRC)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ },
+ {
+ "name": "ssrc",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u5341\u8fdb\u5236ssrc",
+ "example": "123456"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u66f4\u65b0RTP\u670d\u52a1\u5668\u8fc7\u6ee4SSRC(updateRtpServerSSRC)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ },
+ {
+ "name": "ssrc",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u5341\u8fdb\u5236ssrc",
+ "example": "123456"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/pauseRtpCheck": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6682\u505cRTP\u8d85\u65f6\u68c0\u67e5(pauseRtpCheck)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6682\u505cRTP\u8d85\u65f6\u68c0\u67e5(pauseRtpCheck)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/resumeRtpCheck": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u6062\u590dRTP\u8d85\u65f6\u68c0\u67e5(resumeRtpCheck)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u6062\u590dRTP\u8d85\u65f6\u68c0\u67e5(resumeRtpCheck)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "stream_id",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u8be5\u7aef\u53e3\u7ed1\u5b9a\u7684\u6d41id",
+ "example": "test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/listRtpServer": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6RTP\u670d\u52a1\u5668\u5217\u8868(listRtpServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6RTP\u670d\u52a1\u5668\u5217\u8868(listRtpServer)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/startSendRtp": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5f00\u59cb\u53d1\u9001rtp(startSendRtp)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ },
+ {
+ "name": "ssrc",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "rtp\u63a8\u6d41\u7684ssrc",
+ "example": "1"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u76ee\u6807ip\u6216\u57df\u540d",
+ "example": "127.0.0.1"
+ },
+ {
+ "name": "dst_port",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u76ee\u6807\u7aef\u53e3",
+ "example": "10000"
+ },
+ {
+ "name": "is_udp",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u662f\u5426\u4e3audp\u6a21\u5f0f,\u5426\u5219\u4e3atcp\u6a21\u5f0f",
+ "example": "0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5f00\u59cb\u53d1\u9001rtp(startSendRtp)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ },
+ {
+ "name": "ssrc",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "rtp\u63a8\u6d41\u7684ssrc",
+ "example": "1"
+ },
+ {
+ "name": "dst_url",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u76ee\u6807ip\u6216\u57df\u540d",
+ "example": "127.0.0.1"
+ },
+ {
+ "name": "dst_port",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u76ee\u6807\u7aef\u53e3",
+ "example": "10000"
+ },
+ {
+ "name": "is_udp",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "\u662f\u5426\u4e3audp\u6a21\u5f0f,\u5426\u5219\u4e3atcp\u6a21\u5f0f",
+ "example": "0"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/startSendRtpPassive": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u5f00\u59cbtcp passive\u88ab\u52a8\u53d1\u9001rtp(startSendRtpPassive)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "test"
+ },
+ {
+ "name": "ssrc",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "rtp\u63a8\u6d41\u7684ssrc\uff0cssrc\u4e0d\u540c\u65f6\uff0c\u53ef\u4ee5\u63a8\u6d41\u5230\u591a\u4e2a\u4e0a\u7ea7\u670d\u52a1\u5668",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u5f00\u59cbtcp passive\u88ab\u52a8\u53d1\u9001rtp(startSendRtpPassive)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "test"
+ },
+ {
+ "name": "ssrc",
+ "in": "query",
+ "schema": {
+ "type": "integer"
+ },
+ "description": "rtp\u63a8\u6d41\u7684ssrc\uff0cssrc\u4e0d\u540c\u65f6\uff0c\u53ef\u4ee5\u63a8\u6d41\u5230\u591a\u4e2a\u4e0a\u7ea7\u670d\u52a1\u5668",
+ "example": "1"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/stopSendRtp": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u505c\u6b62 \u53d1\u9001rtp(stopSendRtp)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u505c\u6b62 \u53d1\u9001rtp(stopSendRtp)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "api\u64cd\u4f5c\u5bc6\u94a5(\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e)",
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "vhost",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u865a\u62df\u4e3b\u673a\uff0c\u4f8b\u5982__defaultVhost__",
+ "example": "__defaultVhost__"
+ },
+ {
+ "name": "app",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u5e94\u7528\u540d\uff0c\u4f8b\u5982 live",
+ "example": "live"
+ },
+ {
+ "name": "stream",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "description": "\u6d41id\uff0c\u4f8b\u5982 obs",
+ "example": "obs"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/version": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u7248\u672c\u4fe1\u606f(version)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u7248\u672c\u4fe1\u606f(version)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getProxyInfo": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u62c9\u6d41\u4ee3\u7406\u4fe1\u606f(getProxyInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "__defaultVhost__/live/test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u62c9\u6d41\u4ee3\u7406\u4fe1\u606f(getProxyInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "__defaultVhost__/live/test"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ },
+ "/index/api/getProxyPusherInfo": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "\u83b7\u53d6\u63a8\u6d41\u4ee3\u7406\u4fe1\u606f(getProxyPusherInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "rtmp/__defaultVhost__/live/test/f40a8ab006cac16ecc0858409e890491"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "\u83b7\u53d6\u63a8\u6d41\u4ee3\u7406\u4fe1\u606f(getProxyPusherInfo)",
+ "parameters": [
+ {
+ "name": "secret",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "1oV1R5Z9xlrjH4QN7GXNvS5IUaYtuFgX"
+ },
+ {
+ "name": "key",
+ "in": "query",
+ "schema": {
+ "type": "string"
+ },
+ "example": "rtmp/__defaultVhost__/live/test/f40a8ab006cac16ecc0858409e890491"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful response",
+ "content": {
+ "application/json": {}
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/www/swagger/swagger-initializer.js b/www/swagger/swagger-initializer.js
new file mode 100644
index 00000000..612ae82f
--- /dev/null
+++ b/www/swagger/swagger-initializer.js
@@ -0,0 +1,20 @@
+window.onload = function() {
+ //
+
+ // the following lines will be replaced by docker/configurator, when it runs in a docker-container
+ window.ui = SwaggerUIBundle({
+ url: "/swagger/openapi.json",
+ dom_id: '#swagger-ui',
+ deepLinking: true,
+ presets: [
+ SwaggerUIBundle.presets.apis,
+ SwaggerUIStandalonePreset
+ ],
+ plugins: [
+ SwaggerUIBundle.plugins.DownloadUrl
+ ],
+ layout: "StandaloneLayout"
+ });
+
+ //
+};
diff --git a/www/swagger/swagger-ui-bundle.js b/www/swagger/swagger-ui-bundle.js
new file mode 100644
index 00000000..6878058e
--- /dev/null
+++ b/www/swagger/swagger-ui-bundle.js
@@ -0,0 +1,3 @@
+/*! For license information please see swagger-ui-bundle.js.LICENSE.txt */
+!function webpackUniversalModuleDefinition(i,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.SwaggerUIBundle=s():i.SwaggerUIBundle=s()}(this,(()=>(()=>{var i={17967:(i,s)=>{"use strict";s.Nm=s.Rq=void 0;var u=/^([^\w]*)(javascript|data|vbscript)/im,m=/(\w+)(^\w|;)?/g,v=/&(newline|tab);/gi,_=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,j=/^.+(:|:)/gim,M=[".","/"];s.Rq="about:blank",s.Nm=function sanitizeUrl(i){if(!i)return s.Rq;var $=function decodeHtmlCharacters(i){return i.replace(_,"").replace(m,(function(i,s){return String.fromCharCode(s)}))}(i).replace(v,"").replace(_,"").trim();if(!$)return s.Rq;if(function isRelativeUrlWithoutProtocol(i){return M.indexOf(i[0])>-1}($))return $;var W=$.match(j);if(!W)return $;var X=W[0];return u.test(X)?s.Rq:$}},79742:(i,s)=>{"use strict";s.byteLength=function byteLength(i){var s=getLens(i),u=s[0],m=s[1];return 3*(u+m)/4-m},s.toByteArray=function toByteArray(i){var s,u,_=getLens(i),j=_[0],M=_[1],$=new v(function _byteLength(i,s,u){return 3*(s+u)/4-u}(0,j,M)),W=0,X=M>0?j-4:j;for(u=0;u>16&255,$[W++]=s>>8&255,$[W++]=255&s;2===M&&(s=m[i.charCodeAt(u)]<<2|m[i.charCodeAt(u+1)]>>4,$[W++]=255&s);1===M&&(s=m[i.charCodeAt(u)]<<10|m[i.charCodeAt(u+1)]<<4|m[i.charCodeAt(u+2)]>>2,$[W++]=s>>8&255,$[W++]=255&s);return $},s.fromByteArray=function fromByteArray(i){for(var s,m=i.length,v=m%3,_=[],j=16383,M=0,$=m-v;M<$;M+=j)_.push(encodeChunk(i,M,M+j>$?$:M+j));1===v?(s=i[m-1],_.push(u[s>>2]+u[s<<4&63]+"==")):2===v&&(s=(i[m-2]<<8)+i[m-1],_.push(u[s>>10]+u[s>>4&63]+u[s<<2&63]+"="));return _.join("")};for(var u=[],m=[],v="undefined"!=typeof Uint8Array?Uint8Array:Array,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j=0;j<64;++j)u[j]=_[j],m[_.charCodeAt(j)]=j;function getLens(i){var s=i.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var u=i.indexOf("=");return-1===u&&(u=s),[u,u===s?0:4-u%4]}function encodeChunk(i,s,m){for(var v,_,j=[],M=s;M>18&63]+u[_>>12&63]+u[_>>6&63]+u[63&_]);return j.join("")}m["-".charCodeAt(0)]=62,m["_".charCodeAt(0)]=63},48764:(i,s,u)=>{"use strict";const m=u(79742),v=u(80645),_="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=Buffer,s.SlowBuffer=function SlowBuffer(i){+i!=i&&(i=0);return Buffer.alloc(+i)},s.INSPECT_MAX_BYTES=50;const j=2147483647;function createBuffer(i){if(i>j)throw new RangeError('The value "'+i+'" is invalid for option "size"');const s=new Uint8Array(i);return Object.setPrototypeOf(s,Buffer.prototype),s}function Buffer(i,s,u){if("number"==typeof i){if("string"==typeof s)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(i)}return from(i,s,u)}function from(i,s,u){if("string"==typeof i)return function fromString(i,s){"string"==typeof s&&""!==s||(s="utf8");if(!Buffer.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const u=0|byteLength(i,s);let m=createBuffer(u);const v=m.write(i,s);v!==u&&(m=m.slice(0,v));return m}(i,s);if(ArrayBuffer.isView(i))return function fromArrayView(i){if(isInstance(i,Uint8Array)){const s=new Uint8Array(i);return fromArrayBuffer(s.buffer,s.byteOffset,s.byteLength)}return fromArrayLike(i)}(i);if(null==i)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(isInstance(i,ArrayBuffer)||i&&isInstance(i.buffer,ArrayBuffer))return fromArrayBuffer(i,s,u);if("undefined"!=typeof SharedArrayBuffer&&(isInstance(i,SharedArrayBuffer)||i&&isInstance(i.buffer,SharedArrayBuffer)))return fromArrayBuffer(i,s,u);if("number"==typeof i)throw new TypeError('The "value" argument must not be of type number. Received type number');const m=i.valueOf&&i.valueOf();if(null!=m&&m!==i)return Buffer.from(m,s,u);const v=function fromObject(i){if(Buffer.isBuffer(i)){const s=0|checked(i.length),u=createBuffer(s);return 0===u.length||i.copy(u,0,0,s),u}if(void 0!==i.length)return"number"!=typeof i.length||numberIsNaN(i.length)?createBuffer(0):fromArrayLike(i);if("Buffer"===i.type&&Array.isArray(i.data))return fromArrayLike(i.data)}(i);if(v)return v;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof i[Symbol.toPrimitive])return Buffer.from(i[Symbol.toPrimitive]("string"),s,u);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}function assertSize(i){if("number"!=typeof i)throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function allocUnsafe(i){return assertSize(i),createBuffer(i<0?0:0|checked(i))}function fromArrayLike(i){const s=i.length<0?0:0|checked(i.length),u=createBuffer(s);for(let m=0;m=j)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+j.toString(16)+" bytes");return 0|i}function byteLength(i,s){if(Buffer.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||isInstance(i,ArrayBuffer))return i.byteLength;if("string"!=typeof i)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const u=i.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===u)return 0;let v=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return u;case"utf8":case"utf-8":return utf8ToBytes(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*u;case"hex":return u>>>1;case"base64":return base64ToBytes(i).length;default:if(v)return m?-1:utf8ToBytes(i).length;s=(""+s).toLowerCase(),v=!0}}function slowToString(i,s,u){let m=!1;if((void 0===s||s<0)&&(s=0),s>this.length)return"";if((void 0===u||u>this.length)&&(u=this.length),u<=0)return"";if((u>>>=0)<=(s>>>=0))return"";for(i||(i="utf8");;)switch(i){case"hex":return hexSlice(this,s,u);case"utf8":case"utf-8":return utf8Slice(this,s,u);case"ascii":return asciiSlice(this,s,u);case"latin1":case"binary":return latin1Slice(this,s,u);case"base64":return base64Slice(this,s,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,s,u);default:if(m)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),m=!0}}function swap(i,s,u){const m=i[s];i[s]=i[u],i[u]=m}function bidirectionalIndexOf(i,s,u,m,v){if(0===i.length)return-1;if("string"==typeof u?(m=u,u=0):u>2147483647?u=2147483647:u<-2147483648&&(u=-2147483648),numberIsNaN(u=+u)&&(u=v?0:i.length-1),u<0&&(u=i.length+u),u>=i.length){if(v)return-1;u=i.length-1}else if(u<0){if(!v)return-1;u=0}if("string"==typeof s&&(s=Buffer.from(s,m)),Buffer.isBuffer(s))return 0===s.length?-1:arrayIndexOf(i,s,u,m,v);if("number"==typeof s)return s&=255,"function"==typeof Uint8Array.prototype.indexOf?v?Uint8Array.prototype.indexOf.call(i,s,u):Uint8Array.prototype.lastIndexOf.call(i,s,u):arrayIndexOf(i,[s],u,m,v);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(i,s,u,m,v){let _,j=1,M=i.length,$=s.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(i.length<2||s.length<2)return-1;j=2,M/=2,$/=2,u/=2}function read(i,s){return 1===j?i[s]:i.readUInt16BE(s*j)}if(v){let m=-1;for(_=u;_M&&(u=M-$),_=u;_>=0;_--){let u=!0;for(let m=0;m<$;m++)if(read(i,_+m)!==read(s,m)){u=!1;break}if(u)return _}return-1}function hexWrite(i,s,u,m){u=Number(u)||0;const v=i.length-u;m?(m=Number(m))>v&&(m=v):m=v;const _=s.length;let j;for(m>_/2&&(m=_/2),j=0;j>8,v=u%256,_.push(v),_.push(m);return _}(s,i.length-u),i,u,m)}function base64Slice(i,s,u){return 0===s&&u===i.length?m.fromByteArray(i):m.fromByteArray(i.slice(s,u))}function utf8Slice(i,s,u){u=Math.min(i.length,u);const m=[];let v=s;for(;v239?4:s>223?3:s>191?2:1;if(v+j<=u){let u,m,M,$;switch(j){case 1:s<128&&(_=s);break;case 2:u=i[v+1],128==(192&u)&&($=(31&s)<<6|63&u,$>127&&(_=$));break;case 3:u=i[v+1],m=i[v+2],128==(192&u)&&128==(192&m)&&($=(15&s)<<12|(63&u)<<6|63&m,$>2047&&($<55296||$>57343)&&(_=$));break;case 4:u=i[v+1],m=i[v+2],M=i[v+3],128==(192&u)&&128==(192&m)&&128==(192&M)&&($=(15&s)<<18|(63&u)<<12|(63&m)<<6|63&M,$>65535&&$<1114112&&(_=$))}}null===_?(_=65533,j=1):_>65535&&(_-=65536,m.push(_>>>10&1023|55296),_=56320|1023&_),m.push(_),v+=j}return function decodeCodePointsArray(i){const s=i.length;if(s<=M)return String.fromCharCode.apply(String,i);let u="",m=0;for(;mm.length?(Buffer.isBuffer(s)||(s=Buffer.from(s)),s.copy(m,v)):Uint8Array.prototype.set.call(m,s,v);else{if(!Buffer.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(m,v)}v+=s.length}return m},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){const i=this.length;if(i%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let s=0;su&&(i+=" ... "),""},_&&(Buffer.prototype[_]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(i,s,u,m,v){if(isInstance(i,Uint8Array)&&(i=Buffer.from(i,i.offset,i.byteLength)),!Buffer.isBuffer(i))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof i);if(void 0===s&&(s=0),void 0===u&&(u=i?i.length:0),void 0===m&&(m=0),void 0===v&&(v=this.length),s<0||u>i.length||m<0||v>this.length)throw new RangeError("out of range index");if(m>=v&&s>=u)return 0;if(m>=v)return-1;if(s>=u)return 1;if(this===i)return 0;let _=(v>>>=0)-(m>>>=0),j=(u>>>=0)-(s>>>=0);const M=Math.min(_,j),$=this.slice(m,v),W=i.slice(s,u);for(let i=0;i>>=0,isFinite(u)?(u>>>=0,void 0===m&&(m="utf8")):(m=u,u=void 0)}const v=this.length-s;if((void 0===u||u>v)&&(u=v),i.length>0&&(u<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");m||(m="utf8");let _=!1;for(;;)switch(m){case"hex":return hexWrite(this,i,s,u);case"utf8":case"utf-8":return utf8Write(this,i,s,u);case"ascii":case"latin1":case"binary":return asciiWrite(this,i,s,u);case"base64":return base64Write(this,i,s,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,i,s,u);default:if(_)throw new TypeError("Unknown encoding: "+m);m=(""+m).toLowerCase(),_=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const M=4096;function asciiSlice(i,s,u){let m="";u=Math.min(i.length,u);for(let v=s;vm)&&(u=m);let v="";for(let m=s;mu)throw new RangeError("Trying to access beyond buffer length")}function checkInt(i,s,u,m,v,_){if(!Buffer.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>v||s<_)throw new RangeError('"value" argument is out of bounds');if(u+m>i.length)throw new RangeError("Index out of range")}function wrtBigUInt64LE(i,s,u,m,v){checkIntBI(s,m,v,i,u,7);let _=Number(s&BigInt(4294967295));i[u++]=_,_>>=8,i[u++]=_,_>>=8,i[u++]=_,_>>=8,i[u++]=_;let j=Number(s>>BigInt(32)&BigInt(4294967295));return i[u++]=j,j>>=8,i[u++]=j,j>>=8,i[u++]=j,j>>=8,i[u++]=j,u}function wrtBigUInt64BE(i,s,u,m,v){checkIntBI(s,m,v,i,u,7);let _=Number(s&BigInt(4294967295));i[u+7]=_,_>>=8,i[u+6]=_,_>>=8,i[u+5]=_,_>>=8,i[u+4]=_;let j=Number(s>>BigInt(32)&BigInt(4294967295));return i[u+3]=j,j>>=8,i[u+2]=j,j>>=8,i[u+1]=j,j>>=8,i[u]=j,u+8}function checkIEEE754(i,s,u,m,v,_){if(u+m>i.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("Index out of range")}function writeFloat(i,s,u,m,_){return s=+s,u>>>=0,_||checkIEEE754(i,0,u,4),v.write(i,s,u,m,23,4),u+4}function writeDouble(i,s,u,m,_){return s=+s,u>>>=0,_||checkIEEE754(i,0,u,8),v.write(i,s,u,m,52,8),u+8}Buffer.prototype.slice=function slice(i,s){const u=this.length;(i=~~i)<0?(i+=u)<0&&(i=0):i>u&&(i=u),(s=void 0===s?u:~~s)<0?(s+=u)<0&&(s=0):s>u&&(s=u),s>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i],v=1,_=0;for(;++_>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i+--s],v=1;for(;s>0&&(v*=256);)m+=this[i+--s]*v;return m},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(i,s){return i>>>=0,s||checkOffset(i,1,this.length),this[i]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(i,s){return i>>>=0,s||checkOffset(i,2,this.length),this[i]|this[i+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(i,s){return i>>>=0,s||checkOffset(i,2,this.length),this[i]<<8|this[i+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),(this[i]|this[i+1]<<8|this[i+2]<<16)+16777216*this[i+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),16777216*this[i]+(this[i+1]<<16|this[i+2]<<8|this[i+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(i){validateNumber(i>>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=s+256*this[++i]+65536*this[++i]+this[++i]*2**24,v=this[++i]+256*this[++i]+65536*this[++i]+u*2**24;return BigInt(m)+(BigInt(v)<>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=s*2**24+65536*this[++i]+256*this[++i]+this[++i],v=this[++i]*2**24+65536*this[++i]+256*this[++i]+u;return(BigInt(m)<>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=this[i],v=1,_=0;for(;++_=v&&(m-=Math.pow(2,8*s)),m},Buffer.prototype.readIntBE=function readIntBE(i,s,u){i>>>=0,s>>>=0,u||checkOffset(i,s,this.length);let m=s,v=1,_=this[i+--m];for(;m>0&&(v*=256);)_+=this[i+--m]*v;return v*=128,_>=v&&(_-=Math.pow(2,8*s)),_},Buffer.prototype.readInt8=function readInt8(i,s){return i>>>=0,s||checkOffset(i,1,this.length),128&this[i]?-1*(255-this[i]+1):this[i]},Buffer.prototype.readInt16LE=function readInt16LE(i,s){i>>>=0,s||checkOffset(i,2,this.length);const u=this[i]|this[i+1]<<8;return 32768&u?4294901760|u:u},Buffer.prototype.readInt16BE=function readInt16BE(i,s){i>>>=0,s||checkOffset(i,2,this.length);const u=this[i+1]|this[i]<<8;return 32768&u?4294901760|u:u},Buffer.prototype.readInt32LE=function readInt32LE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),this[i]|this[i+1]<<8|this[i+2]<<16|this[i+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),this[i]<<24|this[i+1]<<16|this[i+2]<<8|this[i+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(i){validateNumber(i>>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=this[i+4]+256*this[i+5]+65536*this[i+6]+(u<<24);return(BigInt(m)<>>=0,"offset");const s=this[i],u=this[i+7];void 0!==s&&void 0!==u||boundsError(i,this.length-8);const m=(s<<24)+65536*this[++i]+256*this[++i]+this[++i];return(BigInt(m)<>>=0,s||checkOffset(i,4,this.length),v.read(this,i,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(i,s){return i>>>=0,s||checkOffset(i,4,this.length),v.read(this,i,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(i,s){return i>>>=0,s||checkOffset(i,8,this.length),v.read(this,i,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(i,s){return i>>>=0,s||checkOffset(i,8,this.length),v.read(this,i,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(i,s,u,m){if(i=+i,s>>>=0,u>>>=0,!m){checkInt(this,i,s,u,Math.pow(2,8*u)-1,0)}let v=1,_=0;for(this[s]=255&i;++_>>=0,u>>>=0,!m){checkInt(this,i,s,u,Math.pow(2,8*u)-1,0)}let v=u-1,_=1;for(this[s+v]=255&i;--v>=0&&(_*=256);)this[s+v]=i/_&255;return s+u},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,1,255,0),this[s]=255&i,s+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,65535,0),this[s]=255&i,this[s+1]=i>>>8,s+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,65535,0),this[s]=i>>>8,this[s+1]=255&i,s+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,4294967295,0),this[s+3]=i>>>24,this[s+2]=i>>>16,this[s+1]=i>>>8,this[s]=255&i,s+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,4294967295,0),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=255&i,s+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(i,s=0){return wrtBigUInt64LE(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(i,s=0){return wrtBigUInt64BE(this,i,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeIntLE=function writeIntLE(i,s,u,m){if(i=+i,s>>>=0,!m){const m=Math.pow(2,8*u-1);checkInt(this,i,s,u,m-1,-m)}let v=0,_=1,j=0;for(this[s]=255&i;++v>0)-j&255;return s+u},Buffer.prototype.writeIntBE=function writeIntBE(i,s,u,m){if(i=+i,s>>>=0,!m){const m=Math.pow(2,8*u-1);checkInt(this,i,s,u,m-1,-m)}let v=u-1,_=1,j=0;for(this[s+v]=255&i;--v>=0&&(_*=256);)i<0&&0===j&&0!==this[s+v+1]&&(j=1),this[s+v]=(i/_>>0)-j&255;return s+u},Buffer.prototype.writeInt8=function writeInt8(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,1,127,-128),i<0&&(i=255+i+1),this[s]=255&i,s+1},Buffer.prototype.writeInt16LE=function writeInt16LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,32767,-32768),this[s]=255&i,this[s+1]=i>>>8,s+2},Buffer.prototype.writeInt16BE=function writeInt16BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,2,32767,-32768),this[s]=i>>>8,this[s+1]=255&i,s+2},Buffer.prototype.writeInt32LE=function writeInt32LE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,2147483647,-2147483648),this[s]=255&i,this[s+1]=i>>>8,this[s+2]=i>>>16,this[s+3]=i>>>24,s+4},Buffer.prototype.writeInt32BE=function writeInt32BE(i,s,u){return i=+i,s>>>=0,u||checkInt(this,i,s,4,2147483647,-2147483648),i<0&&(i=4294967295+i+1),this[s]=i>>>24,this[s+1]=i>>>16,this[s+2]=i>>>8,this[s+3]=255&i,s+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(i,s=0){return wrtBigUInt64LE(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(i,s=0){return wrtBigUInt64BE(this,i,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(i,s,u){return writeFloat(this,i,s,!0,u)},Buffer.prototype.writeFloatBE=function writeFloatBE(i,s,u){return writeFloat(this,i,s,!1,u)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(i,s,u){return writeDouble(this,i,s,!0,u)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(i,s,u){return writeDouble(this,i,s,!1,u)},Buffer.prototype.copy=function copy(i,s,u,m){if(!Buffer.isBuffer(i))throw new TypeError("argument should be a Buffer");if(u||(u=0),m||0===m||(m=this.length),s>=i.length&&(s=i.length),s||(s=0),m>0&&m=this.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("sourceEnd out of bounds");m>this.length&&(m=this.length),i.length-s>>=0,u=void 0===u?this.length:u>>>0,i||(i=0),"number"==typeof i)for(v=s;v=m+4;u-=3)s=`_${i.slice(u-3,u)}${s}`;return`${i.slice(0,u)}${s}`}function checkIntBI(i,s,u,m,v,_){if(i>u||i3?0===s||s===BigInt(0)?`>= 0${m} and < 2${m} ** ${8*(_+1)}${m}`:`>= -(2${m} ** ${8*(_+1)-1}${m}) and < 2 ** ${8*(_+1)-1}${m}`:`>= ${s}${m} and <= ${u}${m}`,new $.ERR_OUT_OF_RANGE("value",v,i)}!function checkBounds(i,s,u){validateNumber(s,"offset"),void 0!==i[s]&&void 0!==i[s+u]||boundsError(s,i.length-(u+1))}(m,v,_)}function validateNumber(i,s){if("number"!=typeof i)throw new $.ERR_INVALID_ARG_TYPE(s,"number",i)}function boundsError(i,s,u){if(Math.floor(i)!==i)throw validateNumber(i,u),new $.ERR_OUT_OF_RANGE(u||"offset","an integer",i);if(s<0)throw new $.ERR_BUFFER_OUT_OF_BOUNDS;throw new $.ERR_OUT_OF_RANGE(u||"offset",`>= ${u?1:0} and <= ${s}`,i)}E("ERR_BUFFER_OUT_OF_BOUNDS",(function(i){return i?`${i} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),E("ERR_INVALID_ARG_TYPE",(function(i,s){return`The "${i}" argument must be of type number. Received type ${typeof s}`}),TypeError),E("ERR_OUT_OF_RANGE",(function(i,s,u){let m=`The value of "${i}" is out of range.`,v=u;return Number.isInteger(u)&&Math.abs(u)>2**32?v=addNumericalSeparator(String(u)):"bigint"==typeof u&&(v=String(u),(u>BigInt(2)**BigInt(32)||u<-(BigInt(2)**BigInt(32)))&&(v=addNumericalSeparator(v)),v+="n"),m+=` It must be ${s}. Received ${v}`,m}),RangeError);const W=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(i,s){let u;s=s||1/0;const m=i.length;let v=null;const _=[];for(let j=0;j55295&&u<57344){if(!v){if(u>56319){(s-=3)>-1&&_.push(239,191,189);continue}if(j+1===m){(s-=3)>-1&&_.push(239,191,189);continue}v=u;continue}if(u<56320){(s-=3)>-1&&_.push(239,191,189),v=u;continue}u=65536+(v-55296<<10|u-56320)}else v&&(s-=3)>-1&&_.push(239,191,189);if(v=null,u<128){if((s-=1)<0)break;_.push(u)}else if(u<2048){if((s-=2)<0)break;_.push(u>>6|192,63&u|128)}else if(u<65536){if((s-=3)<0)break;_.push(u>>12|224,u>>6&63|128,63&u|128)}else{if(!(u<1114112))throw new Error("Invalid code point");if((s-=4)<0)break;_.push(u>>18|240,u>>12&63|128,u>>6&63|128,63&u|128)}}return _}function base64ToBytes(i){return m.toByteArray(function base64clean(i){if((i=(i=i.split("=")[0]).trim().replace(W,"")).length<2)return"";for(;i.length%4!=0;)i+="=";return i}(i))}function blitBuffer(i,s,u,m){let v;for(v=0;v=s.length||v>=i.length);++v)s[v+u]=i[v];return v}function isInstance(i,s){return i instanceof s||null!=i&&null!=i.constructor&&null!=i.constructor.name&&i.constructor.name===s.name}function numberIsNaN(i){return i!=i}const X=function(){const i="0123456789abcdef",s=new Array(256);for(let u=0;u<16;++u){const m=16*u;for(let v=0;v<16;++v)s[m+v]=i[u]+i[v]}return s}();function defineBigIntMethod(i){return"undefined"==typeof BigInt?BufferBigIntNotDefined:i}function BufferBigIntNotDefined(){throw new Error("BigInt not supported")}},21924:(i,s,u)=>{"use strict";var m=u(40210),v=u(55559),_=v(m("String.prototype.indexOf"));i.exports=function callBoundIntrinsic(i,s){var u=m(i,!!s);return"function"==typeof u&&_(i,".prototype.")>-1?v(u):u}},55559:(i,s,u)=>{"use strict";var m=u(58612),v=u(40210),_=v("%Function.prototype.apply%"),j=v("%Function.prototype.call%"),M=v("%Reflect.apply%",!0)||m.call(j,_),$=v("%Object.getOwnPropertyDescriptor%",!0),W=v("%Object.defineProperty%",!0),X=v("%Math.max%");if(W)try{W({},"a",{value:1})}catch(i){W=null}i.exports=function callBind(i){var s=M(m,j,arguments);$&&W&&($(s,"length").configurable&&W(s,"length",{value:1+X(0,i.length-(arguments.length-1))}));return s};var Y=function applyBind(){return M(m,_,arguments)};W?W(i.exports,"apply",{value:Y}):i.exports.apply=Y},94184:(i,s)=>{var u;!function(){"use strict";var m={}.hasOwnProperty;function classNames(){for(var i=[],s=0;s{"use strict";s.parse=function parse(i,s){if("string"!=typeof i)throw new TypeError("argument str must be a string");var u={},m=(s||{}).decode||decode,v=0;for(;v{"use strict";var m=u(11742),v={"text/plain":"Text","text/html":"Url",default:"Text"};i.exports=function copy(i,s){var u,_,j,M,$,W,X=!1;s||(s={}),u=s.debug||!1;try{if(j=m(),M=document.createRange(),$=document.getSelection(),(W=document.createElement("span")).textContent=i,W.ariaHidden="true",W.style.all="unset",W.style.position="fixed",W.style.top=0,W.style.clip="rect(0, 0, 0, 0)",W.style.whiteSpace="pre",W.style.webkitUserSelect="text",W.style.MozUserSelect="text",W.style.msUserSelect="text",W.style.userSelect="text",W.addEventListener("copy",(function(m){if(m.stopPropagation(),s.format)if(m.preventDefault(),void 0===m.clipboardData){u&&console.warn("unable to use e.clipboardData"),u&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var _=v[s.format]||v.default;window.clipboardData.setData(_,i)}else m.clipboardData.clearData(),m.clipboardData.setData(s.format,i);s.onCopy&&(m.preventDefault(),s.onCopy(m.clipboardData))})),document.body.appendChild(W),M.selectNodeContents(W),$.addRange(M),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");X=!0}catch(m){u&&console.error("unable to copy using execCommand: ",m),u&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",i),s.onCopy&&s.onCopy(window.clipboardData),X=!0}catch(m){u&&console.error("unable to copy using clipboardData: ",m),u&&console.error("falling back to prompt"),_=function format(i){var s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return i.replace(/#{\s*key\s*}/g,s)}("message"in s?s.message:"Copy to clipboard: #{key}, Enter"),window.prompt(_,i)}}finally{$&&("function"==typeof $.removeRange?$.removeRange(M):$.removeAllRanges()),W&&document.body.removeChild(W),j()}return X}},44101:(i,s,u)=>{var m=u(18957);i.exports=m},90093:(i,s,u)=>{var m=u(28196);i.exports=m},65362:(i,s,u)=>{var m=u(63383);i.exports=m},50415:(i,s,u)=>{u(61181),u(47627),u(24415),u(66274),u(77971);var m=u(54058);i.exports=m.AggregateError},27700:(i,s,u)=>{u(73381);var m=u(35703);i.exports=m("Function").bind},16246:(i,s,u)=>{var m=u(7046),v=u(27700),_=Function.prototype;i.exports=function(i){var s=i.bind;return i===_||m(_,i)&&s===_.bind?v:s}},45999:(i,s,u)=>{u(49221);var m=u(54058);i.exports=m.Object.assign},16121:(i,s,u)=>{i.exports=u(38644)},14122:(i,s,u)=>{i.exports=u(89097)},60269:(i,s,u)=>{i.exports=u(76936)},38644:(i,s,u)=>{u(89731);var m=u(44101);i.exports=m},89097:(i,s,u)=>{var m=u(90093);i.exports=m},76936:(i,s,u)=>{var m=u(65362);i.exports=m},24883:(i,s,u)=>{var m=u(57475),v=u(69826),_=TypeError;i.exports=function(i){if(m(i))return i;throw _(v(i)+" is not a function")}},11851:(i,s,u)=>{var m=u(57475),v=String,_=TypeError;i.exports=function(i){if("object"==typeof i||m(i))return i;throw _("Can't set "+v(i)+" as a prototype")}},18479:i=>{i.exports=function(){}},96059:(i,s,u)=>{var m=u(10941),v=String,_=TypeError;i.exports=function(i){if(m(i))return i;throw _(v(i)+" is not an object")}},31692:(i,s,u)=>{var m=u(74529),v=u(59413),_=u(10623),createMethod=function(i){return function(s,u,j){var M,$=m(s),W=_($),X=v(j,W);if(i&&u!=u){for(;W>X;)if((M=$[X++])!=M)return!0}else for(;W>X;X++)if((i||X in $)&&$[X]===u)return i||X||0;return!i&&-1}};i.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},93765:(i,s,u)=>{var m=u(95329);i.exports=m([].slice)},82532:(i,s,u)=>{var m=u(95329),v=m({}.toString),_=m("".slice);i.exports=function(i){return _(v(i),8,-1)}},9697:(i,s,u)=>{var m=u(22885),v=u(57475),_=u(82532),j=u(99813)("toStringTag"),M=Object,$="Arguments"==_(function(){return arguments}());i.exports=m?_:function(i){var s,u,m;return void 0===i?"Undefined":null===i?"Null":"string"==typeof(u=function(i,s){try{return i[s]}catch(i){}}(s=M(i),j))?u:$?_(s):"Object"==(m=_(s))&&v(s.callee)?"Arguments":m}},23489:(i,s,u)=>{var m=u(90953),v=u(31136),_=u(49677),j=u(65988);i.exports=function(i,s,u){for(var M=v(s),$=j.f,W=_.f,X=0;X{var m=u(95981);i.exports=!m((function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype}))},23538:i=>{i.exports=function(i,s){return{value:i,done:s}}},32029:(i,s,u)=>{var m=u(55746),v=u(65988),_=u(31887);i.exports=m?function(i,s,u){return v.f(i,s,_(1,u))}:function(i,s,u){return i[s]=u,i}},31887:i=>{i.exports=function(i,s){return{enumerable:!(1&i),configurable:!(2&i),writable:!(4&i),value:s}}},95929:(i,s,u)=>{var m=u(32029);i.exports=function(i,s,u,v){return v&&v.enumerable?i[s]=u:m(i,s,u),i}},75609:(i,s,u)=>{var m=u(21899),v=Object.defineProperty;i.exports=function(i,s){try{v(m,i,{value:s,configurable:!0,writable:!0})}catch(u){m[i]=s}return s}},55746:(i,s,u)=>{var m=u(95981);i.exports=!m((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},76616:i=>{var s="object"==typeof document&&document.all,u=void 0===s&&void 0!==s;i.exports={all:s,IS_HTMLDDA:u}},61333:(i,s,u)=>{var m=u(21899),v=u(10941),_=m.document,j=v(_)&&v(_.createElement);i.exports=function(i){return j?_.createElement(i):{}}},63281:i=>{i.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},2861:i=>{i.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},53385:(i,s,u)=>{var m,v,_=u(21899),j=u(2861),M=_.process,$=_.Deno,W=M&&M.versions||$&&$.version,X=W&&W.v8;X&&(v=(m=X.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!v&&j&&(!(m=j.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=j.match(/Chrome\/(\d+)/))&&(v=+m[1]),i.exports=v},35703:(i,s,u)=>{var m=u(54058);i.exports=function(i){return m[i+"Prototype"]}},56759:i=>{i.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},53995:(i,s,u)=>{var m=u(95329),v=Error,_=m("".replace),j=String(v("zxcasd").stack),M=/\n\s*at [^:]*:[^\n]*/,$=M.test(j);i.exports=function(i,s){if($&&"string"==typeof i&&!v.prepareStackTrace)for(;s--;)i=_(i,M,"");return i}},79585:(i,s,u)=>{var m=u(32029),v=u(53995),_=u(18780),j=Error.captureStackTrace;i.exports=function(i,s,u,M){_&&(j?j(i,s):m(i,"stack",v(u,M)))}},18780:(i,s,u)=>{var m=u(95981),v=u(31887);i.exports=!m((function(){var i=Error("a");return!("stack"in i)||(Object.defineProperty(i,"stack",v(1,7)),7!==i.stack)}))},76887:(i,s,u)=>{"use strict";var m=u(21899),v=u(79730),_=u(97484),j=u(57475),M=u(49677).f,$=u(37252),W=u(54058),X=u(86843),Y=u(32029),Z=u(90953),wrapConstructor=function(i){var Wrapper=function(s,u,m){if(this instanceof Wrapper){switch(arguments.length){case 0:return new i;case 1:return new i(s);case 2:return new i(s,u)}return new i(s,u,m)}return v(i,this,arguments)};return Wrapper.prototype=i.prototype,Wrapper};i.exports=function(i,s){var u,v,ee,ie,ae,le,ce,pe,de,fe=i.target,ye=i.global,be=i.stat,_e=i.proto,we=ye?m:be?m[fe]:(m[fe]||{}).prototype,Se=ye?W:W[fe]||Y(W,fe,{})[fe],xe=Se.prototype;for(ie in s)v=!(u=$(ye?ie:fe+(be?".":"#")+ie,i.forced))&&we&&Z(we,ie),le=Se[ie],v&&(ce=i.dontCallGetSet?(de=M(we,ie))&&de.value:we[ie]),ae=v&&ce?ce:s[ie],v&&typeof le==typeof ae||(pe=i.bind&&v?X(ae,m):i.wrap&&v?wrapConstructor(ae):_e&&j(ae)?_(ae):ae,(i.sham||ae&&ae.sham||le&&le.sham)&&Y(pe,"sham",!0),Y(Se,ie,pe),_e&&(Z(W,ee=fe+"Prototype")||Y(W,ee,{}),Y(W[ee],ie,ae),i.real&&xe&&(u||!xe[ie])&&Y(xe,ie,ae)))}},95981:i=>{i.exports=function(i){try{return!!i()}catch(i){return!0}}},79730:(i,s,u)=>{var m=u(18285),v=Function.prototype,_=v.apply,j=v.call;i.exports="object"==typeof Reflect&&Reflect.apply||(m?j.bind(_):function(){return j.apply(_,arguments)})},86843:(i,s,u)=>{var m=u(97484),v=u(24883),_=u(18285),j=m(m.bind);i.exports=function(i,s){return v(i),void 0===s?i:_?j(i,s):function(){return i.apply(s,arguments)}}},18285:(i,s,u)=>{var m=u(95981);i.exports=!m((function(){var i=function(){}.bind();return"function"!=typeof i||i.hasOwnProperty("prototype")}))},98308:(i,s,u)=>{"use strict";var m=u(95329),v=u(24883),_=u(10941),j=u(90953),M=u(93765),$=u(18285),W=Function,X=m([].concat),Y=m([].join),Z={};i.exports=$?W.bind:function bind(i){var s=v(this),u=s.prototype,m=M(arguments,1),$=function bound(){var u=X(m,M(arguments));return this instanceof $?function(i,s,u){if(!j(Z,s)){for(var m=[],v=0;v{var m=u(18285),v=Function.prototype.call;i.exports=m?v.bind(v):function(){return v.apply(v,arguments)}},79417:(i,s,u)=>{var m=u(55746),v=u(90953),_=Function.prototype,j=m&&Object.getOwnPropertyDescriptor,M=v(_,"name"),$=M&&"something"===function something(){}.name,W=M&&(!m||m&&j(_,"name").configurable);i.exports={EXISTS:M,PROPER:$,CONFIGURABLE:W}},45526:(i,s,u)=>{var m=u(95329),v=u(24883);i.exports=function(i,s,u){try{return m(v(Object.getOwnPropertyDescriptor(i,s)[u]))}catch(i){}}},97484:(i,s,u)=>{var m=u(82532),v=u(95329);i.exports=function(i){if("Function"===m(i))return v(i)}},95329:(i,s,u)=>{var m=u(18285),v=Function.prototype,_=v.call,j=m&&v.bind.bind(_,_);i.exports=m?j:function(i){return function(){return _.apply(i,arguments)}}},626:(i,s,u)=>{var m=u(54058),v=u(21899),_=u(57475),aFunction=function(i){return _(i)?i:void 0};i.exports=function(i,s){return arguments.length<2?aFunction(m[i])||aFunction(v[i]):m[i]&&m[i][s]||v[i]&&v[i][s]}},22902:(i,s,u)=>{var m=u(9697),v=u(14229),_=u(82119),j=u(12077),M=u(99813)("iterator");i.exports=function(i){if(!_(i))return v(i,M)||v(i,"@@iterator")||j[m(i)]}},53476:(i,s,u)=>{var m=u(78834),v=u(24883),_=u(96059),j=u(69826),M=u(22902),$=TypeError;i.exports=function(i,s){var u=arguments.length<2?M(i):s;if(v(u))return _(m(u,i));throw $(j(i)+" is not iterable")}},14229:(i,s,u)=>{var m=u(24883),v=u(82119);i.exports=function(i,s){var u=i[s];return v(u)?void 0:m(u)}},21899:function(i,s,u){var check=function(i){return i&&i.Math==Math&&i};i.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof u.g&&u.g)||function(){return this}()||this||Function("return this")()},90953:(i,s,u)=>{var m=u(95329),v=u(89678),_=m({}.hasOwnProperty);i.exports=Object.hasOwn||function hasOwn(i,s){return _(v(i),s)}},27748:i=>{i.exports={}},15463:(i,s,u)=>{var m=u(626);i.exports=m("document","documentElement")},2840:(i,s,u)=>{var m=u(55746),v=u(95981),_=u(61333);i.exports=!m&&!v((function(){return 7!=Object.defineProperty(_("div"),"a",{get:function(){return 7}}).a}))},37026:(i,s,u)=>{var m=u(95329),v=u(95981),_=u(82532),j=Object,M=m("".split);i.exports=v((function(){return!j("z").propertyIsEnumerable(0)}))?function(i){return"String"==_(i)?M(i,""):j(i)}:j},70926:(i,s,u)=>{var m=u(57475),v=u(10941),_=u(88929);i.exports=function(i,s,u){var j,M;return _&&m(j=s.constructor)&&j!==u&&v(M=j.prototype)&&M!==u.prototype&&_(i,M),i}},53794:(i,s,u)=>{var m=u(10941),v=u(32029);i.exports=function(i,s){m(s)&&"cause"in s&&v(i,"cause",s.cause)}},45402:(i,s,u)=>{var m,v,_,j=u(47093),M=u(21899),$=u(10941),W=u(32029),X=u(90953),Y=u(63030),Z=u(44262),ee=u(27748),ie="Object already initialized",ae=M.TypeError,le=M.WeakMap;if(j||Y.state){var ce=Y.state||(Y.state=new le);ce.get=ce.get,ce.has=ce.has,ce.set=ce.set,m=function(i,s){if(ce.has(i))throw ae(ie);return s.facade=i,ce.set(i,s),s},v=function(i){return ce.get(i)||{}},_=function(i){return ce.has(i)}}else{var pe=Z("state");ee[pe]=!0,m=function(i,s){if(X(i,pe))throw ae(ie);return s.facade=i,W(i,pe,s),s},v=function(i){return X(i,pe)?i[pe]:{}},_=function(i){return X(i,pe)}}i.exports={set:m,get:v,has:_,enforce:function(i){return _(i)?v(i):m(i,{})},getterFor:function(i){return function(s){var u;if(!$(s)||(u=v(s)).type!==i)throw ae("Incompatible receiver, "+i+" required");return u}}}},6782:(i,s,u)=>{var m=u(99813),v=u(12077),_=m("iterator"),j=Array.prototype;i.exports=function(i){return void 0!==i&&(v.Array===i||j[_]===i)}},57475:(i,s,u)=>{var m=u(76616),v=m.all;i.exports=m.IS_HTMLDDA?function(i){return"function"==typeof i||i===v}:function(i){return"function"==typeof i}},37252:(i,s,u)=>{var m=u(95981),v=u(57475),_=/#|\.prototype\./,isForced=function(i,s){var u=M[j(i)];return u==W||u!=$&&(v(s)?m(s):!!s)},j=isForced.normalize=function(i){return String(i).replace(_,".").toLowerCase()},M=isForced.data={},$=isForced.NATIVE="N",W=isForced.POLYFILL="P";i.exports=isForced},82119:i=>{i.exports=function(i){return null==i}},10941:(i,s,u)=>{var m=u(57475),v=u(76616),_=v.all;i.exports=v.IS_HTMLDDA?function(i){return"object"==typeof i?null!==i:m(i)||i===_}:function(i){return"object"==typeof i?null!==i:m(i)}},82529:i=>{i.exports=!0},56664:(i,s,u)=>{var m=u(626),v=u(57475),_=u(7046),j=u(32302),M=Object;i.exports=j?function(i){return"symbol"==typeof i}:function(i){var s=m("Symbol");return v(s)&&_(s.prototype,M(i))}},93091:(i,s,u)=>{var m=u(86843),v=u(78834),_=u(96059),j=u(69826),M=u(6782),$=u(10623),W=u(7046),X=u(53476),Y=u(22902),Z=u(7609),ee=TypeError,Result=function(i,s){this.stopped=i,this.result=s},ie=Result.prototype;i.exports=function(i,s,u){var ae,le,ce,pe,de,fe,ye,be=u&&u.that,_e=!(!u||!u.AS_ENTRIES),we=!(!u||!u.IS_RECORD),Se=!(!u||!u.IS_ITERATOR),xe=!(!u||!u.INTERRUPTED),Ie=m(s,be),stop=function(i){return ae&&Z(ae,"normal",i),new Result(!0,i)},callFn=function(i){return _e?(_(i),xe?Ie(i[0],i[1],stop):Ie(i[0],i[1])):xe?Ie(i,stop):Ie(i)};if(we)ae=i.iterator;else if(Se)ae=i;else{if(!(le=Y(i)))throw ee(j(i)+" is not iterable");if(M(le)){for(ce=0,pe=$(i);pe>ce;ce++)if((de=callFn(i[ce]))&&W(ie,de))return de;return new Result(!1)}ae=X(i,le)}for(fe=we?i.next:ae.next;!(ye=v(fe,ae)).done;){try{de=callFn(ye.value)}catch(i){Z(ae,"throw",i)}if("object"==typeof de&&de&&W(ie,de))return de}return new Result(!1)}},7609:(i,s,u)=>{var m=u(78834),v=u(96059),_=u(14229);i.exports=function(i,s,u){var j,M;v(i);try{if(!(j=_(i,"return"))){if("throw"===s)throw u;return u}j=m(j,i)}catch(i){M=!0,j=i}if("throw"===s)throw u;if(M)throw j;return v(j),u}},53847:(i,s,u)=>{"use strict";var m=u(35143).IteratorPrototype,v=u(29290),_=u(31887),j=u(90904),M=u(12077),returnThis=function(){return this};i.exports=function(i,s,u,$){var W=s+" Iterator";return i.prototype=v(m,{next:_(+!$,u)}),j(i,W,!1,!0),M[W]=returnThis,i}},75105:(i,s,u)=>{"use strict";var m=u(76887),v=u(78834),_=u(82529),j=u(79417),M=u(57475),$=u(53847),W=u(249),X=u(88929),Y=u(90904),Z=u(32029),ee=u(95929),ie=u(99813),ae=u(12077),le=u(35143),ce=j.PROPER,pe=j.CONFIGURABLE,de=le.IteratorPrototype,fe=le.BUGGY_SAFARI_ITERATORS,ye=ie("iterator"),be="keys",_e="values",we="entries",returnThis=function(){return this};i.exports=function(i,s,u,j,ie,le,Se){$(u,s,j);var xe,Ie,Pe,getIterationMethod=function(i){if(i===ie&&Ve)return Ve;if(!fe&&i in qe)return qe[i];switch(i){case be:return function keys(){return new u(this,i)};case _e:return function values(){return new u(this,i)};case we:return function entries(){return new u(this,i)}}return function(){return new u(this)}},Te=s+" Iterator",Re=!1,qe=i.prototype,ze=qe[ye]||qe["@@iterator"]||ie&&qe[ie],Ve=!fe&&ze||getIterationMethod(ie),We="Array"==s&&qe.entries||ze;if(We&&(xe=W(We.call(new i)))!==Object.prototype&&xe.next&&(_||W(xe)===de||(X?X(xe,de):M(xe[ye])||ee(xe,ye,returnThis)),Y(xe,Te,!0,!0),_&&(ae[Te]=returnThis)),ce&&ie==_e&&ze&&ze.name!==_e&&(!_&&pe?Z(qe,"name",_e):(Re=!0,Ve=function values(){return v(ze,this)})),ie)if(Ie={values:getIterationMethod(_e),keys:le?Ve:getIterationMethod(be),entries:getIterationMethod(we)},Se)for(Pe in Ie)(fe||Re||!(Pe in qe))&&ee(qe,Pe,Ie[Pe]);else m({target:s,proto:!0,forced:fe||Re},Ie);return _&&!Se||qe[ye]===Ve||ee(qe,ye,Ve,{name:ie}),ae[s]=Ve,Ie}},35143:(i,s,u)=>{"use strict";var m,v,_,j=u(95981),M=u(57475),$=u(10941),W=u(29290),X=u(249),Y=u(95929),Z=u(99813),ee=u(82529),ie=Z("iterator"),ae=!1;[].keys&&("next"in(_=[].keys())?(v=X(X(_)))!==Object.prototype&&(m=v):ae=!0),!$(m)||j((function(){var i={};return m[ie].call(i)!==i}))?m={}:ee&&(m=W(m)),M(m[ie])||Y(m,ie,(function(){return this})),i.exports={IteratorPrototype:m,BUGGY_SAFARI_ITERATORS:ae}},12077:i=>{i.exports={}},10623:(i,s,u)=>{var m=u(43057);i.exports=function(i){return m(i.length)}},35331:i=>{var s=Math.ceil,u=Math.floor;i.exports=Math.trunc||function trunc(i){var m=+i;return(m>0?u:s)(m)}},14649:(i,s,u)=>{var m=u(85803);i.exports=function(i,s){return void 0===i?arguments.length<2?"":s:m(i)}},24420:(i,s,u)=>{"use strict";var m=u(55746),v=u(95329),_=u(78834),j=u(95981),M=u(14771),$=u(87857),W=u(36760),X=u(89678),Y=u(37026),Z=Object.assign,ee=Object.defineProperty,ie=v([].concat);i.exports=!Z||j((function(){if(m&&1!==Z({b:1},Z(ee({},"a",{enumerable:!0,get:function(){ee(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var i={},s={},u=Symbol(),v="abcdefghijklmnopqrst";return i[u]=7,v.split("").forEach((function(i){s[i]=i})),7!=Z({},i)[u]||M(Z({},s)).join("")!=v}))?function assign(i,s){for(var u=X(i),v=arguments.length,j=1,Z=$.f,ee=W.f;v>j;)for(var ae,le=Y(arguments[j++]),ce=Z?ie(M(le),Z(le)):M(le),pe=ce.length,de=0;pe>de;)ae=ce[de++],m&&!_(ee,le,ae)||(u[ae]=le[ae]);return u}:Z},29290:(i,s,u)=>{var m,v=u(96059),_=u(59938),j=u(56759),M=u(27748),$=u(15463),W=u(61333),X=u(44262),Y="prototype",Z="script",ee=X("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(i){return"<"+Z+">"+i+""+Z+">"},NullProtoObjectViaActiveX=function(i){i.write(scriptTag("")),i.close();var s=i.parentWindow.Object;return i=null,s},NullProtoObject=function(){try{m=new ActiveXObject("htmlfile")}catch(i){}var i,s,u;NullProtoObject="undefined"!=typeof document?document.domain&&m?NullProtoObjectViaActiveX(m):(s=W("iframe"),u="java"+Z+":",s.style.display="none",$.appendChild(s),s.src=String(u),(i=s.contentWindow.document).open(),i.write(scriptTag("document.F=Object")),i.close(),i.F):NullProtoObjectViaActiveX(m);for(var v=j.length;v--;)delete NullProtoObject[Y][j[v]];return NullProtoObject()};M[ee]=!0,i.exports=Object.create||function create(i,s){var u;return null!==i?(EmptyConstructor[Y]=v(i),u=new EmptyConstructor,EmptyConstructor[Y]=null,u[ee]=i):u=NullProtoObject(),void 0===s?u:_.f(u,s)}},59938:(i,s,u)=>{var m=u(55746),v=u(83937),_=u(65988),j=u(96059),M=u(74529),$=u(14771);s.f=m&&!v?Object.defineProperties:function defineProperties(i,s){j(i);for(var u,m=M(s),v=$(s),W=v.length,X=0;W>X;)_.f(i,u=v[X++],m[u]);return i}},65988:(i,s,u)=>{var m=u(55746),v=u(2840),_=u(83937),j=u(96059),M=u(83894),$=TypeError,W=Object.defineProperty,X=Object.getOwnPropertyDescriptor,Y="enumerable",Z="configurable",ee="writable";s.f=m?_?function defineProperty(i,s,u){if(j(i),s=M(s),j(u),"function"==typeof i&&"prototype"===s&&"value"in u&&ee in u&&!u[ee]){var m=X(i,s);m&&m[ee]&&(i[s]=u.value,u={configurable:Z in u?u[Z]:m[Z],enumerable:Y in u?u[Y]:m[Y],writable:!1})}return W(i,s,u)}:W:function defineProperty(i,s,u){if(j(i),s=M(s),j(u),v)try{return W(i,s,u)}catch(i){}if("get"in u||"set"in u)throw $("Accessors not supported");return"value"in u&&(i[s]=u.value),i}},49677:(i,s,u)=>{var m=u(55746),v=u(78834),_=u(36760),j=u(31887),M=u(74529),$=u(83894),W=u(90953),X=u(2840),Y=Object.getOwnPropertyDescriptor;s.f=m?Y:function getOwnPropertyDescriptor(i,s){if(i=M(i),s=$(s),X)try{return Y(i,s)}catch(i){}if(W(i,s))return j(!v(_.f,i,s),i[s])}},10946:(i,s,u)=>{var m=u(55629),v=u(56759).concat("length","prototype");s.f=Object.getOwnPropertyNames||function getOwnPropertyNames(i){return m(i,v)}},87857:(i,s)=>{s.f=Object.getOwnPropertySymbols},249:(i,s,u)=>{var m=u(90953),v=u(57475),_=u(89678),j=u(44262),M=u(91310),$=j("IE_PROTO"),W=Object,X=W.prototype;i.exports=M?W.getPrototypeOf:function(i){var s=_(i);if(m(s,$))return s[$];var u=s.constructor;return v(u)&&s instanceof u?u.prototype:s instanceof W?X:null}},7046:(i,s,u)=>{var m=u(95329);i.exports=m({}.isPrototypeOf)},55629:(i,s,u)=>{var m=u(95329),v=u(90953),_=u(74529),j=u(31692).indexOf,M=u(27748),$=m([].push);i.exports=function(i,s){var u,m=_(i),W=0,X=[];for(u in m)!v(M,u)&&v(m,u)&&$(X,u);for(;s.length>W;)v(m,u=s[W++])&&(~j(X,u)||$(X,u));return X}},14771:(i,s,u)=>{var m=u(55629),v=u(56759);i.exports=Object.keys||function keys(i){return m(i,v)}},36760:(i,s)=>{"use strict";var u={}.propertyIsEnumerable,m=Object.getOwnPropertyDescriptor,v=m&&!u.call({1:2},1);s.f=v?function propertyIsEnumerable(i){var s=m(this,i);return!!s&&s.enumerable}:u},88929:(i,s,u)=>{var m=u(45526),v=u(96059),_=u(11851);i.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i,s=!1,u={};try{(i=m(Object.prototype,"__proto__","set"))(u,[]),s=u instanceof Array}catch(i){}return function setPrototypeOf(u,m){return v(u),_(m),s?i(u,m):u.__proto__=m,u}}():void 0)},95623:(i,s,u)=>{"use strict";var m=u(22885),v=u(9697);i.exports=m?{}.toString:function toString(){return"[object "+v(this)+"]"}},39811:(i,s,u)=>{var m=u(78834),v=u(57475),_=u(10941),j=TypeError;i.exports=function(i,s){var u,M;if("string"===s&&v(u=i.toString)&&!_(M=m(u,i)))return M;if(v(u=i.valueOf)&&!_(M=m(u,i)))return M;if("string"!==s&&v(u=i.toString)&&!_(M=m(u,i)))return M;throw j("Can't convert object to primitive value")}},31136:(i,s,u)=>{var m=u(626),v=u(95329),_=u(10946),j=u(87857),M=u(96059),$=v([].concat);i.exports=m("Reflect","ownKeys")||function ownKeys(i){var s=_.f(M(i)),u=j.f;return u?$(s,u(i)):s}},54058:i=>{i.exports={}},9056:(i,s,u)=>{var m=u(65988).f;i.exports=function(i,s,u){u in i||m(i,u,{configurable:!0,get:function(){return s[u]},set:function(i){s[u]=i}})}},48219:(i,s,u)=>{var m=u(82119),v=TypeError;i.exports=function(i){if(m(i))throw v("Can't call method on "+i);return i}},90904:(i,s,u)=>{var m=u(22885),v=u(65988).f,_=u(32029),j=u(90953),M=u(95623),$=u(99813)("toStringTag");i.exports=function(i,s,u,W){if(i){var X=u?i:i.prototype;j(X,$)||v(X,$,{configurable:!0,value:s}),W&&!m&&_(X,"toString",M)}}},44262:(i,s,u)=>{var m=u(68726),v=u(99418),_=m("keys");i.exports=function(i){return _[i]||(_[i]=v(i))}},63030:(i,s,u)=>{var m=u(21899),v=u(75609),_="__core-js_shared__",j=m[_]||v(_,{});i.exports=j},68726:(i,s,u)=>{var m=u(82529),v=u(63030);(i.exports=function(i,s){return v[i]||(v[i]=void 0!==s?s:{})})("versions",[]).push({version:"3.31.1",mode:m?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE",source:"https://github.com/zloirock/core-js"})},64620:(i,s,u)=>{var m=u(95329),v=u(62435),_=u(85803),j=u(48219),M=m("".charAt),$=m("".charCodeAt),W=m("".slice),createMethod=function(i){return function(s,u){var m,X,Y=_(j(s)),Z=v(u),ee=Y.length;return Z<0||Z>=ee?i?"":void 0:(m=$(Y,Z))<55296||m>56319||Z+1===ee||(X=$(Y,Z+1))<56320||X>57343?i?M(Y,Z):m:i?W(Y,Z,Z+2):X-56320+(m-55296<<10)+65536}};i.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},63405:(i,s,u)=>{var m=u(53385),v=u(95981),_=u(21899).String;i.exports=!!Object.getOwnPropertySymbols&&!v((function(){var i=Symbol();return!_(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&m&&m<41}))},59413:(i,s,u)=>{var m=u(62435),v=Math.max,_=Math.min;i.exports=function(i,s){var u=m(i);return u<0?v(u+s,0):_(u,s)}},74529:(i,s,u)=>{var m=u(37026),v=u(48219);i.exports=function(i){return m(v(i))}},62435:(i,s,u)=>{var m=u(35331);i.exports=function(i){var s=+i;return s!=s||0===s?0:m(s)}},43057:(i,s,u)=>{var m=u(62435),v=Math.min;i.exports=function(i){return i>0?v(m(i),9007199254740991):0}},89678:(i,s,u)=>{var m=u(48219),v=Object;i.exports=function(i){return v(m(i))}},46935:(i,s,u)=>{var m=u(78834),v=u(10941),_=u(56664),j=u(14229),M=u(39811),$=u(99813),W=TypeError,X=$("toPrimitive");i.exports=function(i,s){if(!v(i)||_(i))return i;var u,$=j(i,X);if($){if(void 0===s&&(s="default"),u=m($,i,s),!v(u)||_(u))return u;throw W("Can't convert object to primitive value")}return void 0===s&&(s="number"),M(i,s)}},83894:(i,s,u)=>{var m=u(46935),v=u(56664);i.exports=function(i){var s=m(i,"string");return v(s)?s:s+""}},22885:(i,s,u)=>{var m={};m[u(99813)("toStringTag")]="z",i.exports="[object z]"===String(m)},85803:(i,s,u)=>{var m=u(9697),v=String;i.exports=function(i){if("Symbol"===m(i))throw TypeError("Cannot convert a Symbol value to a string");return v(i)}},69826:i=>{var s=String;i.exports=function(i){try{return s(i)}catch(i){return"Object"}}},99418:(i,s,u)=>{var m=u(95329),v=0,_=Math.random(),j=m(1..toString);i.exports=function(i){return"Symbol("+(void 0===i?"":i)+")_"+j(++v+_,36)}},32302:(i,s,u)=>{var m=u(63405);i.exports=m&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},83937:(i,s,u)=>{var m=u(55746),v=u(95981);i.exports=m&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},47093:(i,s,u)=>{var m=u(21899),v=u(57475),_=m.WeakMap;i.exports=v(_)&&/native code/.test(String(_))},99813:(i,s,u)=>{var m=u(21899),v=u(68726),_=u(90953),j=u(99418),M=u(63405),$=u(32302),W=m.Symbol,X=v("wks"),Y=$?W.for||W:W&&W.withoutSetter||j;i.exports=function(i){return _(X,i)||(X[i]=M&&_(W,i)?W[i]:Y("Symbol."+i)),X[i]}},62864:(i,s,u)=>{"use strict";var m=u(626),v=u(90953),_=u(32029),j=u(7046),M=u(88929),$=u(23489),W=u(9056),X=u(70926),Y=u(14649),Z=u(53794),ee=u(79585),ie=u(55746),ae=u(82529);i.exports=function(i,s,u,le){var ce="stackTraceLimit",pe=le?2:1,de=i.split("."),fe=de[de.length-1],ye=m.apply(null,de);if(ye){var be=ye.prototype;if(!ae&&v(be,"cause")&&delete be.cause,!u)return ye;var _e=m("Error"),we=s((function(i,s){var u=Y(le?s:i,void 0),m=le?new ye(i):new ye;return void 0!==u&&_(m,"message",u),ee(m,we,m.stack,2),this&&j(be,this)&&X(m,this,we),arguments.length>pe&&Z(m,arguments[pe]),m}));if(we.prototype=be,"Error"!==fe?M?M(we,_e):$(we,_e,{name:!0}):ie&&ce in ye&&(W(we,ye,ce),W(we,ye,"prepareStackTrace")),$(we,ye),!ae)try{be.name!==fe&&_(be,"name",fe),be.constructor=we}catch(i){}return we}}},24415:(i,s,u)=>{var m=u(76887),v=u(626),_=u(79730),j=u(95981),M=u(62864),$="AggregateError",W=v($),X=!j((function(){return 1!==W([1]).errors[0]}))&&j((function(){return 7!==W([1],$,{cause:7}).cause}));m({global:!0,constructor:!0,arity:2,forced:X},{AggregateError:M($,(function(i){return function AggregateError(s,u){return _(i,this,arguments)}}),X,!0)})},49812:(i,s,u)=>{"use strict";var m=u(76887),v=u(7046),_=u(249),j=u(88929),M=u(23489),$=u(29290),W=u(32029),X=u(31887),Y=u(53794),Z=u(79585),ee=u(93091),ie=u(14649),ae=u(99813)("toStringTag"),le=Error,ce=[].push,pe=function AggregateError(i,s){var u,m=v(de,this);j?u=j(le(),m?_(this):de):(u=m?this:$(de),W(u,ae,"Error")),void 0!==s&&W(u,"message",ie(s)),Z(u,pe,u.stack,1),arguments.length>2&&Y(u,arguments[2]);var M=[];return ee(i,ce,{that:M}),W(u,"errors",M),u};j?j(pe,le):M(pe,le,{name:!0});var de=pe.prototype=$(le.prototype,{constructor:X(1,pe),message:X(1,""),name:X(1,"AggregateError")});m({global:!0,constructor:!0,arity:2},{AggregateError:pe})},47627:(i,s,u)=>{u(49812)},66274:(i,s,u)=>{"use strict";var m=u(74529),v=u(18479),_=u(12077),j=u(45402),M=u(65988).f,$=u(75105),W=u(23538),X=u(82529),Y=u(55746),Z="Array Iterator",ee=j.set,ie=j.getterFor(Z);i.exports=$(Array,"Array",(function(i,s){ee(this,{type:Z,target:m(i),index:0,kind:s})}),(function(){var i=ie(this),s=i.target,u=i.kind,m=i.index++;return!s||m>=s.length?(i.target=void 0,W(void 0,!0)):W("keys"==u?m:"values"==u?s[m]:[m,s[m]],!1)}),"values");var ae=_.Arguments=_.Array;if(v("keys"),v("values"),v("entries"),!X&&Y&&"values"!==ae.name)try{M(ae,"name",{value:"values"})}catch(i){}},61181:(i,s,u)=>{var m=u(76887),v=u(21899),_=u(79730),j=u(62864),M="WebAssembly",$=v[M],W=7!==Error("e",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(i,s){var u={};u[i]=j(i,s,W),m({global:!0,constructor:!0,arity:1,forced:W},u)},exportWebAssemblyErrorCauseWrapper=function(i,s){if($&&$[i]){var u={};u[i]=j(M+"."+i,s,W),m({target:M,stat:!0,constructor:!0,arity:1,forced:W},u)}};exportGlobalErrorCauseWrapper("Error",(function(i){return function Error(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("EvalError",(function(i){return function EvalError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("RangeError",(function(i){return function RangeError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("ReferenceError",(function(i){return function ReferenceError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("SyntaxError",(function(i){return function SyntaxError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("TypeError",(function(i){return function TypeError(s){return _(i,this,arguments)}})),exportGlobalErrorCauseWrapper("URIError",(function(i){return function URIError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("CompileError",(function(i){return function CompileError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("LinkError",(function(i){return function LinkError(s){return _(i,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("RuntimeError",(function(i){return function RuntimeError(s){return _(i,this,arguments)}}))},73381:(i,s,u)=>{var m=u(76887),v=u(98308);m({target:"Function",proto:!0,forced:Function.bind!==v},{bind:v})},49221:(i,s,u)=>{var m=u(76887),v=u(24420);m({target:"Object",stat:!0,arity:2,forced:Object.assign!==v},{assign:v})},77971:(i,s,u)=>{"use strict";var m=u(64620).charAt,v=u(85803),_=u(45402),j=u(75105),M=u(23538),$="String Iterator",W=_.set,X=_.getterFor($);j(String,"String",(function(i){W(this,{type:$,string:v(i),index:0})}),(function next(){var i,s=X(this),u=s.string,v=s.index;return v>=u.length?M(void 0,!0):(i=m(u,v),s.index+=i.length,M(i,!1))}))},89731:(i,s,u)=>{u(47627)},7634:(i,s,u)=>{u(66274);var m=u(63281),v=u(21899),_=u(9697),j=u(32029),M=u(12077),$=u(99813)("toStringTag");for(var W in m){var X=v[W],Y=X&&X.prototype;Y&&_(Y)!==$&&j(Y,$,W),M[W]=M.Array}},18957:(i,s,u)=>{u(89731);var m=u(50415);u(7634),i.exports=m},28196:(i,s,u)=>{var m=u(16246);i.exports=m},63383:(i,s,u)=>{var m=u(45999);i.exports=m},8269:function(i,s,u){var m;m=void 0!==u.g?u.g:this,i.exports=function(i){if(i.CSS&&i.CSS.escape)return i.CSS.escape;var cssEscape=function(i){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var s,u=String(i),m=u.length,v=-1,_="",j=u.charCodeAt(0);++v=1&&s<=31||127==s||0==v&&s>=48&&s<=57||1==v&&s>=48&&s<=57&&45==j?"\\"+s.toString(16)+" ":0==v&&1==m&&45==s||!(s>=128||45==s||95==s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122)?"\\"+u.charAt(v):u.charAt(v):_+="�";return _};return i.CSS||(i.CSS={}),i.CSS.escape=cssEscape,cssEscape}(m)},27698:(i,s,u)=>{"use strict";var m=u(48764).Buffer;function isSpecificValue(i){return i instanceof m||i instanceof Date||i instanceof RegExp}function cloneSpecificValue(i){if(i instanceof m){var s=m.alloc?m.alloc(i.length):new m(i.length);return i.copy(s),s}if(i instanceof Date)return new Date(i.getTime());if(i instanceof RegExp)return new RegExp(i);throw new Error("Unexpected situation")}function deepCloneArray(i){var s=[];return i.forEach((function(i,u){"object"==typeof i&&null!==i?Array.isArray(i)?s[u]=deepCloneArray(i):isSpecificValue(i)?s[u]=cloneSpecificValue(i):s[u]=v({},i):s[u]=i})),s}function safeGetProperty(i,s){return"__proto__"===s?void 0:i[s]}var v=i.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var i,s,u=arguments[0];return Array.prototype.slice.call(arguments,1).forEach((function(m){"object"!=typeof m||null===m||Array.isArray(m)||Object.keys(m).forEach((function(_){return s=safeGetProperty(u,_),(i=safeGetProperty(m,_))===u?void 0:"object"!=typeof i||null===i?void(u[_]=i):Array.isArray(i)?void(u[_]=deepCloneArray(i)):isSpecificValue(i)?void(u[_]=cloneSpecificValue(i)):"object"!=typeof s||null===s||Array.isArray(s)?void(u[_]=v({},i)):void(u[_]=v(s,i))}))})),u}},9996:i=>{"use strict";var s=function isMergeableObject(i){return function isNonNullObject(i){return!!i&&"object"==typeof i}(i)&&!function isSpecial(i){var s=Object.prototype.toString.call(i);return"[object RegExp]"===s||"[object Date]"===s||function isReactElement(i){return i.$$typeof===u}(i)}(i)};var u="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function cloneUnlessOtherwiseSpecified(i,s){return!1!==s.clone&&s.isMergeableObject(i)?deepmerge(function emptyTarget(i){return Array.isArray(i)?[]:{}}(i),i,s):i}function defaultArrayMerge(i,s,u){return i.concat(s).map((function(i){return cloneUnlessOtherwiseSpecified(i,u)}))}function getKeys(i){return Object.keys(i).concat(function getEnumerableOwnPropertySymbols(i){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(i).filter((function(s){return Object.propertyIsEnumerable.call(i,s)})):[]}(i))}function propertyIsOnObject(i,s){try{return s in i}catch(i){return!1}}function mergeObject(i,s,u){var m={};return u.isMergeableObject(i)&&getKeys(i).forEach((function(s){m[s]=cloneUnlessOtherwiseSpecified(i[s],u)})),getKeys(s).forEach((function(v){(function propertyIsUnsafe(i,s){return propertyIsOnObject(i,s)&&!(Object.hasOwnProperty.call(i,s)&&Object.propertyIsEnumerable.call(i,s))})(i,v)||(propertyIsOnObject(i,v)&&u.isMergeableObject(s[v])?m[v]=function getMergeFunction(i,s){if(!s.customMerge)return deepmerge;var u=s.customMerge(i);return"function"==typeof u?u:deepmerge}(v,u)(i[v],s[v],u):m[v]=cloneUnlessOtherwiseSpecified(s[v],u))})),m}function deepmerge(i,u,m){(m=m||{}).arrayMerge=m.arrayMerge||defaultArrayMerge,m.isMergeableObject=m.isMergeableObject||s,m.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var v=Array.isArray(u);return v===Array.isArray(i)?v?m.arrayMerge(i,u,m):mergeObject(i,u,m):cloneUnlessOtherwiseSpecified(u,m)}deepmerge.all=function deepmergeAll(i,s){if(!Array.isArray(i))throw new Error("first argument should be an array");return i.reduce((function(i,u){return deepmerge(i,u,s)}),{})};var m=deepmerge;i.exports=m},27856:function(i){i.exports=function(){"use strict";const{entries:i,setPrototypeOf:s,isFrozen:u,getPrototypeOf:m,getOwnPropertyDescriptor:v}=Object;let{freeze:_,seal:j,create:M}=Object,{apply:$,construct:W}="undefined"!=typeof Reflect&&Reflect;_||(_=function freeze(i){return i}),j||(j=function seal(i){return i}),$||($=function apply(i,s,u){return i.apply(s,u)}),W||(W=function construct(i,s){return new i(...s)});const X=unapply(Array.prototype.forEach),Y=unapply(Array.prototype.pop),Z=unapply(Array.prototype.push),ee=unapply(String.prototype.toLowerCase),ie=unapply(String.prototype.toString),ae=unapply(String.prototype.match),le=unapply(String.prototype.replace),ce=unapply(String.prototype.indexOf),pe=unapply(String.prototype.trim),de=unapply(RegExp.prototype.test),fe=unconstruct(TypeError);function unapply(i){return function(s){for(var u=arguments.length,m=new Array(u>1?u-1:0),v=1;v2&&void 0!==arguments[2]?arguments[2]:ee;s&&s(i,null);let _=m.length;for(;_--;){let s=m[_];if("string"==typeof s){const i=v(s);i!==s&&(u(m)||(m[_]=i),s=i)}i[s]=!0}return i}function clone(s){const u=M(null);for(const[m,_]of i(s))void 0!==v(s,m)&&(u[m]=_);return u}function lookupGetter(i,s){for(;null!==i;){const u=v(i,s);if(u){if(u.get)return unapply(u.get);if("function"==typeof u.value)return unapply(u.value)}i=m(i)}function fallbackValue(i){return console.warn("fallback value for",i),null}return fallbackValue}const ye=_(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),be=_(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),_e=_(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),we=_(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Se=_(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),xe=_(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ie=_(["#text"]),Pe=_(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),Te=_(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Re=_(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),qe=_(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ze=j(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ve=j(/<%[\w\W]*|[\w\W]*%>/gm),We=j(/\${[\w\W]*}/gm),He=j(/^data-[\-\w.\u00B7-\uFFFF]/),Xe=j(/^aria-[\-\w]+$/),Ye=j(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Qe=j(/^(?:\w+script|data):/i),et=j(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),tt=j(/^html$/i);var rt=Object.freeze({__proto__:null,MUSTACHE_EXPR:ze,ERB_EXPR:Ve,TMPLIT_EXPR:We,DATA_ATTR:He,ARIA_ATTR:Xe,IS_ALLOWED_URI:Ye,IS_SCRIPT_OR_DATA:Qe,ATTR_WHITESPACE:et,DOCTYPE_NAME:tt});const nt=function getGlobal(){return"undefined"==typeof window?null:window},ot=function _createTrustedTypesPolicy(i,s){if("object"!=typeof i||"function"!=typeof i.createPolicy)return null;let u=null;const m="data-tt-policy-suffix";s&&s.hasAttribute(m)&&(u=s.getAttribute(m));const v="dompurify"+(u?"#"+u:"");try{return i.createPolicy(v,{createHTML:i=>i,createScriptURL:i=>i})}catch(i){return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function createDOMPurify(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nt();const DOMPurify=i=>createDOMPurify(i);if(DOMPurify.version="3.0.6",DOMPurify.removed=[],!s||!s.document||9!==s.document.nodeType)return DOMPurify.isSupported=!1,DOMPurify;let{document:u}=s;const m=u,v=m.currentScript,{DocumentFragment:j,HTMLTemplateElement:$,Node:W,Element:ze,NodeFilter:Ve,NamedNodeMap:We=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:He,DOMParser:Xe,trustedTypes:Qe}=s,et=ze.prototype,it=lookupGetter(et,"cloneNode"),at=lookupGetter(et,"nextSibling"),st=lookupGetter(et,"childNodes"),lt=lookupGetter(et,"parentNode");if("function"==typeof $){const i=u.createElement("template");i.content&&i.content.ownerDocument&&(u=i.content.ownerDocument)}let ct,ut="";const{implementation:pt,createNodeIterator:ht,createDocumentFragment:dt,getElementsByTagName:mt}=u,{importNode:gt}=m;let yt={};DOMPurify.isSupported="function"==typeof i&&"function"==typeof lt&&pt&&void 0!==pt.createHTMLDocument;const{MUSTACHE_EXPR:vt,ERB_EXPR:bt,TMPLIT_EXPR:_t,DATA_ATTR:wt,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:St,ATTR_WHITESPACE:xt}=rt;let{IS_ALLOWED_URI:kt}=rt,Ot=null;const At=addToSet({},[...ye,...be,..._e,...Se,...Ie]);let Ct=null;const jt=addToSet({},[...Pe,...Te,...Re,...qe]);let It=Object.seal(M(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Pt=null,Nt=null,Tt=!0,Mt=!0,Rt=!1,Dt=!0,Bt=!1,Lt=!1,Ft=!1,qt=!1,$t=!1,Ut=!1,zt=!1,Vt=!0,Wt=!1;const Kt="user-content-";let Ht=!0,Jt=!1,Gt={},Xt=null;const Yt=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Qt=null;const Zt=addToSet({},["audio","video","img","source","image","track"]);let er=null;const tr=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),rr="http://www.w3.org/1998/Math/MathML",nr="http://www.w3.org/2000/svg",ir="http://www.w3.org/1999/xhtml";let ar=ir,sr=!1,lr=null;const cr=addToSet({},[rr,nr,ir],ie);let ur=null;const pr=["application/xhtml+xml","text/html"],dr="text/html";let fr=null,mr=null;const gr=u.createElement("form"),yr=function isRegexOrFunction(i){return i instanceof RegExp||i instanceof Function},vr=function _parseConfig(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!mr||mr!==i){if(i&&"object"==typeof i||(i={}),i=clone(i),ur=ur=-1===pr.indexOf(i.PARSER_MEDIA_TYPE)?dr:i.PARSER_MEDIA_TYPE,fr="application/xhtml+xml"===ur?ie:ee,Ot="ALLOWED_TAGS"in i?addToSet({},i.ALLOWED_TAGS,fr):At,Ct="ALLOWED_ATTR"in i?addToSet({},i.ALLOWED_ATTR,fr):jt,lr="ALLOWED_NAMESPACES"in i?addToSet({},i.ALLOWED_NAMESPACES,ie):cr,er="ADD_URI_SAFE_ATTR"in i?addToSet(clone(tr),i.ADD_URI_SAFE_ATTR,fr):tr,Qt="ADD_DATA_URI_TAGS"in i?addToSet(clone(Zt),i.ADD_DATA_URI_TAGS,fr):Zt,Xt="FORBID_CONTENTS"in i?addToSet({},i.FORBID_CONTENTS,fr):Yt,Pt="FORBID_TAGS"in i?addToSet({},i.FORBID_TAGS,fr):{},Nt="FORBID_ATTR"in i?addToSet({},i.FORBID_ATTR,fr):{},Gt="USE_PROFILES"in i&&i.USE_PROFILES,Tt=!1!==i.ALLOW_ARIA_ATTR,Mt=!1!==i.ALLOW_DATA_ATTR,Rt=i.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=!1!==i.ALLOW_SELF_CLOSE_IN_ATTR,Bt=i.SAFE_FOR_TEMPLATES||!1,Lt=i.WHOLE_DOCUMENT||!1,$t=i.RETURN_DOM||!1,Ut=i.RETURN_DOM_FRAGMENT||!1,zt=i.RETURN_TRUSTED_TYPE||!1,qt=i.FORCE_BODY||!1,Vt=!1!==i.SANITIZE_DOM,Wt=i.SANITIZE_NAMED_PROPS||!1,Ht=!1!==i.KEEP_CONTENT,Jt=i.IN_PLACE||!1,kt=i.ALLOWED_URI_REGEXP||Ye,ar=i.NAMESPACE||ir,It=i.CUSTOM_ELEMENT_HANDLING||{},i.CUSTOM_ELEMENT_HANDLING&&yr(i.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(It.tagNameCheck=i.CUSTOM_ELEMENT_HANDLING.tagNameCheck),i.CUSTOM_ELEMENT_HANDLING&&yr(i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(It.attributeNameCheck=i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),i.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(It.allowCustomizedBuiltInElements=i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Bt&&(Mt=!1),Ut&&($t=!0),Gt&&(Ot=addToSet({},[...Ie]),Ct=[],!0===Gt.html&&(addToSet(Ot,ye),addToSet(Ct,Pe)),!0===Gt.svg&&(addToSet(Ot,be),addToSet(Ct,Te),addToSet(Ct,qe)),!0===Gt.svgFilters&&(addToSet(Ot,_e),addToSet(Ct,Te),addToSet(Ct,qe)),!0===Gt.mathMl&&(addToSet(Ot,Se),addToSet(Ct,Re),addToSet(Ct,qe))),i.ADD_TAGS&&(Ot===At&&(Ot=clone(Ot)),addToSet(Ot,i.ADD_TAGS,fr)),i.ADD_ATTR&&(Ct===jt&&(Ct=clone(Ct)),addToSet(Ct,i.ADD_ATTR,fr)),i.ADD_URI_SAFE_ATTR&&addToSet(er,i.ADD_URI_SAFE_ATTR,fr),i.FORBID_CONTENTS&&(Xt===Yt&&(Xt=clone(Xt)),addToSet(Xt,i.FORBID_CONTENTS,fr)),Ht&&(Ot["#text"]=!0),Lt&&addToSet(Ot,["html","head","body"]),Ot.table&&(addToSet(Ot,["tbody"]),delete Pt.tbody),i.TRUSTED_TYPES_POLICY){if("function"!=typeof i.TRUSTED_TYPES_POLICY.createHTML)throw fe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof i.TRUSTED_TYPES_POLICY.createScriptURL)throw fe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ct=i.TRUSTED_TYPES_POLICY,ut=ct.createHTML("")}else void 0===ct&&(ct=ot(Qe,v)),null!==ct&&"string"==typeof ut&&(ut=ct.createHTML(""));_&&_(i),mr=i}},br=addToSet({},["mi","mo","mn","ms","mtext"]),_r=addToSet({},["foreignobject","desc","title","annotation-xml"]),wr=addToSet({},["title","style","font","a","script"]),Er=addToSet({},be);addToSet(Er,_e),addToSet(Er,we);const Sr=addToSet({},Se);addToSet(Sr,xe);const xr=function _checkValidNamespace(i){let s=lt(i);s&&s.tagName||(s={namespaceURI:ar,tagName:"template"});const u=ee(i.tagName),m=ee(s.tagName);return!!lr[i.namespaceURI]&&(i.namespaceURI===nr?s.namespaceURI===ir?"svg"===u:s.namespaceURI===rr?"svg"===u&&("annotation-xml"===m||br[m]):Boolean(Er[u]):i.namespaceURI===rr?s.namespaceURI===ir?"math"===u:s.namespaceURI===nr?"math"===u&&_r[m]:Boolean(Sr[u]):i.namespaceURI===ir?!(s.namespaceURI===nr&&!_r[m])&&!(s.namespaceURI===rr&&!br[m])&&!Sr[u]&&(wr[u]||!Er[u]):!("application/xhtml+xml"!==ur||!lr[i.namespaceURI]))},kr=function _forceRemove(i){Z(DOMPurify.removed,{element:i});try{i.parentNode.removeChild(i)}catch(s){i.remove()}},Or=function _removeAttribute(i,s){try{Z(DOMPurify.removed,{attribute:s.getAttributeNode(i),from:s})}catch(i){Z(DOMPurify.removed,{attribute:null,from:s})}if(s.removeAttribute(i),"is"===i&&!Ct[i])if($t||Ut)try{kr(s)}catch(i){}else try{s.setAttribute(i,"")}catch(i){}},Ar=function _initDocument(i){let s=null,m=null;if(qt)i=""+i;else{const s=ae(i,/^[\r\n\t ]+/);m=s&&s[0]}"application/xhtml+xml"===ur&&ar===ir&&(i=''+i+"");const v=ct?ct.createHTML(i):i;if(ar===ir)try{s=(new Xe).parseFromString(v,ur)}catch(i){}if(!s||!s.documentElement){s=pt.createDocument(ar,"template",null);try{s.documentElement.innerHTML=sr?ut:v}catch(i){}}const _=s.body||s.documentElement;return i&&m&&_.insertBefore(u.createTextNode(m),_.childNodes[0]||null),ar===ir?mt.call(s,Lt?"html":"body")[0]:Lt?s.documentElement:_},Cr=function _createNodeIterator(i){return ht.call(i.ownerDocument||i,i,Ve.SHOW_ELEMENT|Ve.SHOW_COMMENT|Ve.SHOW_TEXT,null)},jr=function _isClobbered(i){return i instanceof He&&("string"!=typeof i.nodeName||"string"!=typeof i.textContent||"function"!=typeof i.removeChild||!(i.attributes instanceof We)||"function"!=typeof i.removeAttribute||"function"!=typeof i.setAttribute||"string"!=typeof i.namespaceURI||"function"!=typeof i.insertBefore||"function"!=typeof i.hasChildNodes)},Ir=function _isNode(i){return"function"==typeof W&&i instanceof W},Pr=function _executeHook(i,s,u){yt[i]&&X(yt[i],(i=>{i.call(DOMPurify,s,u,mr)}))},Nr=function _sanitizeElements(i){let s=null;if(Pr("beforeSanitizeElements",i,null),jr(i))return kr(i),!0;const u=fr(i.nodeName);if(Pr("uponSanitizeElement",i,{tagName:u,allowedTags:Ot}),i.hasChildNodes()&&!Ir(i.firstElementChild)&&de(/<[/\w]/g,i.innerHTML)&&de(/<[/\w]/g,i.textContent))return kr(i),!0;if(!Ot[u]||Pt[u]){if(!Pt[u]&&Mr(u)){if(It.tagNameCheck instanceof RegExp&&de(It.tagNameCheck,u))return!1;if(It.tagNameCheck instanceof Function&&It.tagNameCheck(u))return!1}if(Ht&&!Xt[u]){const s=lt(i)||i.parentNode,u=st(i)||i.childNodes;if(u&&s)for(let m=u.length-1;m>=0;--m)s.insertBefore(it(u[m],!0),at(i))}return kr(i),!0}return i instanceof ze&&!xr(i)?(kr(i),!0):"noscript"!==u&&"noembed"!==u&&"noframes"!==u||!de(/<\/no(script|embed|frames)/i,i.innerHTML)?(Bt&&3===i.nodeType&&(s=i.textContent,X([vt,bt,_t],(i=>{s=le(s,i," ")})),i.textContent!==s&&(Z(DOMPurify.removed,{element:i.cloneNode()}),i.textContent=s)),Pr("afterSanitizeElements",i,null),!1):(kr(i),!0)},Tr=function _isValidAttribute(i,s,m){if(Vt&&("id"===s||"name"===s)&&(m in u||m in gr))return!1;if(Mt&&!Nt[s]&&de(wt,s));else if(Tt&&de(Et,s));else if(!Ct[s]||Nt[s]){if(!(Mr(i)&&(It.tagNameCheck instanceof RegExp&&de(It.tagNameCheck,i)||It.tagNameCheck instanceof Function&&It.tagNameCheck(i))&&(It.attributeNameCheck instanceof RegExp&&de(It.attributeNameCheck,s)||It.attributeNameCheck instanceof Function&&It.attributeNameCheck(s))||"is"===s&&It.allowCustomizedBuiltInElements&&(It.tagNameCheck instanceof RegExp&&de(It.tagNameCheck,m)||It.tagNameCheck instanceof Function&&It.tagNameCheck(m))))return!1}else if(er[s]);else if(de(kt,le(m,xt,"")));else if("src"!==s&&"xlink:href"!==s&&"href"!==s||"script"===i||0!==ce(m,"data:")||!Qt[i])if(Rt&&!de(St,le(m,xt,"")));else if(m)return!1;return!0},Mr=function _isBasicCustomElement(i){return i.indexOf("-")>0},Rr=function _sanitizeAttributes(i){Pr("beforeSanitizeAttributes",i,null);const{attributes:s}=i;if(!s)return;const u={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ct};let m=s.length;for(;m--;){const v=s[m],{name:_,namespaceURI:j,value:M}=v,$=fr(_);let W="value"===_?M:pe(M);if(u.attrName=$,u.attrValue=W,u.keepAttr=!0,u.forceKeepAttr=void 0,Pr("uponSanitizeAttribute",i,u),W=u.attrValue,u.forceKeepAttr)continue;if(Or(_,i),!u.keepAttr)continue;if(!Dt&&de(/\/>/i,W)){Or(_,i);continue}Bt&&X([vt,bt,_t],(i=>{W=le(W,i," ")}));const Z=fr(i.nodeName);if(Tr(Z,$,W)){if(!Wt||"id"!==$&&"name"!==$||(Or(_,i),W=Kt+W),ct&&"object"==typeof Qe&&"function"==typeof Qe.getAttributeType)if(j);else switch(Qe.getAttributeType(Z,$)){case"TrustedHTML":W=ct.createHTML(W);break;case"TrustedScriptURL":W=ct.createScriptURL(W)}try{j?i.setAttributeNS(j,_,W):i.setAttribute(_,W),Y(DOMPurify.removed)}catch(i){}}}Pr("afterSanitizeAttributes",i,null)},Dr=function _sanitizeShadowDOM(i){let s=null;const u=Cr(i);for(Pr("beforeSanitizeShadowDOM",i,null);s=u.nextNode();)Pr("uponSanitizeShadowNode",s,null),Nr(s)||(s.content instanceof j&&_sanitizeShadowDOM(s.content),Rr(s));Pr("afterSanitizeShadowDOM",i,null)};return DOMPurify.sanitize=function(i){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=null,v=null,_=null,M=null;if(sr=!i,sr&&(i="\x3c!--\x3e"),"string"!=typeof i&&!Ir(i)){if("function"!=typeof i.toString)throw fe("toString is not a function");if("string"!=typeof(i=i.toString()))throw fe("dirty is not a string, aborting")}if(!DOMPurify.isSupported)return i;if(Ft||vr(s),DOMPurify.removed=[],"string"==typeof i&&(Jt=!1),Jt){if(i.nodeName){const s=fr(i.nodeName);if(!Ot[s]||Pt[s])throw fe("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof W)u=Ar("\x3c!----\x3e"),v=u.ownerDocument.importNode(i,!0),1===v.nodeType&&"BODY"===v.nodeName||"HTML"===v.nodeName?u=v:u.appendChild(v);else{if(!$t&&!Bt&&!Lt&&-1===i.indexOf("<"))return ct&&zt?ct.createHTML(i):i;if(u=Ar(i),!u)return $t?null:zt?ut:""}u&&qt&&kr(u.firstChild);const $=Cr(Jt?i:u);for(;_=$.nextNode();)Nr(_)||(_.content instanceof j&&Dr(_.content),Rr(_));if(Jt)return i;if($t){if(Ut)for(M=dt.call(u.ownerDocument);u.firstChild;)M.appendChild(u.firstChild);else M=u;return(Ct.shadowroot||Ct.shadowrootmode)&&(M=gt.call(m,M,!0)),M}let Y=Lt?u.outerHTML:u.innerHTML;return Lt&&Ot["!doctype"]&&u.ownerDocument&&u.ownerDocument.doctype&&u.ownerDocument.doctype.name&&de(tt,u.ownerDocument.doctype.name)&&(Y="\n"+Y),Bt&&X([vt,bt,_t],(i=>{Y=le(Y,i," ")})),ct&&zt?ct.createHTML(Y):Y},DOMPurify.setConfig=function(){vr(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ft=!0},DOMPurify.clearConfig=function(){mr=null,Ft=!1},DOMPurify.isValidAttribute=function(i,s,u){mr||vr({});const m=fr(i),v=fr(s);return Tr(m,v,u)},DOMPurify.addHook=function(i,s){"function"==typeof s&&(yt[i]=yt[i]||[],Z(yt[i],s))},DOMPurify.removeHook=function(i){if(yt[i])return Y(yt[i])},DOMPurify.removeHooks=function(i){yt[i]&&(yt[i]=[])},DOMPurify.removeAllHooks=function(){yt={}},DOMPurify}return createDOMPurify()}()},69450:i=>{"use strict";class SubRange{constructor(i,s){this.low=i,this.high=s,this.length=1+s-i}overlaps(i){return!(this.highi.high)}touches(i){return!(this.high+1i.high)}add(i){return new SubRange(Math.min(this.low,i.low),Math.max(this.high,i.high))}subtract(i){return i.low<=this.low&&i.high>=this.high?[]:i.low>this.low&&i.highi+s.length),0)}add(i,s){var _add=i=>{for(var s=0;s{for(var s=0;s{for(var s=0;s{for(var u=s.low;u<=s.high;)i.push(u),u++;return i}),[])}subranges(){return this.ranges.map((i=>({low:i.low,high:i.high,length:1+i.high-i.low})))}}i.exports=DRange},17187:i=>{"use strict";var s,u="object"==typeof Reflect?Reflect:null,m=u&&"function"==typeof u.apply?u.apply:function ReflectApply(i,s,u){return Function.prototype.apply.call(i,s,u)};s=u&&"function"==typeof u.ownKeys?u.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(i){return Object.getOwnPropertyNames(i).concat(Object.getOwnPropertySymbols(i))}:function ReflectOwnKeys(i){return Object.getOwnPropertyNames(i)};var v=Number.isNaN||function NumberIsNaN(i){return i!=i};function EventEmitter(){EventEmitter.init.call(this)}i.exports=EventEmitter,i.exports.once=function once(i,s){return new Promise((function(u,m){function errorListener(u){i.removeListener(s,resolver),m(u)}function resolver(){"function"==typeof i.removeListener&&i.removeListener("error",errorListener),u([].slice.call(arguments))}eventTargetAgnosticAddListener(i,s,resolver,{once:!0}),"error"!==s&&function addErrorHandlerIfEventEmitter(i,s,u){"function"==typeof i.on&&eventTargetAgnosticAddListener(i,"error",s,u)}(i,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var _=10;function checkListener(i){if("function"!=typeof i)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof i)}function _getMaxListeners(i){return void 0===i._maxListeners?EventEmitter.defaultMaxListeners:i._maxListeners}function _addListener(i,s,u,m){var v,_,j;if(checkListener(u),void 0===(_=i._events)?(_=i._events=Object.create(null),i._eventsCount=0):(void 0!==_.newListener&&(i.emit("newListener",s,u.listener?u.listener:u),_=i._events),j=_[s]),void 0===j)j=_[s]=u,++i._eventsCount;else if("function"==typeof j?j=_[s]=m?[u,j]:[j,u]:m?j.unshift(u):j.push(u),(v=_getMaxListeners(i))>0&&j.length>v&&!j.warned){j.warned=!0;var M=new Error("Possible EventEmitter memory leak detected. "+j.length+" "+String(s)+" listeners added. Use emitter.setMaxListeners() to increase limit");M.name="MaxListenersExceededWarning",M.emitter=i,M.type=s,M.count=j.length,function ProcessEmitWarning(i){console&&console.warn&&console.warn(i)}(M)}return i}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(i,s,u){var m={fired:!1,wrapFn:void 0,target:i,type:s,listener:u},v=onceWrapper.bind(m);return v.listener=u,m.wrapFn=v,v}function _listeners(i,s,u){var m=i._events;if(void 0===m)return[];var v=m[s];return void 0===v?[]:"function"==typeof v?u?[v.listener||v]:[v]:u?function unwrapListeners(i){for(var s=new Array(i.length),u=0;u0&&(j=s[0]),j instanceof Error)throw j;var M=new Error("Unhandled error."+(j?" ("+j.message+")":""));throw M.context=j,M}var $=_[i];if(void 0===$)return!1;if("function"==typeof $)m($,this,s);else{var W=$.length,X=arrayClone($,W);for(u=0;u=0;_--)if(u[_]===s||u[_].listener===s){j=u[_].listener,v=_;break}if(v<0)return this;0===v?u.shift():function spliceOne(i,s){for(;s+1=0;m--)this.removeListener(i,s[m]);return this},EventEmitter.prototype.listeners=function listeners(i){return _listeners(this,i,!0)},EventEmitter.prototype.rawListeners=function rawListeners(i){return _listeners(this,i,!1)},EventEmitter.listenerCount=function(i,s){return"function"==typeof i.listenerCount?i.listenerCount(s):listenerCount.call(i,s)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?s(this._events):[]}},21102:(i,s,u)=>{"use strict";var m=u(46291),v=create(Error);function create(i){return FormattedError.displayName=i.displayName||i.name,FormattedError;function FormattedError(s){return s&&(s=m.apply(null,arguments)),new i(s)}}i.exports=v,v.eval=create(EvalError),v.range=create(RangeError),v.reference=create(ReferenceError),v.syntax=create(SyntaxError),v.type=create(TypeError),v.uri=create(URIError),v.create=create},46291:i=>{!function(){var s;function format(i){for(var s,u,m,v,_=1,j=[].slice.call(arguments),M=0,$=i.length,W="",X=!1,Y=!1,nextArg=function(){return j[_++]},slurpNumber=function(){for(var u="";/\d/.test(i[M]);)u+=i[M++],s=i[M];return u.length>0?parseInt(u):null};M<$;++M)if(s=i[M],X)switch(X=!1,"."==s?(Y=!1,s=i[++M]):"0"==s&&"."==i[M+1]?(Y=!0,s=i[M+=2]):Y=!0,v=slurpNumber(),s){case"b":W+=parseInt(nextArg(),10).toString(2);break;case"c":W+="string"==typeof(u=nextArg())||u instanceof String?u:String.fromCharCode(parseInt(u,10));break;case"d":W+=parseInt(nextArg(),10);break;case"f":m=String(parseFloat(nextArg()).toFixed(v||6)),W+=Y?m:m.replace(/^0/,"");break;case"j":W+=JSON.stringify(nextArg());break;case"o":W+="0"+parseInt(nextArg(),10).toString(8);break;case"s":W+=nextArg();break;case"x":W+="0x"+parseInt(nextArg(),10).toString(16);break;case"X":W+="0x"+parseInt(nextArg(),10).toString(16).toUpperCase();break;default:W+=s}else"%"===s?X=!0:W+=s;return W}(s=i.exports=format).format=format,s.vsprintf=function vsprintf(i,s){return format.apply(null,[i].concat(s))},"undefined"!=typeof console&&"function"==typeof console.log&&(s.printf=function printf(){console.log(format.apply(null,arguments))})}()},17648:i=>{"use strict";var s=Object.prototype.toString,u=Math.max,m=function concatty(i,s){for(var u=[],m=0;m{"use strict";var m=u(17648);i.exports=Function.prototype.bind||m},40210:(i,s,u)=>{"use strict";var m,v=SyntaxError,_=Function,j=TypeError,getEvalledConstructor=function(i){try{return _('"use strict"; return ('+i+").constructor;")()}catch(i){}},M=Object.getOwnPropertyDescriptor;if(M)try{M({},"")}catch(i){M=null}var throwTypeError=function(){throw new j},$=M?function(){try{return throwTypeError}catch(i){try{return M(arguments,"callee").get}catch(i){return throwTypeError}}}():throwTypeError,W=u(41405)(),X=u(28185)(),Y=Object.getPrototypeOf||(X?function(i){return i.__proto__}:null),Z={},ee="undefined"!=typeof Uint8Array&&Y?Y(Uint8Array):m,ie={"%AggregateError%":"undefined"==typeof AggregateError?m:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?m:ArrayBuffer,"%ArrayIteratorPrototype%":W&&Y?Y([][Symbol.iterator]()):m,"%AsyncFromSyncIteratorPrototype%":m,"%AsyncFunction%":Z,"%AsyncGenerator%":Z,"%AsyncGeneratorFunction%":Z,"%AsyncIteratorPrototype%":Z,"%Atomics%":"undefined"==typeof Atomics?m:Atomics,"%BigInt%":"undefined"==typeof BigInt?m:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?m:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?m:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?m:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?m:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?m:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?m:FinalizationRegistry,"%Function%":_,"%GeneratorFunction%":Z,"%Int8Array%":"undefined"==typeof Int8Array?m:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?m:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?m:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":W&&Y?Y(Y([][Symbol.iterator]())):m,"%JSON%":"object"==typeof JSON?JSON:m,"%Map%":"undefined"==typeof Map?m:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&W&&Y?Y((new Map)[Symbol.iterator]()):m,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?m:Promise,"%Proxy%":"undefined"==typeof Proxy?m:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?m:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?m:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&W&&Y?Y((new Set)[Symbol.iterator]()):m,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?m:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":W&&Y?Y(""[Symbol.iterator]()):m,"%Symbol%":W?Symbol:m,"%SyntaxError%":v,"%ThrowTypeError%":$,"%TypedArray%":ee,"%TypeError%":j,"%Uint8Array%":"undefined"==typeof Uint8Array?m:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?m:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?m:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?m:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?m:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?m:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?m:WeakSet};if(Y)try{null.error}catch(i){var ae=Y(Y(i));ie["%Error.prototype%"]=ae}var le=function doEval(i){var s;if("%AsyncFunction%"===i)s=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===i)s=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===i)s=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===i){var u=doEval("%AsyncGeneratorFunction%");u&&(s=u.prototype)}else if("%AsyncIteratorPrototype%"===i){var m=doEval("%AsyncGenerator%");m&&Y&&(s=Y(m.prototype))}return ie[i]=s,s},ce={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},pe=u(58612),de=u(17642),fe=pe.call(Function.call,Array.prototype.concat),ye=pe.call(Function.apply,Array.prototype.splice),be=pe.call(Function.call,String.prototype.replace),_e=pe.call(Function.call,String.prototype.slice),we=pe.call(Function.call,RegExp.prototype.exec),Se=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,xe=/\\(\\)?/g,Ie=function getBaseIntrinsic(i,s){var u,m=i;if(de(ce,m)&&(m="%"+(u=ce[m])[0]+"%"),de(ie,m)){var _=ie[m];if(_===Z&&(_=le(m)),void 0===_&&!s)throw new j("intrinsic "+i+" exists, but is not available. Please file an issue!");return{alias:u,name:m,value:_}}throw new v("intrinsic "+i+" does not exist!")};i.exports=function GetIntrinsic(i,s){if("string"!=typeof i||0===i.length)throw new j("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof s)throw new j('"allowMissing" argument must be a boolean');if(null===we(/^%?[^%]*%?$/,i))throw new v("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var u=function stringToPath(i){var s=_e(i,0,1),u=_e(i,-1);if("%"===s&&"%"!==u)throw new v("invalid intrinsic syntax, expected closing `%`");if("%"===u&&"%"!==s)throw new v("invalid intrinsic syntax, expected opening `%`");var m=[];return be(i,Se,(function(i,s,u,v){m[m.length]=u?be(v,xe,"$1"):s||i})),m}(i),m=u.length>0?u[0]:"",_=Ie("%"+m+"%",s),$=_.name,W=_.value,X=!1,Y=_.alias;Y&&(m=Y[0],ye(u,fe([0,1],Y)));for(var Z=1,ee=!0;Z=u.length){var pe=M(W,ae);W=(ee=!!pe)&&"get"in pe&&!("originalValue"in pe.get)?pe.get:W[ae]}else ee=de(W,ae),W=W[ae];ee&&!X&&(ie[$]=W)}}return W}},28185:i=>{"use strict";var s={foo:{}},u=Object;i.exports=function hasProto(){return{__proto__:s}.foo===s.foo&&!({__proto__:null}instanceof u)}},41405:(i,s,u)=>{"use strict";var m="undefined"!=typeof Symbol&&Symbol,v=u(55419);i.exports=function hasNativeSymbols(){return"function"==typeof m&&("function"==typeof Symbol&&("symbol"==typeof m("foo")&&("symbol"==typeof Symbol("bar")&&v())))}},55419:i=>{"use strict";i.exports=function hasSymbols(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var i={},s=Symbol("test"),u=Object(s);if("string"==typeof s)return!1;if("[object Symbol]"!==Object.prototype.toString.call(s))return!1;if("[object Symbol]"!==Object.prototype.toString.call(u))return!1;for(s in i[s]=42,i)return!1;if("function"==typeof Object.keys&&0!==Object.keys(i).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(i).length)return!1;var m=Object.getOwnPropertySymbols(i);if(1!==m.length||m[0]!==s)return!1;if(!Object.prototype.propertyIsEnumerable.call(i,s))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var v=Object.getOwnPropertyDescriptor(i,s);if(42!==v.value||!0!==v.enumerable)return!1}return!0}},17642:(i,s,u)=>{"use strict";var m=u(58612);i.exports=m.call(Function.call,Object.prototype.hasOwnProperty)},47802:i=>{function deepFreeze(i){return i instanceof Map?i.clear=i.delete=i.set=function(){throw new Error("map is read-only")}:i instanceof Set&&(i.add=i.clear=i.delete=function(){throw new Error("set is read-only")}),Object.freeze(i),Object.getOwnPropertyNames(i).forEach((function(s){var u=i[s];"object"!=typeof u||Object.isFrozen(u)||deepFreeze(u)})),i}var s=deepFreeze,u=deepFreeze;s.default=u;class Response{constructor(i){void 0===i.data&&(i.data={}),this.data=i.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function escapeHTML(i){return i.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit(i,...s){const u=Object.create(null);for(const s in i)u[s]=i[s];return s.forEach((function(i){for(const s in i)u[s]=i[s]})),u}const emitsWrappingTags=i=>!!i.kind;class HTMLRenderer{constructor(i,s){this.buffer="",this.classPrefix=s.classPrefix,i.walk(this)}addText(i){this.buffer+=escapeHTML(i)}openNode(i){if(!emitsWrappingTags(i))return;let s=i.kind;i.sublanguage||(s=`${this.classPrefix}${s}`),this.span(s)}closeNode(i){emitsWrappingTags(i)&&(this.buffer+="")}value(){return this.buffer}span(i){this.buffer+=``}}class TokenTree{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(i){this.top.children.push(i)}openNode(i){const s={kind:i,children:[]};this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(i){return this.constructor._walk(i,this.rootNode)}static _walk(i,s){return"string"==typeof s?i.addText(s):s.children&&(i.openNode(s),s.children.forEach((s=>this._walk(i,s))),i.closeNode(s)),i}static _collapse(i){"string"!=typeof i&&i.children&&(i.children.every((i=>"string"==typeof i))?i.children=[i.children.join("")]:i.children.forEach((i=>{TokenTree._collapse(i)})))}}class TokenTreeEmitter extends TokenTree{constructor(i){super(),this.options=i}addKeyword(i,s){""!==i&&(this.openNode(s),this.addText(i),this.closeNode())}addText(i){""!==i&&this.add(i)}addSublanguage(i,s){const u=i.root;u.kind=s,u.sublanguage=!0,this.add(u)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return!0}}function source(i){return i?"string"==typeof i?i:i.source:null}const m=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const v="[a-zA-Z]\\w*",_="[a-zA-Z_]\\w*",j="\\b\\d+(\\.\\d+)?",M="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",$="\\b(0b[01]+)",W={begin:"\\\\[\\s\\S]",relevance:0},X={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[W]},Y={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[W]},Z={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT=function(i,s,u={}){const m=inherit({className:"comment",begin:i,end:s,contains:[]},u);return m.contains.push(Z),m.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),m},ee=COMMENT("//","$"),ie=COMMENT("/\\*","\\*/"),ae=COMMENT("#","$"),le={className:"number",begin:j,relevance:0},ce={className:"number",begin:M,relevance:0},pe={className:"number",begin:$,relevance:0},de={className:"number",begin:j+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},fe={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[W,{begin:/\[/,end:/\]/,relevance:0,contains:[W]}]}]},ye={className:"title",begin:v,relevance:0},be={className:"title",begin:_,relevance:0},_e={begin:"\\.\\s*"+_,relevance:0};var we=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:v,UNDERSCORE_IDENT_RE:_,NUMBER_RE:j,C_NUMBER_RE:M,BINARY_NUMBER_RE:$,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(i={})=>{const s=/^#![ ]*\//;return i.binary&&(i.begin=function concat(...i){return i.map((i=>source(i))).join("")}(s,/.*\b/,i.binary,/\b.*/)),inherit({className:"meta",begin:s,end:/$/,relevance:0,"on:begin":(i,s)=>{0!==i.index&&s.ignoreMatch()}},i)},BACKSLASH_ESCAPE:W,APOS_STRING_MODE:X,QUOTE_STRING_MODE:Y,PHRASAL_WORDS_MODE:Z,COMMENT,C_LINE_COMMENT_MODE:ee,C_BLOCK_COMMENT_MODE:ie,HASH_COMMENT_MODE:ae,NUMBER_MODE:le,C_NUMBER_MODE:ce,BINARY_NUMBER_MODE:pe,CSS_NUMBER_MODE:de,REGEXP_MODE:fe,TITLE_MODE:ye,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:_e,END_SAME_AS_BEGIN:function(i){return Object.assign(i,{"on:begin":(i,s)=>{s.data._beginMatch=i[1]},"on:end":(i,s)=>{s.data._beginMatch!==i[1]&&s.ignoreMatch()}})}});function skipIfhasPrecedingDot(i,s){"."===i.input[i.index-1]&&s.ignoreMatch()}function beginKeywords(i,s){s&&i.beginKeywords&&(i.begin="\\b("+i.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",i.__beforeBegin=skipIfhasPrecedingDot,i.keywords=i.keywords||i.beginKeywords,delete i.beginKeywords,void 0===i.relevance&&(i.relevance=0))}function compileIllegal(i,s){Array.isArray(i.illegal)&&(i.illegal=function either(...i){return"("+i.map((i=>source(i))).join("|")+")"}(...i.illegal))}function compileMatch(i,s){if(i.match){if(i.begin||i.end)throw new Error("begin & end are not supported with match");i.begin=i.match,delete i.match}}function compileRelevance(i,s){void 0===i.relevance&&(i.relevance=1)}const Se=["of","and","for","in","not","or","if","then","parent","list","value"],xe="keyword";function compileKeywords(i,s,u=xe){const m={};return"string"==typeof i?compileList(u,i.split(" ")):Array.isArray(i)?compileList(u,i):Object.keys(i).forEach((function(u){Object.assign(m,compileKeywords(i[u],s,u))})),m;function compileList(i,u){s&&(u=u.map((i=>i.toLowerCase()))),u.forEach((function(s){const u=s.split("|");m[u[0]]=[i,scoreForKeyword(u[0],u[1])]}))}}function scoreForKeyword(i,s){return s?Number(s):function commonKeyword(i){return Se.includes(i.toLowerCase())}(i)?0:1}function compileLanguage(i,{plugins:s}){function langRe(s,u){return new RegExp(source(s),"m"+(i.case_insensitive?"i":"")+(u?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(i,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,i]),this.matchAt+=function countMatchGroups(i){return new RegExp(i.toString()+"|").exec("").length-1}(i)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const i=this.regexes.map((i=>i[1]));this.matcherRe=langRe(function join(i,s="|"){let u=0;return i.map((i=>{u+=1;const s=u;let v=source(i),_="";for(;v.length>0;){const i=m.exec(v);if(!i){_+=v;break}_+=v.substring(0,i.index),v=v.substring(i.index+i[0].length),"\\"===i[0][0]&&i[1]?_+="\\"+String(Number(i[1])+s):(_+=i[0],"("===i[0]&&u++)}return _})).map((i=>`(${i})`)).join(s)}(i),!0),this.lastIndex=0}exec(i){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(i);if(!s)return null;const u=s.findIndex(((i,s)=>s>0&&void 0!==i)),m=this.matchIndexes[u];return s.splice(0,u),Object.assign(s,m)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(i){if(this.multiRegexes[i])return this.multiRegexes[i];const s=new MultiRegex;return this.rules.slice(i).forEach((([i,u])=>s.addRule(i,u))),s.compile(),this.multiRegexes[i]=s,s}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(i,s){this.rules.push([i,s]),"begin"===s.type&&this.count++}exec(i){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let u=s.exec(i);if(this.resumingScanAtSamePosition())if(u&&u.index===this.lastIndex);else{const s=this.getMatcher(0);s.lastIndex=this.lastIndex+1,u=s.exec(i)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}if(i.compilerExtensions||(i.compilerExtensions=[]),i.contains&&i.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return i.classNameAliases=inherit(i.classNameAliases||{}),function compileMode(s,u){const m=s;if(s.isCompiled)return m;[compileMatch].forEach((i=>i(s,u))),i.compilerExtensions.forEach((i=>i(s,u))),s.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach((i=>i(s,u))),s.isCompiled=!0;let v=null;if("object"==typeof s.keywords&&(v=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=compileKeywords(s.keywords,i.case_insensitive)),s.lexemes&&v)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return v=v||s.lexemes||/\w+/,m.keywordPatternRe=langRe(v,!0),u&&(s.begin||(s.begin=/\B|\b/),m.beginRe=langRe(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(m.endRe=langRe(s.end)),m.terminatorEnd=source(s.end)||"",s.endsWithParent&&u.terminatorEnd&&(m.terminatorEnd+=(s.end?"|":"")+u.terminatorEnd)),s.illegal&&(m.illegalRe=langRe(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(i){return function expandOrCloneMode(i){i.variants&&!i.cachedVariants&&(i.cachedVariants=i.variants.map((function(s){return inherit(i,{variants:null},s)})));if(i.cachedVariants)return i.cachedVariants;if(dependencyOnParent(i))return inherit(i,{starts:i.starts?inherit(i.starts):null});if(Object.isFrozen(i))return inherit(i);return i}("self"===i?s:i)}))),s.contains.forEach((function(i){compileMode(i,m)})),s.starts&&compileMode(s.starts,u),m.matcher=function buildModeRegex(i){const s=new ResumableMultiRegex;return i.contains.forEach((i=>s.addRule(i.begin,{rule:i,type:"begin"}))),i.terminatorEnd&&s.addRule(i.terminatorEnd,{type:"end"}),i.illegal&&s.addRule(i.illegal,{type:"illegal"}),s}(m),m}(i)}function dependencyOnParent(i){return!!i&&(i.endsWithParent||dependencyOnParent(i.starts))}function BuildVuePlugin(i){const s={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!i.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,escapeHTML(this.code);let s={};return this.autoDetect?(s=i.highlightAuto(this.code),this.detectedLanguage=s.language):(s=i.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),s.value},autoDetect(){return!this.language||function hasValueOrEmptyAttribute(i){return Boolean(i||""===i)}(this.autodetect)},ignoreIllegals:()=>!0},render(i){return i("pre",{},[i("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:s,VuePlugin:{install(i){i.component("highlightjs",s)}}}}const Ie={"after:highlightElement":({el:i,result:s,text:u})=>{const m=nodeStream(i);if(!m.length)return;const v=document.createElement("div");v.innerHTML=s.value,s.value=function mergeStreams(i,s,u){let m=0,v="";const _=[];function selectStream(){return i.length&&s.length?i[0].offset!==s[0].offset?i[0].offset"}function close(i){v+=""+tag(i)+">"}function render(i){("start"===i.event?open:close)(i.node)}for(;i.length||s.length;){let s=selectStream();if(v+=escapeHTML(u.substring(m,s[0].offset)),m=s[0].offset,s===i){_.reverse().forEach(close);do{render(s.splice(0,1)[0]),s=selectStream()}while(s===i&&s.length&&s[0].offset===m);_.reverse().forEach(open)}else"start"===s[0].event?_.push(s[0].node):_.pop(),render(s.splice(0,1)[0])}return v+escapeHTML(u.substr(m))}(m,nodeStream(v),u)}};function tag(i){return i.nodeName.toLowerCase()}function nodeStream(i){const s=[];return function _nodeStream(i,u){for(let m=i.firstChild;m;m=m.nextSibling)3===m.nodeType?u+=m.nodeValue.length:1===m.nodeType&&(s.push({event:"start",offset:u,node:m}),u=_nodeStream(m,u),tag(m).match(/br|hr|img|input/)||s.push({event:"stop",offset:u,node:m}));return u}(i,0),s}const Pe={},error=i=>{console.error(i)},warn=(i,...s)=>{console.log(`WARN: ${i}`,...s)},deprecated=(i,s)=>{Pe[`${i}/${s}`]||(console.log(`Deprecated as of ${i}. ${s}`),Pe[`${i}/${s}`]=!0)},Te=escapeHTML,Re=inherit,qe=Symbol("nomatch");var ze=function(i){const u=Object.create(null),m=Object.create(null),v=[];let _=!0;const j=/(^(<[^>]+>|\t|)+|\n)/gm,M="Could not find the language '{}', did you forget to load/include a language module?",$={disableAutodetect:!0,name:"Plain text",contains:[]};let W={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(i){return W.noHighlightRe.test(i)}function highlight(i,s,u,m){let v="",_="";"object"==typeof s?(v=i,u=s.ignoreIllegals,_=s.language,m=void 0):(deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),_=i,v=s);const j={code:v,language:_};fire("before:highlight",j);const M=j.result?j.result:_highlight(j.language,j.code,u,m);return M.code=j.code,fire("after:highlight",M),M}function _highlight(i,s,m,j){function keywordData(i,s){const u=X.case_insensitive?s[0].toLowerCase():s[0];return Object.prototype.hasOwnProperty.call(i.keywords,u)&&i.keywords[u]}function processBuffer(){null!=ee.subLanguage?function processSubLanguage(){if(""===le)return;let i=null;if("string"==typeof ee.subLanguage){if(!u[ee.subLanguage])return void ae.addText(le);i=_highlight(ee.subLanguage,le,!0,ie[ee.subLanguage]),ie[ee.subLanguage]=i.top}else i=highlightAuto(le,ee.subLanguage.length?ee.subLanguage:null);ee.relevance>0&&(ce+=i.relevance),ae.addSublanguage(i.emitter,i.language)}():function processKeywords(){if(!ee.keywords)return void ae.addText(le);let i=0;ee.keywordPatternRe.lastIndex=0;let s=ee.keywordPatternRe.exec(le),u="";for(;s;){u+=le.substring(i,s.index);const m=keywordData(ee,s);if(m){const[i,v]=m;if(ae.addText(u),u="",ce+=v,i.startsWith("_"))u+=s[0];else{const u=X.classNameAliases[i]||i;ae.addKeyword(s[0],u)}}else u+=s[0];i=ee.keywordPatternRe.lastIndex,s=ee.keywordPatternRe.exec(le)}u+=le.substr(i),ae.addText(u)}(),le=""}function startNewMode(i){return i.className&&ae.openNode(X.classNameAliases[i.className]||i.className),ee=Object.create(i,{parent:{value:ee}}),ee}function endOfMode(i,s,u){let m=function startsWith(i,s){const u=i&&i.exec(s);return u&&0===u.index}(i.endRe,u);if(m){if(i["on:end"]){const u=new Response(i);i["on:end"](s,u),u.isMatchIgnored&&(m=!1)}if(m){for(;i.endsParent&&i.parent;)i=i.parent;return i}}if(i.endsWithParent)return endOfMode(i.parent,s,u)}function doIgnore(i){return 0===ee.matcher.regexIndex?(le+=i[0],1):(fe=!0,0)}function doBeginMatch(i){const s=i[0],u=i.rule,m=new Response(u),v=[u.__beforeBegin,u["on:begin"]];for(const u of v)if(u&&(u(i,m),m.isMatchIgnored))return doIgnore(s);return u&&u.endSameAsBegin&&(u.endRe=function escape(i){return new RegExp(i.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}(s)),u.skip?le+=s:(u.excludeBegin&&(le+=s),processBuffer(),u.returnBegin||u.excludeBegin||(le=s)),startNewMode(u),u.returnBegin?0:s.length}function doEndMatch(i){const u=i[0],m=s.substr(i.index),v=endOfMode(ee,i,m);if(!v)return qe;const _=ee;_.skip?le+=u:(_.returnEnd||_.excludeEnd||(le+=u),processBuffer(),_.excludeEnd&&(le=u));do{ee.className&&ae.closeNode(),ee.skip||ee.subLanguage||(ce+=ee.relevance),ee=ee.parent}while(ee!==v.parent);return v.starts&&(v.endSameAsBegin&&(v.starts.endRe=v.endRe),startNewMode(v.starts)),_.returnEnd?0:u.length}let $={};function processLexeme(u,v){const j=v&&v[0];if(le+=u,null==j)return processBuffer(),0;if("begin"===$.type&&"end"===v.type&&$.index===v.index&&""===j){if(le+=s.slice(v.index,v.index+1),!_){const s=new Error("0 width match regex");throw s.languageName=i,s.badRule=$.rule,s}return 1}if($=v,"begin"===v.type)return doBeginMatch(v);if("illegal"===v.type&&!m){const i=new Error('Illegal lexeme "'+j+'" for mode "'+(ee.className||"")+'"');throw i.mode=ee,i}if("end"===v.type){const i=doEndMatch(v);if(i!==qe)return i}if("illegal"===v.type&&""===j)return 1;if(de>1e5&&de>3*v.index){throw new Error("potential infinite loop, way more iterations than matches")}return le+=j,j.length}const X=getLanguage(i);if(!X)throw error(M.replace("{}",i)),new Error('Unknown language: "'+i+'"');const Y=compileLanguage(X,{plugins:v});let Z="",ee=j||Y;const ie={},ae=new W.__emitter(W);!function processContinuations(){const i=[];for(let s=ee;s!==X;s=s.parent)s.className&&i.unshift(s.className);i.forEach((i=>ae.openNode(i)))}();let le="",ce=0,pe=0,de=0,fe=!1;try{for(ee.matcher.considerAll();;){de++,fe?fe=!1:ee.matcher.considerAll(),ee.matcher.lastIndex=pe;const i=ee.matcher.exec(s);if(!i)break;const u=processLexeme(s.substring(pe,i.index),i);pe=i.index+u}return processLexeme(s.substr(pe)),ae.closeAllNodes(),ae.finalize(),Z=ae.toHTML(),{relevance:Math.floor(ce),value:Z,language:i,illegal:!1,emitter:ae,top:ee}}catch(u){if(u.message&&u.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:u.message,context:s.slice(pe-100,pe+100),mode:u.mode},sofar:Z,relevance:0,value:Te(s),emitter:ae};if(_)return{illegal:!1,relevance:0,value:Te(s),emitter:ae,language:i,top:ee,errorRaised:u};throw u}}function highlightAuto(i,s){s=s||W.languages||Object.keys(u);const m=function justTextHighlightResult(i){const s={relevance:0,emitter:new W.__emitter(W),value:Te(i),illegal:!1,top:$};return s.emitter.addText(i),s}(i),v=s.filter(getLanguage).filter(autoDetection).map((s=>_highlight(s,i,!1)));v.unshift(m);const _=v.sort(((i,s)=>{if(i.relevance!==s.relevance)return s.relevance-i.relevance;if(i.language&&s.language){if(getLanguage(i.language).supersetOf===s.language)return 1;if(getLanguage(s.language).supersetOf===i.language)return-1}return 0})),[j,M]=_,X=j;return X.second_best=M,X}const X={"before:highlightElement":({el:i})=>{W.useBR&&(i.innerHTML=i.innerHTML.replace(/\n/g,"").replace(/
/g,"\n"))},"after:highlightElement":({result:i})=>{W.useBR&&(i.value=i.value.replace(/\n/g,"
"))}},Y=/^(<[^>]+>|\t)+/gm,Z={"after:highlightElement":({result:i})=>{W.tabReplace&&(i.value=i.value.replace(Y,(i=>i.replace(/\t/g,W.tabReplace))))}};function highlightElement(i){let s=null;const u=function blockLanguage(i){let s=i.className+" ";s+=i.parentNode?i.parentNode.className:"";const u=W.languageDetectRe.exec(s);if(u){const s=getLanguage(u[1]);return s||(warn(M.replace("{}",u[1])),warn("Falling back to no-highlight mode for this block.",i)),s?u[1]:"no-highlight"}return s.split(/\s+/).find((i=>shouldNotHighlight(i)||getLanguage(i)))}(i);if(shouldNotHighlight(u))return;fire("before:highlightElement",{el:i,language:u}),s=i;const v=s.textContent,_=u?highlight(v,{language:u,ignoreIllegals:!0}):highlightAuto(v);fire("after:highlightElement",{el:i,result:_,text:v}),i.innerHTML=_.value,function updateClassName(i,s,u){const v=s?m[s]:u;i.classList.add("hljs"),v&&i.classList.add(v)}(i,u,_.language),i.result={language:_.language,re:_.relevance,relavance:_.relevance},_.second_best&&(i.second_best={language:_.second_best.language,re:_.second_best.relevance,relavance:_.second_best.relevance})}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=!0,deprecated("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(highlightElement)};let ee=!1;function highlightAll(){if("loading"===document.readyState)return void(ee=!0);document.querySelectorAll("pre code").forEach(highlightElement)}function getLanguage(i){return i=(i||"").toLowerCase(),u[i]||u[m[i]]}function registerAliases(i,{languageName:s}){"string"==typeof i&&(i=[i]),i.forEach((i=>{m[i.toLowerCase()]=s}))}function autoDetection(i){const s=getLanguage(i);return s&&!s.disableAutodetect}function fire(i,s){const u=i;v.forEach((function(i){i[u]&&i[u](s)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function boot(){ee&&highlightAll()}),!1),Object.assign(i,{highlight,highlightAuto,highlightAll,fixMarkup:function deprecateFixMarkup(i){return deprecated("10.2.0","fixMarkup will be removed entirely in v11.0"),deprecated("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function fixMarkup(i){return W.tabReplace||W.useBR?i.replace(j,(i=>"\n"===i?W.useBR?"
":i:W.tabReplace?i.replace(/\t/g,W.tabReplace):i)):i}(i)},highlightElement,highlightBlock:function deprecateHighlightBlock(i){return deprecated("10.7.0","highlightBlock will be removed entirely in v12.0"),deprecated("10.7.0","Please use highlightElement now."),highlightElement(i)},configure:function configure(i){i.useBR&&(deprecated("10.3.0","'useBR' will be removed entirely in v11.0"),deprecated("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),W=Re(W,i)},initHighlighting,initHighlightingOnLoad:function initHighlightingOnLoad(){deprecated("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),ee=!0},registerLanguage:function registerLanguage(s,m){let v=null;try{v=m(i)}catch(i){if(error("Language definition for '{}' could not be registered.".replace("{}",s)),!_)throw i;error(i),v=$}v.name||(v.name=s),u[s]=v,v.rawDefinition=m.bind(null,i),v.aliases&®isterAliases(v.aliases,{languageName:s})},unregisterLanguage:function unregisterLanguage(i){delete u[i];for(const s of Object.keys(m))m[s]===i&&delete m[s]},listLanguages:function listLanguages(){return Object.keys(u)},getLanguage,registerAliases,requireLanguage:function requireLanguage(i){deprecated("10.4.0","requireLanguage will be removed entirely in v11."),deprecated("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const s=getLanguage(i);if(s)return s;throw new Error("The '{}' language is required, but not loaded.".replace("{}",i))},autoDetection,inherit:Re,addPlugin:function addPlugin(i){!function upgradePluginAPI(i){i["before:highlightBlock"]&&!i["before:highlightElement"]&&(i["before:highlightElement"]=s=>{i["before:highlightBlock"](Object.assign({block:s.el},s))}),i["after:highlightBlock"]&&!i["after:highlightElement"]&&(i["after:highlightElement"]=s=>{i["after:highlightBlock"](Object.assign({block:s.el},s))})}(i),v.push(i)},vuePlugin:BuildVuePlugin(i).VuePlugin}),i.debugMode=function(){_=!1},i.safeMode=function(){_=!0},i.versionString="10.7.3";for(const i in we)"object"==typeof we[i]&&s(we[i]);return Object.assign(i,we),i.addPlugin(X),i.addPlugin(Ie),i.addPlugin(Z),i}({});i.exports=ze},61519:i=>{function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function bash(i){const s={},u={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},u]});const m={className:"subst",begin:/\$\(/,end:/\)/,contains:[i.BACKSLASH_ESCAPE]},v={begin:/<<-?\s*(?=\w+)/,starts:{contains:[i.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},_={className:"string",begin:/"/,end:/"/,contains:[i.BACKSLASH_ESCAPE,s,m]};m.contains.push(_);const j={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},i.NUMBER_MODE,s]},M=i.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),$={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[i.inherit(i.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[M,i.SHEBANG(),$,j,i.HASH_COMMENT_MODE,v,_,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},30786:i=>{function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function http(i){const s="HTTP/(2|1\\.[01])",u={className:"attribute",begin:concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},m=[u,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:m}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:m}},i.inherit(u,{relevance:0})]}}},96344:i=>{const s="[A-Za-z$_][0-9A-Za-z$_]*",u=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],m=["true","false","null","undefined","NaN","Infinity"],v=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function lookahead(i){return concat("(?=",i,")")}function concat(...i){return i.map((i=>function source(i){return i?"string"==typeof i?i:i.source:null}(i))).join("")}i.exports=function javascript(i){const _=s,j="<>",M=">",$={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(i,s)=>{const u=i[0].length+i.index,m=i.input[u];"<"!==m?">"===m&&(((i,{after:s})=>{const u=""+i[0].slice(1);return-1!==i.input.indexOf(u,s)})(i,{after:u})||s.ignoreMatch()):s.ignoreMatch()}},W={$pattern:s,keyword:u,literal:m,built_in:v},X="[0-9](_?[0-9])*",Y=`\\.(${X})`,Z="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",ee={className:"number",variants:[{begin:`(\\b(${Z})((${Y})|\\.)?|(${Y}))[eE][+-]?(${X})\\b`},{begin:`\\b(${Z})\\b((${Y})\\b|\\.)?|(${Y})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},ie={className:"subst",begin:"\\$\\{",end:"\\}",keywords:W,contains:[]},ae={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[i.BACKSLASH_ESCAPE,ie],subLanguage:"xml"}},le={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[i.BACKSLASH_ESCAPE,ie],subLanguage:"css"}},ce={className:"string",begin:"`",end:"`",contains:[i.BACKSLASH_ESCAPE,ie]},pe={className:"comment",variants:[i.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:_+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),i.C_BLOCK_COMMENT_MODE,i.C_LINE_COMMENT_MODE]},de=[i.APOS_STRING_MODE,i.QUOTE_STRING_MODE,ae,le,ce,ee,i.REGEXP_MODE];ie.contains=de.concat({begin:/\{/,end:/\}/,keywords:W,contains:["self"].concat(de)});const fe=[].concat(pe,ie.contains),ye=fe.concat([{begin:/\(/,end:/\)/,keywords:W,contains:["self"].concat(fe)}]),be={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,contains:ye};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:W,exports:{PARAMS_CONTAINS:ye},illegal:/#(?![$_A-z])/,contains:[i.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},i.APOS_STRING_MODE,i.QUOTE_STRING_MODE,ae,le,ce,pe,ee,{begin:concat(/[{,\n]\s*/,lookahead(concat(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,_+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:_+lookahead("\\s*:"),relevance:0}]},{begin:"("+i.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[pe,i.REGEXP_MODE,{className:"function",begin:"(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+i.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,contains:ye}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:j,end:M},{begin:$.begin,"on:begin":$.isTrulyOpeningTag,end:$.end}],subLanguage:"xml",contains:[{begin:$.begin,end:$.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:W,contains:["self",i.inherit(i.TITLE_MODE,{begin:_}),be],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[be,i.inherit(i.TITLE_MODE,{begin:_})]},{variants:[{begin:"\\."+_},{begin:"\\$"+_}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:_}),"self",be]},{begin:"(get|set)\\s+(?="+_+"\\()",end:/\{/,keywords:"get set",contains:[i.inherit(i.TITLE_MODE,{begin:_}),{begin:/\(\)/},be]},{begin:/\$[(.]/}]}}},82026:i=>{i.exports=function json(i){const s={literal:"true false null"},u=[i.C_LINE_COMMENT_MODE,i.C_BLOCK_COMMENT_MODE],m=[i.QUOTE_STRING_MODE,i.C_NUMBER_MODE],v={end:",",endsWithParent:!0,excludeEnd:!0,contains:m,keywords:s},_={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[i.BACKSLASH_ESCAPE],illegal:"\\n"},i.inherit(v,{begin:/:/})].concat(u),illegal:"\\S"},j={begin:"\\[",end:"\\]",contains:[i.inherit(v)],illegal:"\\S"};return m.push(_,j),u.forEach((function(i){m.push(i)})),{name:"JSON",contains:m,keywords:s,illegal:"\\S"}}},66336:i=>{i.exports=function powershell(i){const s={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},u={begin:"`[\\s\\S]",relevance:0},m={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},v={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[u,m,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},_={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},j=i.inherit(i.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),M={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},$={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[i.TITLE_MODE]},W={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[m]}]},X={begin:/using\s/,end:/$/,returnBegin:!0,contains:[v,_,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},Y={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},Z={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(s.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},i.inherit(i.TITLE_MODE,{endsParent:!0})]},ee=[Z,j,u,i.NUMBER_MODE,v,_,M,m,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],ie={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",ee,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return Z.contains.unshift(ie),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:s,contains:ee.concat($,W,X,Y,ie)}}},42157:i=>{function source(i){return i?"string"==typeof i?i:i.source:null}function lookahead(i){return concat("(?=",i,")")}function concat(...i){return i.map((i=>source(i))).join("")}function either(...i){return"("+i.map((i=>source(i))).join("|")+")"}i.exports=function xml(i){const s=concat(/[A-Z_]/,function optional(i){return concat("(",i,")?")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),u={className:"symbol",begin:/&[a-z]+;|[0-9]+;|[a-f0-9]+;/},m={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},v=i.inherit(m,{begin:/\(/,end:/\)/}),_=i.inherit(i.APOS_STRING_MODE,{className:"meta-string"}),j=i.inherit(i.QUOTE_STRING_MODE,{className:"meta-string"}),M={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[u]},{begin:/'/,end:/'/,contains:[u]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[m,j,_,v,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[m,v,j,_]}]}]},i.COMMENT(//,{relevance:10}),{begin://,relevance:10},u,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/