--- /dev/null
+.tool-versions
+node_modules
+build
--- /dev/null
+[package]
+name = "tree-sitter-apinotation"
+description = "apinotation grammar for the tree-sitter parsing library"
+version = "0.0.1"
+keywords = ["incremental", "parsing", "apinotation"]
+categories = ["parsing", "text-editors"]
+repository = "https://github.com/tree-sitter/tree-sitter-apinotation"
+edition = "2018"
+license = "MIT"
+
+build = "bindings/rust/build.rs"
+include = [
+ "bindings/rust/*",
+ "grammar.js",
+ "queries/*",
+ "src/*",
+]
+
+[lib]
+path = "bindings/rust/lib.rs"
+
+[dependencies]
+tree-sitter = "~0.20.10"
+
+[build-dependencies]
+cc = "1.0"
--- /dev/null
+{
+ "targets": [
+ {
+ "target_name": "tree_sitter_apinotation_binding",
+ "include_dirs": [
+ "<!(node -e \"require('nan')\")",
+ "src"
+ ],
+ "sources": [
+ "bindings/node/binding.cc",
+ "src/parser.c",
+ # If your language uses an external scanner, add it here.
+ ],
+ "cflags_c": [
+ "-std=c99",
+ ]
+ }
+ ]
+}
--- /dev/null
+#include "tree_sitter/parser.h"
+#include <node.h>
+#include "nan.h"
+
+using namespace v8;
+
+extern "C" TSLanguage * tree_sitter_apinotation();
+
+namespace {
+
+NAN_METHOD(New) {}
+
+void Init(Local<Object> exports, Local<Object> module) {
+ Local<FunctionTemplate> tpl = Nan::New<FunctionTemplate>(New);
+ tpl->SetClassName(Nan::New("Language").ToLocalChecked());
+ tpl->InstanceTemplate()->SetInternalFieldCount(1);
+
+ Local<Function> constructor = Nan::GetFunction(tpl).ToLocalChecked();
+ Local<Object> instance = constructor->NewInstance(Nan::GetCurrentContext()).ToLocalChecked();
+ Nan::SetInternalFieldPointer(instance, 0, tree_sitter_apinotation());
+
+ Nan::Set(instance, Nan::New("name").ToLocalChecked(), Nan::New("apinotation").ToLocalChecked());
+ Nan::Set(module, Nan::New("exports").ToLocalChecked(), instance);
+}
+
+NODE_MODULE(tree_sitter_apinotation_binding, Init)
+
+} // namespace
--- /dev/null
+try {
+ module.exports = require("../../build/Release/tree_sitter_apinotation_binding");
+} catch (error1) {
+ if (error1.code !== 'MODULE_NOT_FOUND') {
+ throw error1;
+ }
+ try {
+ module.exports = require("../../build/Debug/tree_sitter_apinotation_binding");
+ } catch (error2) {
+ if (error2.code !== 'MODULE_NOT_FOUND') {
+ throw error2;
+ }
+ throw error1
+ }
+}
+
+try {
+ module.exports.nodeTypeInfo = require("../../src/node-types.json");
+} catch (_) {}
--- /dev/null
+fn main() {
+ let src_dir = std::path::Path::new("src");
+
+ let mut c_config = cc::Build::new();
+ c_config.include(&src_dir);
+ c_config
+ .flag_if_supported("-Wno-unused-parameter")
+ .flag_if_supported("-Wno-unused-but-set-variable")
+ .flag_if_supported("-Wno-trigraphs");
+ let parser_path = src_dir.join("parser.c");
+ c_config.file(&parser_path);
+
+ // If your language uses an external scanner written in C,
+ // then include this block of code:
+
+ /*
+ let scanner_path = src_dir.join("scanner.c");
+ c_config.file(&scanner_path);
+ println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap());
+ */
+
+ c_config.compile("parser");
+ println!("cargo:rerun-if-changed={}", parser_path.to_str().unwrap());
+
+ // If your language uses an external scanner written in C++,
+ // then include this block of code:
+
+ /*
+ let mut cpp_config = cc::Build::new();
+ cpp_config.cpp(true);
+ cpp_config.include(&src_dir);
+ cpp_config
+ .flag_if_supported("-Wno-unused-parameter")
+ .flag_if_supported("-Wno-unused-but-set-variable");
+ let scanner_path = src_dir.join("scanner.cc");
+ cpp_config.file(&scanner_path);
+ cpp_config.compile("scanner");
+ println!("cargo:rerun-if-changed={}", scanner_path.to_str().unwrap());
+ */
+}
--- /dev/null
+//! This crate provides apinotation language support for the [tree-sitter][] parsing library.
+//!
+//! Typically, you will use the [language][language func] function to add this language to a
+//! tree-sitter [Parser][], and then use the parser to parse some code:
+//!
+//! ```
+//! let code = "";
+//! let mut parser = tree_sitter::Parser::new();
+//! parser.set_language(tree_sitter_apinotation::language()).expect("Error loading apinotation grammar");
+//! let tree = parser.parse(code, None).unwrap();
+//! ```
+//!
+//! [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html
+//! [language func]: fn.language.html
+//! [Parser]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Parser.html
+//! [tree-sitter]: https://tree-sitter.github.io/
+
+use tree_sitter::Language;
+
+extern "C" {
+ fn tree_sitter_apinotation() -> Language;
+}
+
+/// Get the tree-sitter [Language][] for this grammar.
+///
+/// [Language]: https://docs.rs/tree-sitter/*/tree_sitter/struct.Language.html
+pub fn language() -> Language {
+ unsafe { tree_sitter_apinotation() }
+}
+
+/// The content of the [`node-types.json`][] file for this grammar.
+///
+/// [`node-types.json`]: https://tree-sitter.github.io/tree-sitter/using-parsers#static-node-types
+pub const NODE_TYPES: &'static str = include_str!("../../src/node-types.json");
+
+// Uncomment these to include any queries that this grammar contains
+
+// pub const HIGHLIGHTS_QUERY: &'static str = include_str!("../../queries/highlights.scm");
+// pub const INJECTIONS_QUERY: &'static str = include_str!("../../queries/injections.scm");
+// pub const LOCALS_QUERY: &'static str = include_str!("../../queries/locals.scm");
+// pub const TAGS_QUERY: &'static str = include_str!("../../queries/tags.scm");
+
+#[cfg(test)]
+mod tests {
+ #[test]
+ fn test_can_load_grammar() {
+ let mut parser = tree_sitter::Parser::new();
+ parser
+ .set_language(super::language())
+ .expect("Error loading apinotation language");
+ }
+}
--- /dev/null
+module.exports = grammar({
+ name: 'apinotation',
+
+ rules: {
+ source_file: $ => repeat(
+ seq(
+ choice(
+ $.definition,
+ $.comment
+ ),
+ repeat($._newline)
+ )
+ ),
+ definition: $ => prec.right(seq(
+ $.entry,
+ $._newline,
+ repeat(
+ choice(
+ $.member,
+ $.comment
+ )
+ )
+ )),
+ entry: $ => prec.right(seq(
+ $.identifier,
+ repeat(
+ seq(
+ token('.'),
+ $.identifier
+ )
+ )
+ )),
+ member: $ => seq(
+ $.member_type,
+ $._label,
+ optional($.type_annotation),
+ optional($.parameter_list),
+ optional($.return_statement),
+ optional($.throw_statement),
+ $._newline,
+ ),
+ member_type: $ => choice(
+ '::',
+ '->',
+ '<-',
+ '~>',
+ '<~',
+ '+>',
+ '<+',
+ '#',
+ '+',
+ '-'
+ ),
+ parameter_list: $ => seq(
+ '(',
+ optional($._identifier_list),
+ ')'
+ ),
+ return_statement: $ => seq(
+ '=>',
+ $.entry
+ ),
+ throw_statement: $ => seq(
+ '#>',
+ $._entry_list
+ ),
+ _entry_list: $ => prec.left(seq(
+ $.entry,
+ repeat(
+ seq(
+ ',',
+ $.entry
+ )
+ )
+ )),
+ _identifier_list: $ => seq(
+ $.identifier,
+ repeat(
+ seq(
+ ',',
+ $.identifier
+ )
+ )
+ ),
+ identifier: $ => prec.left(seq(
+ $._label,
+ optional($.type_annotation),
+ optional($.parameter_list),
+ optional($.return_statement),
+ optional($.throw_statement),
+ )),
+ type_annotation: $ => seq(
+ '<',
+ $._entry_list,
+ '>'
+ ),
+ comment: $ => seq(
+ '//',
+ /[^\n]*/,
+ $._newline,
+ ),
+ _label: $ => /[a-zA-Z0-9][a-zA-Z0-9_-]*/,
+ _newline: $ => token('\n')
+ }
+});
--- /dev/null
+{
+ "name": "tree-sitter-api-notation",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "tree-sitter-api-notation",
+ "version": "1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "nan": "^2.18.0"
+ },
+ "devDependencies": {
+ "tree-sitter-cli": "^0.20.8"
+ }
+ },
+ "node_modules/.pnpm/nan@2.18.0/node_modules/nan": {
+ "version": "2.18.0",
+ "license": "MIT",
+ "devDependencies": {
+ "bindings": "~1.2.1",
+ "commander": "^2.8.1",
+ "glob": "^5.0.14",
+ "node-gyp": "~8.4.1",
+ "readable-stream": "^2.1.4",
+ "request": "=2.81.0",
+ "tap": "~0.7.1",
+ "xtend": "~4.0.0"
+ }
+ },
+ "node_modules/.pnpm/tree-sitter-cli@0.20.8/node_modules/tree-sitter-cli": {
+ "version": "0.20.8",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "tree-sitter": "cli.js"
+ }
+ },
+ "node_modules/@gar/promisify": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "dev": true
+ },
+ "node_modules/@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "dev": true,
+ "dependencies": {
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "deprecated": "This functionality has been moved to @npmcli/fs",
+ "dev": true,
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/agentkeepalive": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
+ "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+ "dev": true,
+ "dependencies": {
+ "humanize-ms": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==",
+ "dev": true,
+ "dependencies": {
+ "co": "^4.6.0",
+ "json-stable-stringify": "^1.0.1"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ "dev": true
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+ "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+ "dev": true,
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/are-we-there-yet/node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "node_modules/assert-plus": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "node_modules/aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
+ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==",
+ "dev": true
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "dev": true,
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "node_modules/bindings": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
+ "integrity": "sha512-u4cBQNepWxYA55FunZSM7wMi55yQaN0otnhhilNoWHq0MfOfJeQx0v0mRRpolGOExPjZcl6FtB0BB8Xkb88F0g==",
+ "dev": true
+ },
+ "node_modules/boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==",
+ "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
+ "dev": true,
+ "dependencies": {
+ "hoek": "2.x.x"
+ },
+ "engines": {
+ "node": ">=0.10.40"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/buffer-equal": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.2.tgz",
+ "integrity": "sha512-4hr0gS7+NK47X6WbA/okVFrN5qGh3WLT7N3hMRv7+hlkXnbUIdU2u05n6r0RQv6cq6xke06nVl70r0NW0WM2OQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/bunker": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz",
+ "integrity": "sha512-YnahkcXBNT522S46k5LUA9P18lzvgkunbMl0qIJQ8oeRMQ+dAg3YI3k32q5TnO+AAUErFHO6R768To6jslgYmQ==",
+ "dev": true,
+ "dependencies": {
+ "burrito": ">=0.2.5 <0.3"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/burrito": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz",
+ "integrity": "sha512-ZhhT5iVTAgzQ+s8rily7m45Swxe/cU3dVCHTzqmHVWD/cc0Ds3W4Q4MExbkevY+fm0Me3lEwpehIy6TH7p+ehw==",
+ "dev": true,
+ "dependencies": {
+ "traverse": "~0.5.1",
+ "uglify-js": "~1.1.1"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/burrito/node_modules/traverse": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz",
+ "integrity": "sha512-PUBVcfB3RqgLpzgTRGNiqK4duqrDbgGa1bobbUtzUwLiBNAjZ7vd5eCOdBxqZ/Fgezagr9o69IxP2fZp41RGFA==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
+ "dependencies": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cacache/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
+ "dev": true
+ },
+ "node_modules/charm": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz",
+ "integrity": "sha512-syedaZ9cPe7r3hoQA9twWYKu5AIyCswN5+szkmPBe9ccdLrj4bYaCnLVPTLd2kgVRc7+zoX4tyPgRnFKCj5YjQ==",
+ "dev": true
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "dev": true,
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true,
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "dev": true
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true
+ },
+ "node_modules/cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==",
+ "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
+ "dev": true,
+ "dependencies": {
+ "boom": "2.x.x"
+ },
+ "engines": {
+ "node": ">=0.10.40"
+ }
+ },
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/dashdash/node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-equal": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
+ "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
+ "dev": true,
+ "dependencies": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz",
+ "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "dev": true
+ },
+ "node_modules/difflet": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz",
+ "integrity": "sha512-ruldDDRmY1t678UOAJBng6sL77f62SqjHj0498YC0EJhxIe2yKkqJn2qEchwG3eU/dqJ/RxPZkAnYjePS4pDCw==",
+ "dev": true,
+ "dependencies": {
+ "charm": "0.1.x",
+ "deep-is": "0.1.x",
+ "traverse": "0.6.x"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dev": true,
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/err-code": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "dev": true
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "dev": true,
+ "engines": [
+ "node >=0.6.0"
+ ]
+ },
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.5",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gauge": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ "dev": true,
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "node_modules/getpass/node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==",
+ "dev": true,
+ "dependencies": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
+ },
+ "node_modules/har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==",
+ "deprecated": "this library is no longer supported",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^4.9.1",
+ "har-schema": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
+ "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
+ "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "dev": true
+ },
+ "node_modules/hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==",
+ "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.",
+ "dev": true,
+ "dependencies": {
+ "boom": "2.x.x",
+ "cryptiles": "2.x.x",
+ "hoek": "2.x.x",
+ "sntp": "1.x.x"
+ },
+ "engines": {
+ "node": ">=0.10.32"
+ }
+ },
+ "node_modules/hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==",
+ "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.40"
+ }
+ },
+ "node_modules/http-cache-semantics": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+ "dev": true
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": "^0.2.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.0.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/infer-owner": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+ "dev": true
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+ "dev": true
+ },
+ "node_modules/is-arguments": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+ "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-lambda": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+ "dev": true
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+ "dev": true
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
+ "dev": true
+ },
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "dev": true
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz",
+ "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==",
+ "dev": true,
+ "dependencies": {
+ "jsonify": "^0.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+ "dev": true
+ },
+ "node_modules/jsonify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
+ "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/jsprim": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/jsprim/node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-fetch-happen": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
+ "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
+ "dev": true,
+ "dependencies": {
+ "agentkeepalive": "^4.1.3",
+ "cacache": "^15.2.0",
+ "http-cache-semantics": "^4.1.0",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.3",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^1.3.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.2",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^6.0.0",
+ "ssri": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-collect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-fetch": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
+ "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.1.0",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.12"
+ }
+ },
+ "node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-sized": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/nan": {
+ "resolved": "node_modules/.pnpm/nan@2.18.0/node_modules/nan",
+ "link": true
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/node-gyp": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
+ "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
+ "dev": true,
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^9.1.0",
+ "nopt": "^5.0.0",
+ "npmlog": "^6.0.0",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
+ "which": "^2.0.2"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": ">= 10.12.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "dev": true,
+ "dependencies": {
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/object-is": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
+ "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==",
+ "dev": true
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "node_modules/promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
+ "dev": true
+ },
+ "node_modules/promise-retry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+ "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+ "dev": true,
+ "dependencies": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
+ },
+ "node_modules/qs": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz",
+ "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
+ "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "set-function-name": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==",
+ "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+ "dev": true,
+ "dependencies": {
+ "aws-sign2": "~0.6.0",
+ "aws4": "^1.2.1",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.5",
+ "extend": "~3.0.0",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.1.1",
+ "har-validator": "~4.2.1",
+ "hawk": "~3.1.3",
+ "http-signature": "~1.1.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.7",
+ "oauth-sign": "~0.8.1",
+ "performance-now": "^0.2.0",
+ "qs": "~6.4.0",
+ "safe-buffer": "^5.0.1",
+ "stringstream": "~0.0.4",
+ "tough-cookie": "~2.3.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/runforcover": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz",
+ "integrity": "sha512-yarCIK2HcAOadqnKW419+FA38qpWDCKcOr5RZU+jnyLL/hn3No9BHZY+YJDEzvQ0k8Oyl7ffLjZv9ZUxvyKoLQ==",
+ "dev": true,
+ "dependencies": {
+ "bunker": "0.1.X"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ "dev": true
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
+ "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
+ "node_modules/slide": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+ "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==",
+ "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.",
+ "dev": true,
+ "dependencies": {
+ "hoek": "2.x.x"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "dev": true,
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks-proxy-agent": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
+ "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/sshpk": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "dev": true,
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sshpk/node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/ssri": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stringstream": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
+ "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
+ "dev": true
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tap": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/tap/-/tap-0.7.1.tgz",
+ "integrity": "sha512-Dh7fyYFJzj9VZP/Oa79kFWeq2KxPwjCNHNWc0mXJTqUq7PKLrhg7d/mR748Bty9TKHsbMxpFLHn1YJZVjxJaug==",
+ "dev": true,
+ "dependencies": {
+ "buffer-equal": "~0.0.0",
+ "deep-equal": "^1.0.0",
+ "difflet": "~0.2.0",
+ "glob": "^4.3.5",
+ "inherits": "*",
+ "mkdirp": "^0.5.0",
+ "nopt": "^3.0.1",
+ "runforcover": "~0.0.2",
+ "slide": "*",
+ "yamlish": "*"
+ },
+ "bin": {
+ "tap": "bin/tap.js"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/tap/node_modules/glob": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "integrity": "sha512-I0rTWUKSZKxPSIAIaqhSXTM/DiII6wame+rEC3cFA5Lqmr9YmdL7z6Hj9+bdWtTvoY1Su4/OiMLmb37Y7JzvJQ==",
+ "dev": true,
+ "dependencies": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^2.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tap/node_modules/minimatch": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "integrity": "sha512-jQo6o1qSVLEWaw3l+bwYA2X0uLuK2KjNh2wjgO7Q/9UJnXr1Q3yQKR8BI0/Bt/rPg75e6SMW4hW/6cBHVTZUjA==",
+ "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tap/node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/tap/node_modules/nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
+ "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
+ "dev": true,
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tar/node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^1.4.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/traverse": {
+ "version": "0.6.7",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
+ "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/tree-sitter-cli": {
+ "resolved": "node_modules/.pnpm/tree-sitter-cli@0.20.8/node_modules/tree-sitter-cli",
+ "link": true
+ },
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
+ "dev": true
+ },
+ "node_modules/uglify-js": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz",
+ "integrity": "sha512-YYY9Dle1leC+btgrHnAR05eq0aRdcPJsXlYYD+SYw2lqc5HFuFNHg3wWEW4SNE0iXXEUl0fz43gTQ3r1YK76rg==",
+ "dev": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "dev": true,
+ "dependencies": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "node_modules/unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
+ },
+ "node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "dev": true,
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "dev": true,
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "node_modules/verror/node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/verror/node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
+ "dev": true
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/yamlish": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/yamlish/-/yamlish-0.0.7.tgz",
+ "integrity": "sha512-MfSpIJj5Hmm0Yz788MEW1NWfdOhZR/O0WPrdiUeWBKTtCNm0jZwMJZhScqveQoE6CvUoXOQBs5/1I/nC6Sbj/w==",
+ "dev": true
+ }
+ }
+}
--- /dev/null
+{
+ "name": "tree-sitter-api-notation",
+ "version": "1.0.0",
+ "description": "API Notation grammar for tree-sitter",
+ "main": "bindings/node",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": ["parser", "api-notation"],
+ "author": "Ruben Beltran del Rio",
+ "license": "MIT",
+ "dependencies": {
+ "nan": "^2.18.0"
+ },
+ "devDependencies": {
+ "tree-sitter-cli": "^0.20.8"
+ },
+ "scripts": {
+ "build": "tree-sitter generate && node-gyp build",
+ "parse": "tree-sitter parse",
+ "test": "tree-sitter test"
+ },
+ "tree-sitter": [
+ {
+ "scope": "source.api-notation",
+ "file-types": [
+ "apinotation",
+ "api"
+ ],
+ "highlights": [
+ "queries/highlights.scm"
+ ],
+ "injection-regex": "^(apinotation|api-notation)$"
+ }
+ ]
+}
--- /dev/null
+(type_annotation) @type
+(member_type) @operator
+(member) @property
+(parameter_list) @function
+(parameter_list (identifier) @parameter)
+(identifier) @keyword
+(throw_statement) @operator
+(return_statement) @operator
--- /dev/null
+{
+ "name": "apinotation",
+ "rules": {
+ "source_file": {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "definition"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "comment"
+ }
+ ]
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SYMBOL",
+ "name": "_newline"
+ }
+ }
+ ]
+ }
+ },
+ "definition": {
+ "type": "PREC_RIGHT",
+ "value": 0,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "entry"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_newline"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "member"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "comment"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "entry": {
+ "type": "PREC_RIGHT",
+ "value": 0,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "TOKEN",
+ "content": {
+ "type": "STRING",
+ "value": "."
+ }
+ },
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "member": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "member_type"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_label"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "type_annotation"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "parameter_list"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "return_statement"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "throw_statement"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_newline"
+ }
+ ]
+ },
+ "member_type": {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "::"
+ },
+ {
+ "type": "STRING",
+ "value": "->"
+ },
+ {
+ "type": "STRING",
+ "value": "<-"
+ },
+ {
+ "type": "STRING",
+ "value": "~>"
+ },
+ {
+ "type": "STRING",
+ "value": "<~"
+ },
+ {
+ "type": "STRING",
+ "value": "+>"
+ },
+ {
+ "type": "STRING",
+ "value": "<+"
+ },
+ {
+ "type": "STRING",
+ "value": "#"
+ },
+ {
+ "type": "STRING",
+ "value": "+"
+ },
+ {
+ "type": "STRING",
+ "value": "-"
+ }
+ ]
+ },
+ "parameter_list": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "("
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_identifier_list"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "STRING",
+ "value": ")"
+ }
+ ]
+ },
+ "return_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "=>"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "entry"
+ }
+ ]
+ },
+ "throw_statement": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "#>"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_entry_list"
+ }
+ ]
+ },
+ "_entry_list": {
+ "type": "PREC_LEFT",
+ "value": 0,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "entry"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "entry"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "_identifier_list": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ },
+ {
+ "type": "REPEAT",
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": ","
+ },
+ {
+ "type": "SYMBOL",
+ "name": "identifier"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "identifier": {
+ "type": "PREC_LEFT",
+ "value": 0,
+ "content": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "_label"
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "type_annotation"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "parameter_list"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "return_statement"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ },
+ {
+ "type": "CHOICE",
+ "members": [
+ {
+ "type": "SYMBOL",
+ "name": "throw_statement"
+ },
+ {
+ "type": "BLANK"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "type_annotation": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "<"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_entry_list"
+ },
+ {
+ "type": "STRING",
+ "value": ">"
+ }
+ ]
+ },
+ "comment": {
+ "type": "SEQ",
+ "members": [
+ {
+ "type": "STRING",
+ "value": "//"
+ },
+ {
+ "type": "PATTERN",
+ "value": "[^\\n]*"
+ },
+ {
+ "type": "SYMBOL",
+ "name": "_newline"
+ }
+ ]
+ },
+ "_label": {
+ "type": "PATTERN",
+ "value": "[a-zA-Z0-9][a-zA-Z0-9_-]*"
+ },
+ "_newline": {
+ "type": "TOKEN",
+ "content": {
+ "type": "STRING",
+ "value": "\n"
+ }
+ }
+ },
+ "extras": [
+ {
+ "type": "PATTERN",
+ "value": "\\s"
+ }
+ ],
+ "conflicts": [],
+ "precedences": [],
+ "externals": [],
+ "inline": [],
+ "supertypes": []
+}
+
--- /dev/null
+[
+ {
+ "type": "comment",
+ "named": true,
+ "fields": {}
+ },
+ {
+ "type": "definition",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "comment",
+ "named": true
+ },
+ {
+ "type": "entry",
+ "named": true
+ },
+ {
+ "type": "member",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "entry",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "identifier",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "parameter_list",
+ "named": true
+ },
+ {
+ "type": "return_statement",
+ "named": true
+ },
+ {
+ "type": "throw_statement",
+ "named": true
+ },
+ {
+ "type": "type_annotation",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "member",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "member_type",
+ "named": true
+ },
+ {
+ "type": "parameter_list",
+ "named": true
+ },
+ {
+ "type": "return_statement",
+ "named": true
+ },
+ {
+ "type": "throw_statement",
+ "named": true
+ },
+ {
+ "type": "type_annotation",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "member_type",
+ "named": true,
+ "fields": {}
+ },
+ {
+ "type": "parameter_list",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "identifier",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "return_statement",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": false,
+ "required": true,
+ "types": [
+ {
+ "type": "entry",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "source_file",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": false,
+ "types": [
+ {
+ "type": "comment",
+ "named": true
+ },
+ {
+ "type": "definition",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "throw_statement",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "entry",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "type_annotation",
+ "named": true,
+ "fields": {},
+ "children": {
+ "multiple": true,
+ "required": true,
+ "types": [
+ {
+ "type": "entry",
+ "named": true
+ }
+ ]
+ }
+ },
+ {
+ "type": "#",
+ "named": false
+ },
+ {
+ "type": "#>",
+ "named": false
+ },
+ {
+ "type": "(",
+ "named": false
+ },
+ {
+ "type": ")",
+ "named": false
+ },
+ {
+ "type": "+",
+ "named": false
+ },
+ {
+ "type": "+>",
+ "named": false
+ },
+ {
+ "type": ",",
+ "named": false
+ },
+ {
+ "type": "-",
+ "named": false
+ },
+ {
+ "type": "->",
+ "named": false
+ },
+ {
+ "type": ".",
+ "named": false
+ },
+ {
+ "type": "//",
+ "named": false
+ },
+ {
+ "type": "::",
+ "named": false
+ },
+ {
+ "type": "<",
+ "named": false
+ },
+ {
+ "type": "<+",
+ "named": false
+ },
+ {
+ "type": "<-",
+ "named": false
+ },
+ {
+ "type": "<~",
+ "named": false
+ },
+ {
+ "type": "=>",
+ "named": false
+ },
+ {
+ "type": ">",
+ "named": false
+ },
+ {
+ "type": "~>",
+ "named": false
+ }
+]
\ No newline at end of file
--- /dev/null
+#include <tree_sitter/parser.h>
+
+#if defined(__GNUC__) || defined(__clang__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
+#endif
+
+#define LANGUAGE_VERSION 14
+#define STATE_COUNT 146
+#define LARGE_STATE_COUNT 2
+#define SYMBOL_COUNT 42
+#define ALIAS_COUNT 0
+#define TOKEN_COUNT 23
+#define EXTERNAL_TOKEN_COUNT 0
+#define FIELD_COUNT 0
+#define MAX_ALIAS_SEQUENCE_LENGTH 7
+#define PRODUCTION_ID_COUNT 1
+
+enum {
+ anon_sym_DOT = 1,
+ anon_sym_COLON_COLON = 2,
+ anon_sym_DASH_GT = 3,
+ anon_sym_LT_DASH = 4,
+ anon_sym_TILDE_GT = 5,
+ anon_sym_LT_TILDE = 6,
+ anon_sym_PLUS_GT = 7,
+ anon_sym_LT_PLUS = 8,
+ anon_sym_POUND = 9,
+ anon_sym_PLUS = 10,
+ anon_sym_DASH = 11,
+ anon_sym_LPAREN = 12,
+ anon_sym_RPAREN = 13,
+ anon_sym_EQ_GT = 14,
+ anon_sym_POUND_GT = 15,
+ anon_sym_COMMA = 16,
+ anon_sym_LT = 17,
+ anon_sym_GT = 18,
+ anon_sym_SLASH_SLASH = 19,
+ aux_sym_comment_token1 = 20,
+ sym__label = 21,
+ sym__newline = 22,
+ sym_source_file = 23,
+ sym_definition = 24,
+ sym_entry = 25,
+ sym_member = 26,
+ sym_member_type = 27,
+ sym_parameter_list = 28,
+ sym_return_statement = 29,
+ sym_throw_statement = 30,
+ sym__entry_list = 31,
+ sym__identifier_list = 32,
+ sym_identifier = 33,
+ sym_type_annotation = 34,
+ sym_comment = 35,
+ aux_sym_source_file_repeat1 = 36,
+ aux_sym_source_file_repeat2 = 37,
+ aux_sym_definition_repeat1 = 38,
+ aux_sym_entry_repeat1 = 39,
+ aux_sym__entry_list_repeat1 = 40,
+ aux_sym__identifier_list_repeat1 = 41,
+};
+
+static const char * const ts_symbol_names[] = {
+ [ts_builtin_sym_end] = "end",
+ [anon_sym_DOT] = ".",
+ [anon_sym_COLON_COLON] = "::",
+ [anon_sym_DASH_GT] = "->",
+ [anon_sym_LT_DASH] = "<-",
+ [anon_sym_TILDE_GT] = "~>",
+ [anon_sym_LT_TILDE] = "<~",
+ [anon_sym_PLUS_GT] = "+>",
+ [anon_sym_LT_PLUS] = "<+",
+ [anon_sym_POUND] = "#",
+ [anon_sym_PLUS] = "+",
+ [anon_sym_DASH] = "-",
+ [anon_sym_LPAREN] = "(",
+ [anon_sym_RPAREN] = ")",
+ [anon_sym_EQ_GT] = "=>",
+ [anon_sym_POUND_GT] = "#>",
+ [anon_sym_COMMA] = ",",
+ [anon_sym_LT] = "<",
+ [anon_sym_GT] = ">",
+ [anon_sym_SLASH_SLASH] = "//",
+ [aux_sym_comment_token1] = "comment_token1",
+ [sym__label] = "_label",
+ [sym__newline] = "_newline",
+ [sym_source_file] = "source_file",
+ [sym_definition] = "definition",
+ [sym_entry] = "entry",
+ [sym_member] = "member",
+ [sym_member_type] = "member_type",
+ [sym_parameter_list] = "parameter_list",
+ [sym_return_statement] = "return_statement",
+ [sym_throw_statement] = "throw_statement",
+ [sym__entry_list] = "_entry_list",
+ [sym__identifier_list] = "_identifier_list",
+ [sym_identifier] = "identifier",
+ [sym_type_annotation] = "type_annotation",
+ [sym_comment] = "comment",
+ [aux_sym_source_file_repeat1] = "source_file_repeat1",
+ [aux_sym_source_file_repeat2] = "source_file_repeat2",
+ [aux_sym_definition_repeat1] = "definition_repeat1",
+ [aux_sym_entry_repeat1] = "entry_repeat1",
+ [aux_sym__entry_list_repeat1] = "_entry_list_repeat1",
+ [aux_sym__identifier_list_repeat1] = "_identifier_list_repeat1",
+};
+
+static const TSSymbol ts_symbol_map[] = {
+ [ts_builtin_sym_end] = ts_builtin_sym_end,
+ [anon_sym_DOT] = anon_sym_DOT,
+ [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
+ [anon_sym_DASH_GT] = anon_sym_DASH_GT,
+ [anon_sym_LT_DASH] = anon_sym_LT_DASH,
+ [anon_sym_TILDE_GT] = anon_sym_TILDE_GT,
+ [anon_sym_LT_TILDE] = anon_sym_LT_TILDE,
+ [anon_sym_PLUS_GT] = anon_sym_PLUS_GT,
+ [anon_sym_LT_PLUS] = anon_sym_LT_PLUS,
+ [anon_sym_POUND] = anon_sym_POUND,
+ [anon_sym_PLUS] = anon_sym_PLUS,
+ [anon_sym_DASH] = anon_sym_DASH,
+ [anon_sym_LPAREN] = anon_sym_LPAREN,
+ [anon_sym_RPAREN] = anon_sym_RPAREN,
+ [anon_sym_EQ_GT] = anon_sym_EQ_GT,
+ [anon_sym_POUND_GT] = anon_sym_POUND_GT,
+ [anon_sym_COMMA] = anon_sym_COMMA,
+ [anon_sym_LT] = anon_sym_LT,
+ [anon_sym_GT] = anon_sym_GT,
+ [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH,
+ [aux_sym_comment_token1] = aux_sym_comment_token1,
+ [sym__label] = sym__label,
+ [sym__newline] = sym__newline,
+ [sym_source_file] = sym_source_file,
+ [sym_definition] = sym_definition,
+ [sym_entry] = sym_entry,
+ [sym_member] = sym_member,
+ [sym_member_type] = sym_member_type,
+ [sym_parameter_list] = sym_parameter_list,
+ [sym_return_statement] = sym_return_statement,
+ [sym_throw_statement] = sym_throw_statement,
+ [sym__entry_list] = sym__entry_list,
+ [sym__identifier_list] = sym__identifier_list,
+ [sym_identifier] = sym_identifier,
+ [sym_type_annotation] = sym_type_annotation,
+ [sym_comment] = sym_comment,
+ [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
+ [aux_sym_source_file_repeat2] = aux_sym_source_file_repeat2,
+ [aux_sym_definition_repeat1] = aux_sym_definition_repeat1,
+ [aux_sym_entry_repeat1] = aux_sym_entry_repeat1,
+ [aux_sym__entry_list_repeat1] = aux_sym__entry_list_repeat1,
+ [aux_sym__identifier_list_repeat1] = aux_sym__identifier_list_repeat1,
+};
+
+static const TSSymbolMetadata ts_symbol_metadata[] = {
+ [ts_builtin_sym_end] = {
+ .visible = false,
+ .named = true,
+ },
+ [anon_sym_DOT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_COLON_COLON] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_DASH_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LT_DASH] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_TILDE_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LT_TILDE] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_PLUS_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LT_PLUS] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_POUND] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_PLUS] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_DASH] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LPAREN] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_RPAREN] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_EQ_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_POUND_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_COMMA] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_LT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_GT] = {
+ .visible = true,
+ .named = false,
+ },
+ [anon_sym_SLASH_SLASH] = {
+ .visible = true,
+ .named = false,
+ },
+ [aux_sym_comment_token1] = {
+ .visible = false,
+ .named = false,
+ },
+ [sym__label] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym__newline] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym_source_file] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_definition] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_entry] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_member] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_member_type] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_parameter_list] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_return_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_throw_statement] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym__entry_list] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym__identifier_list] = {
+ .visible = false,
+ .named = true,
+ },
+ [sym_identifier] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_type_annotation] = {
+ .visible = true,
+ .named = true,
+ },
+ [sym_comment] = {
+ .visible = true,
+ .named = true,
+ },
+ [aux_sym_source_file_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym_source_file_repeat2] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym_definition_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym_entry_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__entry_list_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+ [aux_sym__identifier_list_repeat1] = {
+ .visible = false,
+ .named = false,
+ },
+};
+
+static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
+ [0] = {0},
+};
+
+static const uint16_t ts_non_terminal_alias_map[] = {
+ 0,
+};
+
+static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
+ [0] = 0,
+ [1] = 1,
+ [2] = 2,
+ [3] = 3,
+ [4] = 4,
+ [5] = 5,
+ [6] = 6,
+ [7] = 7,
+ [8] = 8,
+ [9] = 9,
+ [10] = 10,
+ [11] = 11,
+ [12] = 11,
+ [13] = 11,
+ [14] = 11,
+ [15] = 15,
+ [16] = 15,
+ [17] = 11,
+ [18] = 18,
+ [19] = 15,
+ [20] = 15,
+ [21] = 21,
+ [22] = 22,
+ [23] = 23,
+ [24] = 15,
+ [25] = 25,
+ [26] = 25,
+ [27] = 23,
+ [28] = 25,
+ [29] = 25,
+ [30] = 30,
+ [31] = 23,
+ [32] = 32,
+ [33] = 23,
+ [34] = 34,
+ [35] = 35,
+ [36] = 36,
+ [37] = 37,
+ [38] = 25,
+ [39] = 39,
+ [40] = 34,
+ [41] = 41,
+ [42] = 39,
+ [43] = 43,
+ [44] = 35,
+ [45] = 32,
+ [46] = 23,
+ [47] = 47,
+ [48] = 48,
+ [49] = 49,
+ [50] = 34,
+ [51] = 48,
+ [52] = 41,
+ [53] = 53,
+ [54] = 34,
+ [55] = 35,
+ [56] = 56,
+ [57] = 39,
+ [58] = 49,
+ [59] = 41,
+ [60] = 60,
+ [61] = 36,
+ [62] = 62,
+ [63] = 48,
+ [64] = 41,
+ [65] = 47,
+ [66] = 35,
+ [67] = 67,
+ [68] = 43,
+ [69] = 39,
+ [70] = 70,
+ [71] = 49,
+ [72] = 72,
+ [73] = 73,
+ [74] = 37,
+ [75] = 75,
+ [76] = 76,
+ [77] = 47,
+ [78] = 43,
+ [79] = 79,
+ [80] = 80,
+ [81] = 81,
+ [82] = 82,
+ [83] = 82,
+ [84] = 80,
+ [85] = 49,
+ [86] = 86,
+ [87] = 47,
+ [88] = 76,
+ [89] = 73,
+ [90] = 43,
+ [91] = 91,
+ [92] = 41,
+ [93] = 93,
+ [94] = 72,
+ [95] = 35,
+ [96] = 48,
+ [97] = 91,
+ [98] = 93,
+ [99] = 41,
+ [100] = 56,
+ [101] = 81,
+ [102] = 39,
+ [103] = 75,
+ [104] = 70,
+ [105] = 34,
+ [106] = 93,
+ [107] = 86,
+ [108] = 108,
+ [109] = 109,
+ [110] = 110,
+ [111] = 111,
+ [112] = 43,
+ [113] = 113,
+ [114] = 114,
+ [115] = 49,
+ [116] = 116,
+ [117] = 113,
+ [118] = 113,
+ [119] = 119,
+ [120] = 41,
+ [121] = 114,
+ [122] = 113,
+ [123] = 56,
+ [124] = 47,
+ [125] = 125,
+ [126] = 126,
+ [127] = 127,
+ [128] = 126,
+ [129] = 126,
+ [130] = 126,
+ [131] = 126,
+ [132] = 132,
+ [133] = 133,
+ [134] = 134,
+ [135] = 133,
+ [136] = 136,
+ [137] = 137,
+ [138] = 138,
+ [139] = 139,
+ [140] = 140,
+ [141] = 141,
+ [142] = 142,
+ [143] = 136,
+ [144] = 144,
+ [145] = 145,
+};
+
+static bool ts_lex(TSLexer *lexer, TSStateId state) {
+ START_LEXER();
+ eof = lexer->eof(lexer);
+ switch (state) {
+ case 0:
+ if (eof) ADVANCE(10);
+ if (lookahead == '#') ADVANCE(20);
+ if (lookahead == '(') ADVANCE(23);
+ if (lookahead == ')') ADVANCE(24);
+ if (lookahead == '+') ADVANCE(21);
+ if (lookahead == ',') ADVANCE(27);
+ if (lookahead == '-') ADVANCE(22);
+ if (lookahead == '.') ADVANCE(11);
+ if (lookahead == '/') ADVANCE(4);
+ if (lookahead == ':') ADVANCE(5);
+ if (lookahead == '<') ADVANCE(29);
+ if (lookahead == '=') ADVANCE(7);
+ if (lookahead == '>') ADVANCE(30);
+ if (lookahead == '~') ADVANCE(8);
+ if (lookahead == '\t' ||
+ lookahead == '\n' ||
+ lookahead == '\r' ||
+ lookahead == ' ') SKIP(0)
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'Z') ||
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(34);
+ END_STATE();
+ case 1:
+ if (lookahead == '\n') ADVANCE(35);
+ if (lookahead == '#') ADVANCE(6);
+ if (lookahead == '(') ADVANCE(23);
+ if (lookahead == ',') ADVANCE(27);
+ if (lookahead == '.') ADVANCE(11);
+ if (lookahead == '<') ADVANCE(28);
+ if (lookahead == '=') ADVANCE(7);
+ if (lookahead == '\t' ||
+ lookahead == '\r' ||
+ lookahead == ' ') SKIP(1)
+ END_STATE();
+ case 2:
+ if (lookahead == '#') ADVANCE(6);
+ if (lookahead == '(') ADVANCE(23);
+ if (lookahead == ')') ADVANCE(24);
+ if (lookahead == ',') ADVANCE(27);
+ if (lookahead == '.') ADVANCE(11);
+ if (lookahead == '<') ADVANCE(28);
+ if (lookahead == '=') ADVANCE(7);
+ if (lookahead == '>') ADVANCE(30);
+ if (lookahead == '\t' ||
+ lookahead == '\n' ||
+ lookahead == '\r' ||
+ lookahead == ' ') SKIP(2)
+ END_STATE();
+ case 3:
+ if (lookahead == '+') ADVANCE(18);
+ if (lookahead == '-') ADVANCE(14);
+ if (lookahead == '~') ADVANCE(16);
+ END_STATE();
+ case 4:
+ if (lookahead == '/') ADVANCE(31);
+ END_STATE();
+ case 5:
+ if (lookahead == ':') ADVANCE(12);
+ END_STATE();
+ case 6:
+ if (lookahead == '>') ADVANCE(26);
+ END_STATE();
+ case 7:
+ if (lookahead == '>') ADVANCE(25);
+ END_STATE();
+ case 8:
+ if (lookahead == '>') ADVANCE(15);
+ END_STATE();
+ case 9:
+ if (eof) ADVANCE(10);
+ if (lookahead == '\n') ADVANCE(35);
+ if (lookahead == '#') ADVANCE(19);
+ if (lookahead == '+') ADVANCE(21);
+ if (lookahead == ',') ADVANCE(27);
+ if (lookahead == '-') ADVANCE(22);
+ if (lookahead == '.') ADVANCE(11);
+ if (lookahead == '/') ADVANCE(4);
+ if (lookahead == ':') ADVANCE(5);
+ if (lookahead == '<') ADVANCE(3);
+ if (lookahead == '~') ADVANCE(8);
+ if (lookahead == '\t' ||
+ lookahead == '\r' ||
+ lookahead == ' ') SKIP(9)
+ if (('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'Z') ||
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(34);
+ END_STATE();
+ case 10:
+ ACCEPT_TOKEN(ts_builtin_sym_end);
+ END_STATE();
+ case 11:
+ ACCEPT_TOKEN(anon_sym_DOT);
+ END_STATE();
+ case 12:
+ ACCEPT_TOKEN(anon_sym_COLON_COLON);
+ END_STATE();
+ case 13:
+ ACCEPT_TOKEN(anon_sym_DASH_GT);
+ END_STATE();
+ case 14:
+ ACCEPT_TOKEN(anon_sym_LT_DASH);
+ END_STATE();
+ case 15:
+ ACCEPT_TOKEN(anon_sym_TILDE_GT);
+ END_STATE();
+ case 16:
+ ACCEPT_TOKEN(anon_sym_LT_TILDE);
+ END_STATE();
+ case 17:
+ ACCEPT_TOKEN(anon_sym_PLUS_GT);
+ END_STATE();
+ case 18:
+ ACCEPT_TOKEN(anon_sym_LT_PLUS);
+ END_STATE();
+ case 19:
+ ACCEPT_TOKEN(anon_sym_POUND);
+ END_STATE();
+ case 20:
+ ACCEPT_TOKEN(anon_sym_POUND);
+ if (lookahead == '>') ADVANCE(26);
+ END_STATE();
+ case 21:
+ ACCEPT_TOKEN(anon_sym_PLUS);
+ if (lookahead == '>') ADVANCE(17);
+ END_STATE();
+ case 22:
+ ACCEPT_TOKEN(anon_sym_DASH);
+ if (lookahead == '>') ADVANCE(13);
+ END_STATE();
+ case 23:
+ ACCEPT_TOKEN(anon_sym_LPAREN);
+ END_STATE();
+ case 24:
+ ACCEPT_TOKEN(anon_sym_RPAREN);
+ END_STATE();
+ case 25:
+ ACCEPT_TOKEN(anon_sym_EQ_GT);
+ END_STATE();
+ case 26:
+ ACCEPT_TOKEN(anon_sym_POUND_GT);
+ END_STATE();
+ case 27:
+ ACCEPT_TOKEN(anon_sym_COMMA);
+ END_STATE();
+ case 28:
+ ACCEPT_TOKEN(anon_sym_LT);
+ END_STATE();
+ case 29:
+ ACCEPT_TOKEN(anon_sym_LT);
+ if (lookahead == '+') ADVANCE(18);
+ if (lookahead == '-') ADVANCE(14);
+ if (lookahead == '~') ADVANCE(16);
+ END_STATE();
+ case 30:
+ ACCEPT_TOKEN(anon_sym_GT);
+ END_STATE();
+ case 31:
+ ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
+ END_STATE();
+ case 32:
+ ACCEPT_TOKEN(aux_sym_comment_token1);
+ if (lookahead == '\t' ||
+ lookahead == '\r' ||
+ lookahead == ' ') ADVANCE(32);
+ if (lookahead != 0 &&
+ lookahead != '\n') ADVANCE(33);
+ END_STATE();
+ case 33:
+ ACCEPT_TOKEN(aux_sym_comment_token1);
+ if (lookahead != 0 &&
+ lookahead != '\n') ADVANCE(33);
+ END_STATE();
+ case 34:
+ ACCEPT_TOKEN(sym__label);
+ if (lookahead == '-' ||
+ ('0' <= lookahead && lookahead <= '9') ||
+ ('A' <= lookahead && lookahead <= 'Z') ||
+ lookahead == '_' ||
+ ('a' <= lookahead && lookahead <= 'z')) ADVANCE(34);
+ END_STATE();
+ case 35:
+ ACCEPT_TOKEN(sym__newline);
+ if (lookahead == '\n') ADVANCE(35);
+ END_STATE();
+ default:
+ return false;
+ }
+}
+
+static const TSLexMode ts_lex_modes[STATE_COUNT] = {
+ [0] = {.lex_state = 0},
+ [1] = {.lex_state = 0},
+ [2] = {.lex_state = 9},
+ [3] = {.lex_state = 9},
+ [4] = {.lex_state = 9},
+ [5] = {.lex_state = 9},
+ [6] = {.lex_state = 9},
+ [7] = {.lex_state = 9},
+ [8] = {.lex_state = 9},
+ [9] = {.lex_state = 9},
+ [10] = {.lex_state = 9},
+ [11] = {.lex_state = 2},
+ [12] = {.lex_state = 2},
+ [13] = {.lex_state = 1},
+ [14] = {.lex_state = 1},
+ [15] = {.lex_state = 2},
+ [16] = {.lex_state = 2},
+ [17] = {.lex_state = 1},
+ [18] = {.lex_state = 1},
+ [19] = {.lex_state = 1},
+ [20] = {.lex_state = 1},
+ [21] = {.lex_state = 0},
+ [22] = {.lex_state = 0},
+ [23] = {.lex_state = 2},
+ [24] = {.lex_state = 1},
+ [25] = {.lex_state = 2},
+ [26] = {.lex_state = 2},
+ [27] = {.lex_state = 2},
+ [28] = {.lex_state = 1},
+ [29] = {.lex_state = 1},
+ [30] = {.lex_state = 1},
+ [31] = {.lex_state = 1},
+ [32] = {.lex_state = 2},
+ [33] = {.lex_state = 1},
+ [34] = {.lex_state = 2},
+ [35] = {.lex_state = 2},
+ [36] = {.lex_state = 2},
+ [37] = {.lex_state = 2},
+ [38] = {.lex_state = 1},
+ [39] = {.lex_state = 2},
+ [40] = {.lex_state = 2},
+ [41] = {.lex_state = 2},
+ [42] = {.lex_state = 2},
+ [43] = {.lex_state = 2},
+ [44] = {.lex_state = 2},
+ [45] = {.lex_state = 1},
+ [46] = {.lex_state = 1},
+ [47] = {.lex_state = 2},
+ [48] = {.lex_state = 2},
+ [49] = {.lex_state = 2},
+ [50] = {.lex_state = 1},
+ [51] = {.lex_state = 0},
+ [52] = {.lex_state = 1},
+ [53] = {.lex_state = 9},
+ [54] = {.lex_state = 1},
+ [55] = {.lex_state = 1},
+ [56] = {.lex_state = 1},
+ [57] = {.lex_state = 1},
+ [58] = {.lex_state = 1},
+ [59] = {.lex_state = 1},
+ [60] = {.lex_state = 9},
+ [61] = {.lex_state = 1},
+ [62] = {.lex_state = 1},
+ [63] = {.lex_state = 1},
+ [64] = {.lex_state = 0},
+ [65] = {.lex_state = 0},
+ [66] = {.lex_state = 1},
+ [67] = {.lex_state = 1},
+ [68] = {.lex_state = 0},
+ [69] = {.lex_state = 1},
+ [70] = {.lex_state = 2},
+ [71] = {.lex_state = 0},
+ [72] = {.lex_state = 2},
+ [73] = {.lex_state = 2},
+ [74] = {.lex_state = 1},
+ [75] = {.lex_state = 2},
+ [76] = {.lex_state = 2},
+ [77] = {.lex_state = 1},
+ [78] = {.lex_state = 1},
+ [79] = {.lex_state = 9},
+ [80] = {.lex_state = 2},
+ [81] = {.lex_state = 2},
+ [82] = {.lex_state = 2},
+ [83] = {.lex_state = 1},
+ [84] = {.lex_state = 1},
+ [85] = {.lex_state = 9},
+ [86] = {.lex_state = 0},
+ [87] = {.lex_state = 9},
+ [88] = {.lex_state = 1},
+ [89] = {.lex_state = 1},
+ [90] = {.lex_state = 9},
+ [91] = {.lex_state = 0},
+ [92] = {.lex_state = 9},
+ [93] = {.lex_state = 0},
+ [94] = {.lex_state = 1},
+ [95] = {.lex_state = 1},
+ [96] = {.lex_state = 9},
+ [97] = {.lex_state = 0},
+ [98] = {.lex_state = 0},
+ [99] = {.lex_state = 9},
+ [100] = {.lex_state = 9},
+ [101] = {.lex_state = 1},
+ [102] = {.lex_state = 1},
+ [103] = {.lex_state = 1},
+ [104] = {.lex_state = 1},
+ [105] = {.lex_state = 1},
+ [106] = {.lex_state = 0},
+ [107] = {.lex_state = 0},
+ [108] = {.lex_state = 0},
+ [109] = {.lex_state = 0},
+ [110] = {.lex_state = 1},
+ [111] = {.lex_state = 1},
+ [112] = {.lex_state = 9},
+ [113] = {.lex_state = 0},
+ [114] = {.lex_state = 0},
+ [115] = {.lex_state = 9},
+ [116] = {.lex_state = 1},
+ [117] = {.lex_state = 0},
+ [118] = {.lex_state = 0},
+ [119] = {.lex_state = 0},
+ [120] = {.lex_state = 0},
+ [121] = {.lex_state = 0},
+ [122] = {.lex_state = 0},
+ [123] = {.lex_state = 0},
+ [124] = {.lex_state = 9},
+ [125] = {.lex_state = 0},
+ [126] = {.lex_state = 0},
+ [127] = {.lex_state = 0},
+ [128] = {.lex_state = 0},
+ [129] = {.lex_state = 0},
+ [130] = {.lex_state = 0},
+ [131] = {.lex_state = 0},
+ [132] = {.lex_state = 32},
+ [133] = {.lex_state = 0},
+ [134] = {.lex_state = 9},
+ [135] = {.lex_state = 0},
+ [136] = {.lex_state = 0},
+ [137] = {.lex_state = 9},
+ [138] = {.lex_state = 9},
+ [139] = {.lex_state = 9},
+ [140] = {.lex_state = 9},
+ [141] = {.lex_state = 9},
+ [142] = {.lex_state = 0},
+ [143] = {.lex_state = 0},
+ [144] = {.lex_state = 0},
+ [145] = {.lex_state = 0},
+};
+
+static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
+ [0] = {
+ [ts_builtin_sym_end] = ACTIONS(1),
+ [anon_sym_DOT] = ACTIONS(1),
+ [anon_sym_COLON_COLON] = ACTIONS(1),
+ [anon_sym_DASH_GT] = ACTIONS(1),
+ [anon_sym_LT_DASH] = ACTIONS(1),
+ [anon_sym_TILDE_GT] = ACTIONS(1),
+ [anon_sym_LT_TILDE] = ACTIONS(1),
+ [anon_sym_PLUS_GT] = ACTIONS(1),
+ [anon_sym_LT_PLUS] = ACTIONS(1),
+ [anon_sym_POUND] = ACTIONS(1),
+ [anon_sym_PLUS] = ACTIONS(1),
+ [anon_sym_DASH] = ACTIONS(1),
+ [anon_sym_LPAREN] = ACTIONS(1),
+ [anon_sym_RPAREN] = ACTIONS(1),
+ [anon_sym_EQ_GT] = ACTIONS(1),
+ [anon_sym_POUND_GT] = ACTIONS(1),
+ [anon_sym_COMMA] = ACTIONS(1),
+ [anon_sym_LT] = ACTIONS(1),
+ [anon_sym_GT] = ACTIONS(1),
+ [anon_sym_SLASH_SLASH] = ACTIONS(1),
+ [sym__label] = ACTIONS(1),
+ },
+ [1] = {
+ [sym_source_file] = STATE(142),
+ [sym_definition] = STATE(53),
+ [sym_entry] = STATE(140),
+ [sym_identifier] = STATE(115),
+ [sym_comment] = STATE(53),
+ [aux_sym_source_file_repeat2] = STATE(21),
+ [ts_builtin_sym_end] = ACTIONS(3),
+ [anon_sym_SLASH_SLASH] = ACTIONS(5),
+ [sym__label] = ACTIONS(7),
+ },
+};
+
+static const uint16_t ts_small_parse_table[] = {
+ [0] = 6,
+ ACTIONS(13), 1,
+ anon_sym_SLASH_SLASH,
+ ACTIONS(15), 1,
+ sym__label,
+ STATE(145), 1,
+ sym_member_type,
+ ACTIONS(9), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ STATE(4), 3,
+ sym_member,
+ sym_comment,
+ aux_sym_definition_repeat1,
+ ACTIONS(11), 10,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ [31] = 6,
+ ACTIONS(13), 1,
+ anon_sym_SLASH_SLASH,
+ ACTIONS(19), 1,
+ sym__label,
+ STATE(145), 1,
+ sym_member_type,
+ ACTIONS(17), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ STATE(2), 3,
+ sym_member,
+ sym_comment,
+ aux_sym_definition_repeat1,
+ ACTIONS(11), 10,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ [62] = 6,
+ ACTIONS(26), 1,
+ anon_sym_SLASH_SLASH,
+ ACTIONS(29), 1,
+ sym__label,
+ STATE(145), 1,
+ sym_member_type,
+ ACTIONS(21), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ STATE(4), 3,
+ sym_member,
+ sym_comment,
+ aux_sym_definition_repeat1,
+ ACTIONS(23), 10,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ [93] = 2,
+ ACTIONS(31), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ ACTIONS(33), 12,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [112] = 2,
+ ACTIONS(35), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ ACTIONS(37), 12,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [131] = 2,
+ ACTIONS(39), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ ACTIONS(41), 12,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [150] = 2,
+ ACTIONS(43), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ ACTIONS(45), 12,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [169] = 2,
+ ACTIONS(47), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ ACTIONS(49), 12,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [188] = 2,
+ ACTIONS(51), 2,
+ ts_builtin_sym_end,
+ sym__newline,
+ ACTIONS(53), 12,
+ anon_sym_COLON_COLON,
+ anon_sym_DASH_GT,
+ anon_sym_LT_DASH,
+ anon_sym_TILDE_GT,
+ anon_sym_LT_TILDE,
+ anon_sym_PLUS_GT,
+ anon_sym_LT_PLUS,
+ anon_sym_POUND,
+ anon_sym_PLUS,
+ anon_sym_DASH,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [207] = 9,
+ ACTIONS(57), 1,
+ anon_sym_LPAREN,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(61), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(63), 1,
+ anon_sym_LT,
+ STATE(15), 1,
+ sym_type_annotation,
+ STATE(27), 1,
+ sym_parameter_list,
+ STATE(39), 1,
+ sym_return_statement,
+ STATE(75), 1,
+ sym_throw_statement,
+ ACTIONS(55), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [238] = 8,
+ ACTIONS(57), 1,
+ anon_sym_LPAREN,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(63), 1,
+ anon_sym_LT,
+ STATE(16), 1,
+ sym_type_annotation,
+ STATE(23), 1,
+ sym_parameter_list,
+ STATE(42), 1,
+ sym_return_statement,
+ STATE(75), 1,
+ sym_throw_statement,
+ ACTIONS(55), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [267] = 9,
+ ACTIONS(55), 1,
+ sym__newline,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(71), 1,
+ anon_sym_LT,
+ STATE(20), 1,
+ sym_type_annotation,
+ STATE(31), 1,
+ sym_parameter_list,
+ STATE(69), 1,
+ sym_return_statement,
+ STATE(103), 1,
+ sym_throw_statement,
+ ACTIONS(65), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [297] = 10,
+ ACTIONS(55), 1,
+ sym__newline,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(71), 1,
+ anon_sym_LT,
+ ACTIONS(73), 1,
+ anon_sym_POUND_GT,
+ STATE(19), 1,
+ sym_type_annotation,
+ STATE(33), 1,
+ sym_parameter_list,
+ STATE(57), 1,
+ sym_return_statement,
+ STATE(103), 1,
+ sym_throw_statement,
+ ACTIONS(65), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [329] = 7,
+ ACTIONS(57), 1,
+ anon_sym_LPAREN,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(61), 1,
+ anon_sym_POUND_GT,
+ STATE(26), 1,
+ sym_parameter_list,
+ STATE(35), 1,
+ sym_return_statement,
+ STATE(72), 1,
+ sym_throw_statement,
+ ACTIONS(75), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [354] = 6,
+ ACTIONS(57), 1,
+ anon_sym_LPAREN,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ STATE(25), 1,
+ sym_parameter_list,
+ STATE(44), 1,
+ sym_return_statement,
+ STATE(72), 1,
+ sym_throw_statement,
+ ACTIONS(75), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [377] = 10,
+ ACTIONS(55), 1,
+ sym__newline,
+ ACTIONS(65), 1,
+ anon_sym_DOT,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(71), 1,
+ anon_sym_LT,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ STATE(24), 1,
+ sym_type_annotation,
+ STATE(46), 1,
+ sym_parameter_list,
+ STATE(102), 1,
+ sym_return_statement,
+ STATE(103), 1,
+ sym_throw_statement,
+ [408] = 9,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(71), 1,
+ anon_sym_LT,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(79), 1,
+ sym__newline,
+ STATE(30), 1,
+ sym_type_annotation,
+ STATE(62), 1,
+ sym_parameter_list,
+ STATE(111), 1,
+ sym_return_statement,
+ STATE(137), 1,
+ sym_throw_statement,
+ [436] = 8,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(73), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(75), 1,
+ sym__newline,
+ STATE(28), 1,
+ sym_parameter_list,
+ STATE(55), 1,
+ sym_return_statement,
+ STATE(94), 1,
+ sym_throw_statement,
+ ACTIONS(81), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [462] = 7,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(75), 1,
+ sym__newline,
+ STATE(29), 1,
+ sym_parameter_list,
+ STATE(66), 1,
+ sym_return_statement,
+ STATE(94), 1,
+ sym_throw_statement,
+ ACTIONS(81), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [486] = 7,
+ ACTIONS(5), 1,
+ anon_sym_SLASH_SLASH,
+ ACTIONS(7), 1,
+ sym__label,
+ ACTIONS(83), 1,
+ ts_builtin_sym_end,
+ STATE(22), 1,
+ aux_sym_source_file_repeat2,
+ STATE(115), 1,
+ sym_identifier,
+ STATE(140), 1,
+ sym_entry,
+ STATE(53), 2,
+ sym_definition,
+ sym_comment,
+ [509] = 7,
+ ACTIONS(85), 1,
+ ts_builtin_sym_end,
+ ACTIONS(87), 1,
+ anon_sym_SLASH_SLASH,
+ ACTIONS(90), 1,
+ sym__label,
+ STATE(22), 1,
+ aux_sym_source_file_repeat2,
+ STATE(115), 1,
+ sym_identifier,
+ STATE(140), 1,
+ sym_entry,
+ STATE(53), 2,
+ sym_definition,
+ sym_comment,
+ [532] = 4,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ STATE(44), 1,
+ sym_return_statement,
+ STATE(72), 1,
+ sym_throw_statement,
+ ACTIONS(75), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [549] = 8,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(75), 1,
+ sym__newline,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(81), 1,
+ anon_sym_DOT,
+ STATE(38), 1,
+ sym_parameter_list,
+ STATE(94), 1,
+ sym_throw_statement,
+ STATE(95), 1,
+ sym_return_statement,
+ [574] = 4,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ STATE(34), 1,
+ sym_return_statement,
+ STATE(81), 1,
+ sym_throw_statement,
+ ACTIONS(93), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [591] = 5,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(61), 1,
+ anon_sym_POUND_GT,
+ STATE(40), 1,
+ sym_return_statement,
+ STATE(81), 1,
+ sym_throw_statement,
+ ACTIONS(93), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [610] = 5,
+ ACTIONS(59), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(61), 1,
+ anon_sym_POUND_GT,
+ STATE(35), 1,
+ sym_return_statement,
+ STATE(72), 1,
+ sym_throw_statement,
+ ACTIONS(75), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [629] = 6,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(73), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(93), 1,
+ sym__newline,
+ STATE(54), 1,
+ sym_return_statement,
+ STATE(101), 1,
+ sym_throw_statement,
+ ACTIONS(95), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [649] = 5,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(93), 1,
+ sym__newline,
+ STATE(50), 1,
+ sym_return_statement,
+ STATE(101), 1,
+ sym_throw_statement,
+ ACTIONS(95), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [667] = 7,
+ ACTIONS(67), 1,
+ anon_sym_LPAREN,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(97), 1,
+ sym__newline,
+ STATE(67), 1,
+ sym_parameter_list,
+ STATE(110), 1,
+ sym_return_statement,
+ STATE(138), 1,
+ sym_throw_statement,
+ [689] = 5,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(75), 1,
+ sym__newline,
+ STATE(66), 1,
+ sym_return_statement,
+ STATE(94), 1,
+ sym_throw_statement,
+ ACTIONS(81), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [707] = 1,
+ ACTIONS(99), 7,
+ anon_sym_DOT,
+ anon_sym_LPAREN,
+ anon_sym_RPAREN,
+ anon_sym_EQ_GT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [717] = 6,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(73), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(75), 1,
+ sym__newline,
+ STATE(55), 1,
+ sym_return_statement,
+ STATE(94), 1,
+ sym_throw_statement,
+ ACTIONS(81), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [737] = 2,
+ STATE(70), 1,
+ sym_throw_statement,
+ ACTIONS(101), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [748] = 3,
+ ACTIONS(61), 1,
+ anon_sym_POUND_GT,
+ STATE(81), 1,
+ sym_throw_statement,
+ ACTIONS(93), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [761] = 1,
+ ACTIONS(103), 6,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_EQ_GT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [770] = 1,
+ ACTIONS(105), 6,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_EQ_GT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [779] = 6,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(93), 1,
+ sym__newline,
+ ACTIONS(95), 1,
+ anon_sym_DOT,
+ STATE(101), 1,
+ sym_throw_statement,
+ STATE(105), 1,
+ sym_return_statement,
+ [798] = 3,
+ ACTIONS(61), 1,
+ anon_sym_POUND_GT,
+ STATE(72), 1,
+ sym_throw_statement,
+ ACTIONS(75), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [811] = 3,
+ ACTIONS(61), 1,
+ anon_sym_POUND_GT,
+ STATE(70), 1,
+ sym_throw_statement,
+ ACTIONS(101), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [824] = 2,
+ STATE(48), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(107), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [835] = 2,
+ STATE(72), 1,
+ sym_throw_statement,
+ ACTIONS(75), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [846] = 3,
+ ACTIONS(109), 1,
+ anon_sym_DOT,
+ STATE(47), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(111), 4,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [859] = 2,
+ STATE(81), 1,
+ sym_throw_statement,
+ ACTIONS(93), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [870] = 2,
+ ACTIONS(99), 1,
+ sym__newline,
+ ACTIONS(113), 5,
+ anon_sym_DOT,
+ anon_sym_LPAREN,
+ anon_sym_EQ_GT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [881] = 6,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(75), 1,
+ sym__newline,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(81), 1,
+ anon_sym_DOT,
+ STATE(94), 1,
+ sym_throw_statement,
+ STATE(95), 1,
+ sym_return_statement,
+ [900] = 3,
+ ACTIONS(115), 1,
+ anon_sym_DOT,
+ STATE(47), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(118), 4,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [913] = 3,
+ ACTIONS(122), 1,
+ anon_sym_COMMA,
+ STATE(48), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(120), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_GT,
+ [926] = 3,
+ ACTIONS(109), 1,
+ anon_sym_DOT,
+ STATE(43), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(125), 4,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [939] = 3,
+ ACTIONS(101), 1,
+ sym__newline,
+ STATE(104), 1,
+ sym_throw_statement,
+ ACTIONS(127), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [951] = 3,
+ ACTIONS(129), 1,
+ anon_sym_COMMA,
+ STATE(51), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(120), 3,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_GT,
+ [963] = 3,
+ ACTIONS(107), 1,
+ sym__newline,
+ STATE(63), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(132), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [975] = 4,
+ ACTIONS(134), 1,
+ ts_builtin_sym_end,
+ ACTIONS(138), 1,
+ sym__newline,
+ STATE(60), 1,
+ aux_sym_source_file_repeat1,
+ ACTIONS(136), 2,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [989] = 4,
+ ACTIONS(73), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(101), 1,
+ sym__newline,
+ STATE(104), 1,
+ sym_throw_statement,
+ ACTIONS(127), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [1003] = 4,
+ ACTIONS(73), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(93), 1,
+ sym__newline,
+ STATE(101), 1,
+ sym_throw_statement,
+ ACTIONS(95), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [1017] = 4,
+ ACTIONS(142), 1,
+ anon_sym_COMMA,
+ ACTIONS(144), 1,
+ sym__newline,
+ STATE(59), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(140), 2,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ [1031] = 4,
+ ACTIONS(73), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(75), 1,
+ sym__newline,
+ STATE(94), 1,
+ sym_throw_statement,
+ ACTIONS(81), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [1045] = 4,
+ ACTIONS(125), 1,
+ sym__newline,
+ ACTIONS(146), 1,
+ anon_sym_DOT,
+ STATE(78), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(148), 2,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1059] = 4,
+ ACTIONS(107), 1,
+ sym__newline,
+ ACTIONS(142), 1,
+ anon_sym_COMMA,
+ STATE(63), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(132), 2,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ [1073] = 4,
+ ACTIONS(85), 1,
+ ts_builtin_sym_end,
+ ACTIONS(152), 1,
+ sym__newline,
+ STATE(79), 1,
+ aux_sym_source_file_repeat1,
+ ACTIONS(150), 2,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [1087] = 2,
+ ACTIONS(103), 1,
+ sym__newline,
+ ACTIONS(154), 4,
+ anon_sym_DOT,
+ anon_sym_EQ_GT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1097] = 5,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(97), 1,
+ sym__newline,
+ STATE(110), 1,
+ sym_return_statement,
+ STATE(138), 1,
+ sym_throw_statement,
+ [1113] = 4,
+ ACTIONS(120), 1,
+ sym__newline,
+ ACTIONS(158), 1,
+ anon_sym_COMMA,
+ STATE(63), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(156), 2,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ [1127] = 2,
+ STATE(51), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(107), 4,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1137] = 3,
+ ACTIONS(161), 1,
+ anon_sym_DOT,
+ STATE(65), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(118), 3,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1149] = 3,
+ ACTIONS(93), 1,
+ sym__newline,
+ STATE(101), 1,
+ sym_throw_statement,
+ ACTIONS(95), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1161] = 5,
+ ACTIONS(69), 1,
+ anon_sym_EQ_GT,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(164), 1,
+ sym__newline,
+ STATE(116), 1,
+ sym_return_statement,
+ STATE(139), 1,
+ sym_throw_statement,
+ [1177] = 3,
+ ACTIONS(166), 1,
+ anon_sym_DOT,
+ STATE(65), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(111), 3,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1189] = 3,
+ ACTIONS(75), 1,
+ sym__newline,
+ STATE(94), 1,
+ sym_throw_statement,
+ ACTIONS(81), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1201] = 1,
+ ACTIONS(168), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1209] = 3,
+ ACTIONS(166), 1,
+ anon_sym_DOT,
+ STATE(68), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(125), 3,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1221] = 1,
+ ACTIONS(93), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1229] = 1,
+ ACTIONS(120), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1237] = 2,
+ ACTIONS(105), 1,
+ sym__newline,
+ ACTIONS(170), 4,
+ anon_sym_DOT,
+ anon_sym_EQ_GT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1247] = 1,
+ ACTIONS(75), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1255] = 1,
+ ACTIONS(118), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1263] = 4,
+ ACTIONS(118), 1,
+ sym__newline,
+ ACTIONS(172), 1,
+ anon_sym_DOT,
+ STATE(77), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(175), 2,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1277] = 4,
+ ACTIONS(111), 1,
+ sym__newline,
+ ACTIONS(146), 1,
+ anon_sym_DOT,
+ STATE(77), 1,
+ aux_sym_entry_repeat1,
+ ACTIONS(177), 2,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1291] = 4,
+ ACTIONS(179), 1,
+ ts_builtin_sym_end,
+ ACTIONS(183), 1,
+ sym__newline,
+ STATE(79), 1,
+ aux_sym_source_file_repeat1,
+ ACTIONS(181), 2,
+ anon_sym_SLASH_SLASH,
+ sym__label,
+ [1305] = 1,
+ ACTIONS(186), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1313] = 1,
+ ACTIONS(101), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1321] = 1,
+ ACTIONS(188), 5,
+ anon_sym_DOT,
+ anon_sym_RPAREN,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ anon_sym_GT,
+ [1329] = 2,
+ ACTIONS(188), 1,
+ sym__newline,
+ ACTIONS(190), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1338] = 2,
+ ACTIONS(186), 1,
+ sym__newline,
+ ACTIONS(192), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1347] = 4,
+ ACTIONS(125), 1,
+ sym__newline,
+ ACTIONS(148), 1,
+ anon_sym_COMMA,
+ ACTIONS(194), 1,
+ anon_sym_DOT,
+ STATE(90), 1,
+ aux_sym_entry_repeat1,
+ [1360] = 4,
+ ACTIONS(196), 1,
+ anon_sym_RPAREN,
+ ACTIONS(198), 1,
+ sym__label,
+ STATE(108), 1,
+ sym_identifier,
+ STATE(135), 1,
+ sym__identifier_list,
+ [1373] = 4,
+ ACTIONS(118), 1,
+ sym__newline,
+ ACTIONS(175), 1,
+ anon_sym_COMMA,
+ ACTIONS(200), 1,
+ anon_sym_DOT,
+ STATE(87), 1,
+ aux_sym_entry_repeat1,
+ [1386] = 2,
+ ACTIONS(118), 1,
+ sym__newline,
+ ACTIONS(175), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1395] = 2,
+ ACTIONS(120), 1,
+ sym__newline,
+ ACTIONS(156), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1404] = 4,
+ ACTIONS(111), 1,
+ sym__newline,
+ ACTIONS(177), 1,
+ anon_sym_COMMA,
+ ACTIONS(194), 1,
+ anon_sym_DOT,
+ STATE(87), 1,
+ aux_sym_entry_repeat1,
+ [1417] = 4,
+ ACTIONS(198), 1,
+ sym__label,
+ STATE(71), 1,
+ sym_identifier,
+ STATE(123), 1,
+ sym_entry,
+ STATE(136), 1,
+ sym__entry_list,
+ [1430] = 3,
+ ACTIONS(107), 1,
+ sym__newline,
+ STATE(96), 1,
+ aux_sym__entry_list_repeat1,
+ ACTIONS(132), 2,
+ anon_sym_DOT,
+ anon_sym_COMMA,
+ [1441] = 4,
+ ACTIONS(203), 1,
+ sym__label,
+ STATE(83), 1,
+ sym__entry_list,
+ STATE(85), 1,
+ sym_identifier,
+ STATE(100), 1,
+ sym_entry,
+ [1454] = 2,
+ ACTIONS(93), 1,
+ sym__newline,
+ ACTIONS(95), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1463] = 4,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(93), 1,
+ sym__newline,
+ ACTIONS(95), 1,
+ anon_sym_DOT,
+ STATE(101), 1,
+ sym_throw_statement,
+ [1476] = 4,
+ ACTIONS(120), 1,
+ sym__newline,
+ ACTIONS(156), 1,
+ anon_sym_DOT,
+ ACTIONS(205), 1,
+ anon_sym_COMMA,
+ STATE(96), 1,
+ aux_sym__entry_list_repeat1,
+ [1489] = 4,
+ ACTIONS(198), 1,
+ sym__label,
+ STATE(71), 1,
+ sym_identifier,
+ STATE(123), 1,
+ sym_entry,
+ STATE(143), 1,
+ sym__entry_list,
+ [1502] = 3,
+ ACTIONS(198), 1,
+ sym__label,
+ STATE(71), 1,
+ sym_identifier,
+ STATE(82), 2,
+ sym_entry,
+ sym__entry_list,
+ [1513] = 4,
+ ACTIONS(107), 1,
+ sym__newline,
+ ACTIONS(132), 1,
+ anon_sym_DOT,
+ ACTIONS(208), 1,
+ anon_sym_COMMA,
+ STATE(96), 1,
+ aux_sym__entry_list_repeat1,
+ [1526] = 4,
+ ACTIONS(140), 1,
+ anon_sym_DOT,
+ ACTIONS(144), 1,
+ sym__newline,
+ ACTIONS(208), 1,
+ anon_sym_COMMA,
+ STATE(99), 1,
+ aux_sym__entry_list_repeat1,
+ [1539] = 2,
+ ACTIONS(101), 1,
+ sym__newline,
+ ACTIONS(127), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1548] = 4,
+ ACTIONS(75), 1,
+ sym__newline,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(81), 1,
+ anon_sym_DOT,
+ STATE(94), 1,
+ sym_throw_statement,
+ [1561] = 2,
+ ACTIONS(75), 1,
+ sym__newline,
+ ACTIONS(81), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1570] = 2,
+ ACTIONS(168), 1,
+ sym__newline,
+ ACTIONS(210), 3,
+ anon_sym_DOT,
+ anon_sym_POUND_GT,
+ anon_sym_COMMA,
+ [1579] = 4,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(101), 1,
+ sym__newline,
+ ACTIONS(127), 1,
+ anon_sym_DOT,
+ STATE(104), 1,
+ sym_throw_statement,
+ [1592] = 3,
+ ACTIONS(203), 1,
+ sym__label,
+ STATE(85), 1,
+ sym_identifier,
+ STATE(83), 2,
+ sym_entry,
+ sym__entry_list,
+ [1603] = 4,
+ ACTIONS(198), 1,
+ sym__label,
+ ACTIONS(212), 1,
+ anon_sym_RPAREN,
+ STATE(108), 1,
+ sym_identifier,
+ STATE(133), 1,
+ sym__identifier_list,
+ [1616] = 3,
+ ACTIONS(214), 1,
+ anon_sym_RPAREN,
+ ACTIONS(216), 1,
+ anon_sym_COMMA,
+ STATE(119), 1,
+ aux_sym__identifier_list_repeat1,
+ [1626] = 3,
+ ACTIONS(218), 1,
+ anon_sym_RPAREN,
+ ACTIONS(220), 1,
+ anon_sym_COMMA,
+ STATE(109), 1,
+ aux_sym__identifier_list_repeat1,
+ [1636] = 3,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(164), 1,
+ sym__newline,
+ STATE(139), 1,
+ sym_throw_statement,
+ [1646] = 3,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(97), 1,
+ sym__newline,
+ STATE(138), 1,
+ sym_throw_statement,
+ [1656] = 3,
+ ACTIONS(111), 1,
+ sym__newline,
+ ACTIONS(223), 1,
+ anon_sym_DOT,
+ STATE(124), 1,
+ aux_sym_entry_repeat1,
+ [1666] = 3,
+ ACTIONS(225), 1,
+ sym__label,
+ STATE(58), 1,
+ sym_identifier,
+ STATE(89), 1,
+ sym_entry,
+ [1676] = 3,
+ ACTIONS(227), 1,
+ sym__label,
+ STATE(49), 1,
+ sym_identifier,
+ STATE(80), 1,
+ sym_entry,
+ [1686] = 3,
+ ACTIONS(125), 1,
+ sym__newline,
+ ACTIONS(223), 1,
+ anon_sym_DOT,
+ STATE(112), 1,
+ aux_sym_entry_repeat1,
+ [1696] = 3,
+ ACTIONS(77), 1,
+ anon_sym_POUND_GT,
+ ACTIONS(229), 1,
+ sym__newline,
+ STATE(141), 1,
+ sym_throw_statement,
+ [1706] = 3,
+ ACTIONS(203), 1,
+ sym__label,
+ STATE(85), 1,
+ sym_identifier,
+ STATE(89), 1,
+ sym_entry,
+ [1716] = 3,
+ ACTIONS(227), 1,
+ sym__label,
+ STATE(49), 1,
+ sym_identifier,
+ STATE(73), 1,
+ sym_entry,
+ [1726] = 3,
+ ACTIONS(216), 1,
+ anon_sym_COMMA,
+ ACTIONS(231), 1,
+ anon_sym_RPAREN,
+ STATE(109), 1,
+ aux_sym__identifier_list_repeat1,
+ [1736] = 3,
+ ACTIONS(107), 1,
+ anon_sym_GT,
+ ACTIONS(233), 1,
+ anon_sym_COMMA,
+ STATE(51), 1,
+ aux_sym__entry_list_repeat1,
+ [1746] = 3,
+ ACTIONS(225), 1,
+ sym__label,
+ STATE(58), 1,
+ sym_identifier,
+ STATE(84), 1,
+ sym_entry,
+ [1756] = 3,
+ ACTIONS(198), 1,
+ sym__label,
+ STATE(71), 1,
+ sym_identifier,
+ STATE(73), 1,
+ sym_entry,
+ [1766] = 3,
+ ACTIONS(144), 1,
+ anon_sym_GT,
+ ACTIONS(233), 1,
+ anon_sym_COMMA,
+ STATE(120), 1,
+ aux_sym__entry_list_repeat1,
+ [1776] = 3,
+ ACTIONS(118), 1,
+ sym__newline,
+ ACTIONS(235), 1,
+ anon_sym_DOT,
+ STATE(124), 1,
+ aux_sym_entry_repeat1,
+ [1786] = 2,
+ ACTIONS(198), 1,
+ sym__label,
+ STATE(127), 1,
+ sym_identifier,
+ [1793] = 2,
+ ACTIONS(7), 1,
+ sym__label,
+ STATE(88), 1,
+ sym_identifier,
+ [1800] = 1,
+ ACTIONS(218), 2,
+ anon_sym_RPAREN,
+ anon_sym_COMMA,
+ [1805] = 2,
+ ACTIONS(227), 1,
+ sym__label,
+ STATE(76), 1,
+ sym_identifier,
+ [1812] = 2,
+ ACTIONS(198), 1,
+ sym__label,
+ STATE(76), 1,
+ sym_identifier,
+ [1819] = 2,
+ ACTIONS(203), 1,
+ sym__label,
+ STATE(88), 1,
+ sym_identifier,
+ [1826] = 2,
+ ACTIONS(225), 1,
+ sym__label,
+ STATE(88), 1,
+ sym_identifier,
+ [1833] = 1,
+ ACTIONS(238), 1,
+ aux_sym_comment_token1,
+ [1837] = 1,
+ ACTIONS(240), 1,
+ anon_sym_RPAREN,
+ [1841] = 1,
+ ACTIONS(242), 1,
+ sym__newline,
+ [1845] = 1,
+ ACTIONS(244), 1,
+ anon_sym_RPAREN,
+ [1849] = 1,
+ ACTIONS(246), 1,
+ anon_sym_GT,
+ [1853] = 1,
+ ACTIONS(97), 1,
+ sym__newline,
+ [1857] = 1,
+ ACTIONS(164), 1,
+ sym__newline,
+ [1861] = 1,
+ ACTIONS(229), 1,
+ sym__newline,
+ [1865] = 1,
+ ACTIONS(248), 1,
+ sym__newline,
+ [1869] = 1,
+ ACTIONS(250), 1,
+ sym__newline,
+ [1873] = 1,
+ ACTIONS(252), 1,
+ ts_builtin_sym_end,
+ [1877] = 1,
+ ACTIONS(254), 1,
+ anon_sym_GT,
+ [1881] = 1,
+ ACTIONS(256), 1,
+ sym__label,
+ [1885] = 1,
+ ACTIONS(258), 1,
+ sym__label,
+};
+
+static const uint32_t ts_small_parse_table_map[] = {
+ [SMALL_STATE(2)] = 0,
+ [SMALL_STATE(3)] = 31,
+ [SMALL_STATE(4)] = 62,
+ [SMALL_STATE(5)] = 93,
+ [SMALL_STATE(6)] = 112,
+ [SMALL_STATE(7)] = 131,
+ [SMALL_STATE(8)] = 150,
+ [SMALL_STATE(9)] = 169,
+ [SMALL_STATE(10)] = 188,
+ [SMALL_STATE(11)] = 207,
+ [SMALL_STATE(12)] = 238,
+ [SMALL_STATE(13)] = 267,
+ [SMALL_STATE(14)] = 297,
+ [SMALL_STATE(15)] = 329,
+ [SMALL_STATE(16)] = 354,
+ [SMALL_STATE(17)] = 377,
+ [SMALL_STATE(18)] = 408,
+ [SMALL_STATE(19)] = 436,
+ [SMALL_STATE(20)] = 462,
+ [SMALL_STATE(21)] = 486,
+ [SMALL_STATE(22)] = 509,
+ [SMALL_STATE(23)] = 532,
+ [SMALL_STATE(24)] = 549,
+ [SMALL_STATE(25)] = 574,
+ [SMALL_STATE(26)] = 591,
+ [SMALL_STATE(27)] = 610,
+ [SMALL_STATE(28)] = 629,
+ [SMALL_STATE(29)] = 649,
+ [SMALL_STATE(30)] = 667,
+ [SMALL_STATE(31)] = 689,
+ [SMALL_STATE(32)] = 707,
+ [SMALL_STATE(33)] = 717,
+ [SMALL_STATE(34)] = 737,
+ [SMALL_STATE(35)] = 748,
+ [SMALL_STATE(36)] = 761,
+ [SMALL_STATE(37)] = 770,
+ [SMALL_STATE(38)] = 779,
+ [SMALL_STATE(39)] = 798,
+ [SMALL_STATE(40)] = 811,
+ [SMALL_STATE(41)] = 824,
+ [SMALL_STATE(42)] = 835,
+ [SMALL_STATE(43)] = 846,
+ [SMALL_STATE(44)] = 859,
+ [SMALL_STATE(45)] = 870,
+ [SMALL_STATE(46)] = 881,
+ [SMALL_STATE(47)] = 900,
+ [SMALL_STATE(48)] = 913,
+ [SMALL_STATE(49)] = 926,
+ [SMALL_STATE(50)] = 939,
+ [SMALL_STATE(51)] = 951,
+ [SMALL_STATE(52)] = 963,
+ [SMALL_STATE(53)] = 975,
+ [SMALL_STATE(54)] = 989,
+ [SMALL_STATE(55)] = 1003,
+ [SMALL_STATE(56)] = 1017,
+ [SMALL_STATE(57)] = 1031,
+ [SMALL_STATE(58)] = 1045,
+ [SMALL_STATE(59)] = 1059,
+ [SMALL_STATE(60)] = 1073,
+ [SMALL_STATE(61)] = 1087,
+ [SMALL_STATE(62)] = 1097,
+ [SMALL_STATE(63)] = 1113,
+ [SMALL_STATE(64)] = 1127,
+ [SMALL_STATE(65)] = 1137,
+ [SMALL_STATE(66)] = 1149,
+ [SMALL_STATE(67)] = 1161,
+ [SMALL_STATE(68)] = 1177,
+ [SMALL_STATE(69)] = 1189,
+ [SMALL_STATE(70)] = 1201,
+ [SMALL_STATE(71)] = 1209,
+ [SMALL_STATE(72)] = 1221,
+ [SMALL_STATE(73)] = 1229,
+ [SMALL_STATE(74)] = 1237,
+ [SMALL_STATE(75)] = 1247,
+ [SMALL_STATE(76)] = 1255,
+ [SMALL_STATE(77)] = 1263,
+ [SMALL_STATE(78)] = 1277,
+ [SMALL_STATE(79)] = 1291,
+ [SMALL_STATE(80)] = 1305,
+ [SMALL_STATE(81)] = 1313,
+ [SMALL_STATE(82)] = 1321,
+ [SMALL_STATE(83)] = 1329,
+ [SMALL_STATE(84)] = 1338,
+ [SMALL_STATE(85)] = 1347,
+ [SMALL_STATE(86)] = 1360,
+ [SMALL_STATE(87)] = 1373,
+ [SMALL_STATE(88)] = 1386,
+ [SMALL_STATE(89)] = 1395,
+ [SMALL_STATE(90)] = 1404,
+ [SMALL_STATE(91)] = 1417,
+ [SMALL_STATE(92)] = 1430,
+ [SMALL_STATE(93)] = 1441,
+ [SMALL_STATE(94)] = 1454,
+ [SMALL_STATE(95)] = 1463,
+ [SMALL_STATE(96)] = 1476,
+ [SMALL_STATE(97)] = 1489,
+ [SMALL_STATE(98)] = 1502,
+ [SMALL_STATE(99)] = 1513,
+ [SMALL_STATE(100)] = 1526,
+ [SMALL_STATE(101)] = 1539,
+ [SMALL_STATE(102)] = 1548,
+ [SMALL_STATE(103)] = 1561,
+ [SMALL_STATE(104)] = 1570,
+ [SMALL_STATE(105)] = 1579,
+ [SMALL_STATE(106)] = 1592,
+ [SMALL_STATE(107)] = 1603,
+ [SMALL_STATE(108)] = 1616,
+ [SMALL_STATE(109)] = 1626,
+ [SMALL_STATE(110)] = 1636,
+ [SMALL_STATE(111)] = 1646,
+ [SMALL_STATE(112)] = 1656,
+ [SMALL_STATE(113)] = 1666,
+ [SMALL_STATE(114)] = 1676,
+ [SMALL_STATE(115)] = 1686,
+ [SMALL_STATE(116)] = 1696,
+ [SMALL_STATE(117)] = 1706,
+ [SMALL_STATE(118)] = 1716,
+ [SMALL_STATE(119)] = 1726,
+ [SMALL_STATE(120)] = 1736,
+ [SMALL_STATE(121)] = 1746,
+ [SMALL_STATE(122)] = 1756,
+ [SMALL_STATE(123)] = 1766,
+ [SMALL_STATE(124)] = 1776,
+ [SMALL_STATE(125)] = 1786,
+ [SMALL_STATE(126)] = 1793,
+ [SMALL_STATE(127)] = 1800,
+ [SMALL_STATE(128)] = 1805,
+ [SMALL_STATE(129)] = 1812,
+ [SMALL_STATE(130)] = 1819,
+ [SMALL_STATE(131)] = 1826,
+ [SMALL_STATE(132)] = 1833,
+ [SMALL_STATE(133)] = 1837,
+ [SMALL_STATE(134)] = 1841,
+ [SMALL_STATE(135)] = 1845,
+ [SMALL_STATE(136)] = 1849,
+ [SMALL_STATE(137)] = 1853,
+ [SMALL_STATE(138)] = 1857,
+ [SMALL_STATE(139)] = 1861,
+ [SMALL_STATE(140)] = 1865,
+ [SMALL_STATE(141)] = 1869,
+ [SMALL_STATE(142)] = 1873,
+ [SMALL_STATE(143)] = 1877,
+ [SMALL_STATE(144)] = 1881,
+ [SMALL_STATE(145)] = 1885,
+};
+
+static const TSParseActionEntry ts_parse_actions[] = {
+ [0] = {.entry = {.count = 0, .reusable = false}},
+ [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(),
+ [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0),
+ [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
+ [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
+ [9] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 3),
+ [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144),
+ [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132),
+ [15] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_definition, 3),
+ [17] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_definition, 2),
+ [19] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_definition, 2),
+ [21] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_definition_repeat1, 2),
+ [23] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_definition_repeat1, 2), SHIFT_REPEAT(144),
+ [26] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_definition_repeat1, 2), SHIFT_REPEAT(132),
+ [29] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_definition_repeat1, 2),
+ [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 4),
+ [33] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member, 4),
+ [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 7),
+ [37] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member, 7),
+ [39] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 6),
+ [41] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member, 6),
+ [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 3),
+ [45] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member, 3),
+ [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3),
+ [49] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 3),
+ [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member, 5),
+ [53] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member, 5),
+ [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1),
+ [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86),
+ [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114),
+ [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98),
+ [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
+ [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1),
+ [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107),
+ [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121),
+ [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97),
+ [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106),
+ [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 2),
+ [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93),
+ [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
+ [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 2),
+ [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
+ [85] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2),
+ [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(132),
+ [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2), SHIFT_REPEAT(17),
+ [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 3),
+ [95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 3),
+ [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
+ [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_annotation, 3),
+ [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 4),
+ [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2),
+ [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3),
+ [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__entry_list, 2),
+ [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
+ [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_entry, 2),
+ [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_annotation, 3),
+ [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_entry_repeat1, 2), SHIFT_REPEAT(128),
+ [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_entry_repeat1, 2),
+ [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__entry_list_repeat1, 2),
+ [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__entry_list_repeat1, 2), SHIFT_REPEAT(118),
+ [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_entry, 1),
+ [127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 4),
+ [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__entry_list_repeat1, 2), SHIFT_REPEAT(122),
+ [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__entry_list, 2),
+ [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 1),
+ [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 1),
+ [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60),
+ [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__entry_list, 1),
+ [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113),
+ [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__entry_list, 1),
+ [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131),
+ [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_entry, 1),
+ [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat2, 2),
+ [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79),
+ [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2),
+ [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__entry_list_repeat1, 2),
+ [158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__entry_list_repeat1, 2), SHIFT_REPEAT(113),
+ [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_entry_repeat1, 2), SHIFT_REPEAT(129),
+ [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
+ [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129),
+ [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 5),
+ [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3),
+ [172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_entry_repeat1, 2), SHIFT_REPEAT(131),
+ [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_entry_repeat1, 2),
+ [177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_entry, 2),
+ [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
+ [181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2),
+ [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(79),
+ [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
+ [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 2),
+ [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 2),
+ [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
+ [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
+ [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
+ [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
+ [200] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_entry_repeat1, 2), SHIFT_REPEAT(130),
+ [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
+ [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__entry_list_repeat1, 2), SHIFT_REPEAT(117),
+ [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117),
+ [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 5),
+ [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61),
+ [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__identifier_list, 1),
+ [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125),
+ [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__identifier_list_repeat1, 2),
+ [220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__identifier_list_repeat1, 2), SHIFT_REPEAT(125),
+ [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126),
+ [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
+ [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
+ [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
+ [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__identifier_list, 2),
+ [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122),
+ [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_entry_repeat1, 2), SHIFT_REPEAT(126),
+ [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134),
+ [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
+ [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
+ [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
+ [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
+ [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3),
+ [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
+ [252] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
+ [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45),
+ [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_type, 1),
+ [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef _WIN32
+#define extern __declspec(dllexport)
+#endif
+
+extern const TSLanguage *tree_sitter_apinotation(void) {
+ static const TSLanguage language = {
+ .version = LANGUAGE_VERSION,
+ .symbol_count = SYMBOL_COUNT,
+ .alias_count = ALIAS_COUNT,
+ .token_count = TOKEN_COUNT,
+ .external_token_count = EXTERNAL_TOKEN_COUNT,
+ .state_count = STATE_COUNT,
+ .large_state_count = LARGE_STATE_COUNT,
+ .production_id_count = PRODUCTION_ID_COUNT,
+ .field_count = FIELD_COUNT,
+ .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
+ .parse_table = &ts_parse_table[0][0],
+ .small_parse_table = ts_small_parse_table,
+ .small_parse_table_map = ts_small_parse_table_map,
+ .parse_actions = ts_parse_actions,
+ .symbol_names = ts_symbol_names,
+ .symbol_metadata = ts_symbol_metadata,
+ .public_symbol_map = ts_symbol_map,
+ .alias_map = ts_non_terminal_alias_map,
+ .alias_sequences = &ts_alias_sequences[0][0],
+ .lex_modes = ts_lex_modes,
+ .lex_fn = ts_lex,
+ .primary_state_ids = ts_primary_state_ids,
+ };
+ return &language;
+}
+#ifdef __cplusplus
+}
+#endif
--- /dev/null
+#ifndef TREE_SITTER_PARSER_H_
+#define TREE_SITTER_PARSER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#define ts_builtin_sym_error ((TSSymbol)-1)
+#define ts_builtin_sym_end 0
+#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024
+
+typedef uint16_t TSStateId;
+
+#ifndef TREE_SITTER_API_H_
+typedef uint16_t TSSymbol;
+typedef uint16_t TSFieldId;
+typedef struct TSLanguage TSLanguage;
+#endif
+
+typedef struct {
+ TSFieldId field_id;
+ uint8_t child_index;
+ bool inherited;
+} TSFieldMapEntry;
+
+typedef struct {
+ uint16_t index;
+ uint16_t length;
+} TSFieldMapSlice;
+
+typedef struct {
+ bool visible;
+ bool named;
+ bool supertype;
+} TSSymbolMetadata;
+
+typedef struct TSLexer TSLexer;
+
+struct TSLexer {
+ int32_t lookahead;
+ TSSymbol result_symbol;
+ void (*advance)(TSLexer *, bool);
+ void (*mark_end)(TSLexer *);
+ uint32_t (*get_column)(TSLexer *);
+ bool (*is_at_included_range_start)(const TSLexer *);
+ bool (*eof)(const TSLexer *);
+};
+
+typedef enum {
+ TSParseActionTypeShift,
+ TSParseActionTypeReduce,
+ TSParseActionTypeAccept,
+ TSParseActionTypeRecover,
+} TSParseActionType;
+
+typedef union {
+ struct {
+ uint8_t type;
+ TSStateId state;
+ bool extra;
+ bool repetition;
+ } shift;
+ struct {
+ uint8_t type;
+ uint8_t child_count;
+ TSSymbol symbol;
+ int16_t dynamic_precedence;
+ uint16_t production_id;
+ } reduce;
+ uint8_t type;
+} TSParseAction;
+
+typedef struct {
+ uint16_t lex_state;
+ uint16_t external_lex_state;
+} TSLexMode;
+
+typedef union {
+ TSParseAction action;
+ struct {
+ uint8_t count;
+ bool reusable;
+ } entry;
+} TSParseActionEntry;
+
+struct TSLanguage {
+ uint32_t version;
+ uint32_t symbol_count;
+ uint32_t alias_count;
+ uint32_t token_count;
+ uint32_t external_token_count;
+ uint32_t state_count;
+ uint32_t large_state_count;
+ uint32_t production_id_count;
+ uint32_t field_count;
+ uint16_t max_alias_sequence_length;
+ const uint16_t *parse_table;
+ const uint16_t *small_parse_table;
+ const uint32_t *small_parse_table_map;
+ const TSParseActionEntry *parse_actions;
+ const char * const *symbol_names;
+ const char * const *field_names;
+ const TSFieldMapSlice *field_map_slices;
+ const TSFieldMapEntry *field_map_entries;
+ const TSSymbolMetadata *symbol_metadata;
+ const TSSymbol *public_symbol_map;
+ const uint16_t *alias_map;
+ const TSSymbol *alias_sequences;
+ const TSLexMode *lex_modes;
+ bool (*lex_fn)(TSLexer *, TSStateId);
+ bool (*keyword_lex_fn)(TSLexer *, TSStateId);
+ TSSymbol keyword_capture_token;
+ struct {
+ const bool *states;
+ const TSSymbol *symbol_map;
+ void *(*create)(void);
+ void (*destroy)(void *);
+ bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist);
+ unsigned (*serialize)(void *, char *);
+ void (*deserialize)(void *, const char *, unsigned);
+ } external_scanner;
+ const TSStateId *primary_state_ids;
+};
+
+/*
+ * Lexer Macros
+ */
+
+#define START_LEXER() \
+ bool result = false; \
+ bool skip = false; \
+ bool eof = false; \
+ int32_t lookahead; \
+ goto start; \
+ next_state: \
+ lexer->advance(lexer, skip); \
+ start: \
+ skip = false; \
+ lookahead = lexer->lookahead;
+
+#define ADVANCE(state_value) \
+ { \
+ state = state_value; \
+ goto next_state; \
+ }
+
+#define SKIP(state_value) \
+ { \
+ skip = true; \
+ state = state_value; \
+ goto next_state; \
+ }
+
+#define ACCEPT_TOKEN(symbol_value) \
+ result = true; \
+ lexer->result_symbol = symbol_value; \
+ lexer->mark_end(lexer);
+
+#define END_STATE() return result;
+
+/*
+ * Parse Table Macros
+ */
+
+#define SMALL_STATE(id) id - LARGE_STATE_COUNT
+
+#define STATE(id) id
+
+#define ACTIONS(id) id
+
+#define SHIFT(state_value) \
+ {{ \
+ .shift = { \
+ .type = TSParseActionTypeShift, \
+ .state = state_value \
+ } \
+ }}
+
+#define SHIFT_REPEAT(state_value) \
+ {{ \
+ .shift = { \
+ .type = TSParseActionTypeShift, \
+ .state = state_value, \
+ .repetition = true \
+ } \
+ }}
+
+#define SHIFT_EXTRA() \
+ {{ \
+ .shift = { \
+ .type = TSParseActionTypeShift, \
+ .extra = true \
+ } \
+ }}
+
+#define REDUCE(symbol_val, child_count_val, ...) \
+ {{ \
+ .reduce = { \
+ .type = TSParseActionTypeReduce, \
+ .symbol = symbol_val, \
+ .child_count = child_count_val, \
+ __VA_ARGS__ \
+ }, \
+ }}
+
+#define RECOVER() \
+ {{ \
+ .type = TSParseActionTypeRecover \
+ }}
+
+#define ACCEPT_INPUT() \
+ {{ \
+ .type = TSParseActionTypeAccept \
+ }}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // TREE_SITTER_PARSER_H_
--- /dev/null
+==================
+Block
+==================
+
+// An example
+Forum.Models.Post
+ +glyphs <Array<String>>
+ -id <UUID>
+ -created_at <Date>
+ -parent_id <UUID>
+ -text <String>
+ -author <Author>
+ // Comments are also
+ // Allowed in the middle
+ ~>textUpdated(text <String>)
+ ->authorUpdated(author <Author>)
+ <~textWillUpdate(text <String>)
+ <-postWillRender(post <Forum.Models.Post>)
+ +>authorUpdated(author <Author>)
+ <+textWillUpdate(text <String>)
+ ::getAll(parent_id <UUID>) => Promise<Array<Forum.Models.Post>> #> NotFoundError,DisplayError
+ ::get(id <UUID>) => Promise<Forum.Models.Post>
+ #update(text <String>) => Promise<void>
+ #transform(transformer <Function<T>(T) => boolean>)
+
+---
+
+(source_file
+ (comment)
+ (definition
+ (entry
+ (identifier)
+ (identifier)
+ (identifier)
+ )
+ (member
+ (member_type)
+ (type_annotation
+ (entry
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)))))))
+ (member
+ (member_type)
+ (type_annotation
+ (entry
+ (identifier))))
+ (member
+ (member_type)
+ (type_annotation
+ (entry
+ (identifier))))
+ (member
+ (member_type)
+ (type_annotation
+ (entry
+ (identifier))))
+ (member
+ (member_type)
+ (type_annotation
+ (entry
+ (identifier))))
+ (member
+ (member_type)
+ (type_annotation
+ (entry
+ (identifier))))
+ (comment)
+ (comment)
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)
+ (identifier)
+ (identifier))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)))))
+ (return_statement
+ (entry
+ (identifier
+ (type_annotation
+ (entry
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)
+ (identifier)
+ (identifier)))))))))
+ (throw_statement
+ (entry
+ (identifier))
+ (entry
+ (identifier))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)))))
+ (return_statement
+ (entry
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)
+ (identifier)
+ (identifier)))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)))))
+ (return_statement
+ (entry
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)))))))
+ (member
+ (member_type)
+ (parameter_list
+ (identifier
+ (type_annotation
+ (entry
+ (identifier
+ (type_annotation
+ (entry
+ (identifier)))
+ (parameter_list
+ (identifier))
+ (return_statement
+ (entry
+ (identifier)))))))))))
--- /dev/null
+Forum.Models.Post
+// <- keyword
+// ^ keyword
+// ^ keyword
+ +glyphs <Array<String>>
+ //<- operator
+ //^ property
+ // ^ type
+ // ^ keyword
+ // ^ type
+ // ^ keyword
+ // ^ type
+
+ -id <UUID>
+ -created_at <Date>
+ -parent_id <UUID>
+ -text <String>
+ -author <Author>
+ ~>textUpdated(text <String>)
+ //<- operator
+ //^ property
+ // ^ function
+ // ^ parameter
+ // ^ type
+ // ^ keyword
+ // ^ type
+ // ^ function
+ ->authorUpdated(author <Author>)
+ <~textWillUpdate(text <String>)
+ <-postWillRender(post <Forum.Models.Post>)
+ +>authorUpdated(author <Author>)
+ <+textWillUpdate(text <String>)
+ ::getAll(parent_id <UUID>) => Promise<Array<Forum.Models.Post>> #> NotFoundError,DisplayError
+ //<- operator
+ //^ property
+ // ^ function
+ // ^ parameter
+ // ^ type
+ // ^ keyword
+ // ^ type
+ // ^ function
+ // ^ operator
+ // ^ keyword
+ // ^ operator
+ // ^ keyword
+ ::get(id <UUID>) => Promise<Forum.Models.Post>
+ #update(text <String>) => Promise<void>
+ #transform(transformer <Function<T>(T) => boolean>)