diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/cucumber-js-1646.iml b/.idea/cucumber-js-1646.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/cucumber-js-1646.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..6e0a8a8 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..26cb953 --- /dev/null +++ b/index.js @@ -0,0 +1 @@ +const TestCaseHookDefinition = require('@cucumber/cucumber/lib/models/test_case_hook_definition'); diff --git a/node_modules/.bin/cucumber-html-formatter b/node_modules/.bin/cucumber-html-formatter new file mode 120000 index 0000000..9a78372 --- /dev/null +++ b/node_modules/.bin/cucumber-html-formatter @@ -0,0 +1 @@ +../@cucumber/html-formatter/bin/cucumber-html-formatter.js \ No newline at end of file diff --git a/node_modules/.bin/cucumber-js b/node_modules/.bin/cucumber-js new file mode 120000 index 0000000..41e52bf --- /dev/null +++ b/node_modules/.bin/cucumber-js @@ -0,0 +1 @@ +../@cucumber/cucumber/bin/cucumber-js \ No newline at end of file diff --git a/node_modules/.bin/gherkin-javascript b/node_modules/.bin/gherkin-javascript new file mode 120000 index 0000000..4f924d4 --- /dev/null +++ b/node_modules/.bin/gherkin-javascript @@ -0,0 +1 @@ +../@cucumber/gherkin-streams/bin/gherkin \ No newline at end of file diff --git a/node_modules/.bin/pbjs b/node_modules/.bin/pbjs new file mode 120000 index 0000000..a96b24a --- /dev/null +++ b/node_modules/.bin/pbjs @@ -0,0 +1 @@ +../protobufjs/bin/pbjs \ No newline at end of file diff --git a/node_modules/.bin/pbts b/node_modules/.bin/pbts new file mode 120000 index 0000000..b4c7c52 --- /dev/null +++ b/node_modules/.bin/pbts @@ -0,0 +1 @@ +../protobufjs/bin/pbts \ No newline at end of file diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf new file mode 120000 index 0000000..4cd49a4 --- /dev/null +++ b/node_modules/.bin/rimraf @@ -0,0 +1 @@ +../rimraf/bin.js \ No newline at end of file diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid new file mode 120000 index 0000000..588f70e --- /dev/null +++ b/node_modules/.bin/uuid @@ -0,0 +1 @@ +../uuid/dist/bin/uuid \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/.github/ISSUE_TEMPLATE.md b/node_modules/@cucumber/create-meta/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..fac9619 --- /dev/null +++ b/node_modules/@cucumber/create-meta/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE ISSUES IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your issue in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/issues diff --git a/node_modules/@cucumber/create-meta/.github/PULL_REQUEST_TEMPLATE.md b/node_modules/@cucumber/create-meta/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..2c0c878 --- /dev/null +++ b/node_modules/@cucumber/create-meta/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE PULL REAUESTS IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your pull request in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/pulls diff --git a/node_modules/@cucumber/create-meta/.mocharc.json b/node_modules/@cucumber/create-meta/.mocharc.json new file mode 100644 index 0000000..d5055eb --- /dev/null +++ b/node_modules/@cucumber/create-meta/.mocharc.json @@ -0,0 +1,6 @@ +{ + "require": ["tsconfig-paths/register", "ts-node/register", "source-map-support/register"], + "extension": ["ts", "tsx"], + "recursive": true, + "timeout": 10000 +} diff --git a/node_modules/@cucumber/create-meta/.rsync b/node_modules/@cucumber/create-meta/.rsync new file mode 100644 index 0000000..da29589 --- /dev/null +++ b/node_modules/@cucumber/create-meta/.rsync @@ -0,0 +1,4 @@ +../../LICENSE LICENSE +../../.templates/github/ .github/ +../../.templates/javascript/ . +../ciDict.json src/ciDict.json diff --git a/node_modules/@cucumber/create-meta/LICENSE b/node_modules/@cucumber/create-meta/LICENSE new file mode 100644 index 0000000..725ba9f --- /dev/null +++ b/node_modules/@cucumber/create-meta/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Cucumber Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@cucumber/create-meta/Makefile b/node_modules/@cucumber/create-meta/Makefile new file mode 100644 index 0000000..cfeb948 --- /dev/null +++ b/node_modules/@cucumber/create-meta/Makefile @@ -0,0 +1,17 @@ +include default.mk + +ENVIRONMENT_FILES = $(shell find ../testdata -name "*.txt") +CIS = $(patsubst ../testdata/%.txt,acceptance/%.txt.json,$(ENVIRONMENT_FILES)) +PRINT_META = npm run print-meta --silent + +.DELETE_ON_ERROR: + +.tested: .compared + +.compared: $(CIS) + touch $@ + +acceptance/%.txt.json: ../testdata/%.txt ../testdata/%.txt.json + mkdir -p $(@D) + $(PRINT_META) -- $< | jq --sort-keys "." > $@ + diff --unified <(jq --sort-keys "." $<.json) <(jq "." $@) diff --git a/node_modules/@cucumber/create-meta/bin/print-meta b/node_modules/@cucumber/create-meta/bin/print-meta new file mode 100755 index 0000000..0057d24 --- /dev/null +++ b/node_modules/@cucumber/create-meta/bin/print-meta @@ -0,0 +1,3 @@ +#!/usr/bin/env node +require('source-map-support').install() +require('../dist/src/printMeta') diff --git a/node_modules/@cucumber/create-meta/default.mk b/node_modules/@cucumber/create-meta/default.mk new file mode 100644 index 0000000..2d7aafb --- /dev/null +++ b/node_modules/@cucumber/create-meta/default.mk @@ -0,0 +1,69 @@ +SHELL := /usr/bin/env bash +# https://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make +rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d)) +TYPESCRIPT_SOURCE_FILES = $(sort $(call rwildcard,src test,*.ts *.tsx)) +PRIVATE = $(shell node -e "console.log(require('./package.json').private)") +IS_TESTDATA = $(findstring -testdata,${CURDIR}) +NPM_MODULE = $(shell cat package.json | jq .name --raw-output) + +default: .tested +.PHONY: default + +.codegen: + touch $@ + +.tested: .tested-npm + +.tested-npm: $(TYPESCRIPT_SOURCE_FILES) .codegen + npm run test + touch $@ + +pre-release: clean update-version update-dependencies default +.PHONY: pre-release + +update-dependencies: + ../../node_modules/.bin/npm-check-updates --upgrade && \ + pushd ../.. && \ + npm install && \ + npm run build && \ + popd +.PHONY: update-dependencies + +update-version: +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifdef NEW_VERSION + npm --no-git-tag-version --allow-same-version version "$(NEW_VERSION)" + # Update all npm packages that depend on us + pushd ../.. && \ + ./scripts/npm-each update_npm_dependency_if_exists package.json "$(NPM_MODULE)" "^$(NEW_VERSION)" + # npm install +else + @echo -e "\033[0;31mNEW_VERSION is not defined. Can't update version :-(\033[0m" + exit 1 +endif +endif +.PHONY: update-version + +publish: .codegen +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifneq (true,$(PRIVATE)) + npm publish --access public +else + @echo "Not publishing private npm module" +endif +endif +.PHONY: publish + +post-release: +.PHONY: post-release + +clean: clean-javascript +.PHONY: clean + +clean-javascript: + rm -rf .deps .codegen .tested* node_modules coverage dist acceptance +.PHONY: clean-javascript diff --git a/node_modules/@cucumber/create-meta/dist/src/ciDict.json b/node_modules/@cucumber/create-meta/dist/src/ciDict.json new file mode 100644 index 0000000..cb03112 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/ciDict.json @@ -0,0 +1,110 @@ +{ + "Azure Pipelines": { + "url": "${BUILD_URI}", + "git": { + "remote": "${BUILD_REPOSITORY_URI}", + "revision": "${BUILD_SOURCEVERSION}", + "branch": "${refbranch BUILD_SOURCEBRANCH}", + "tag": "${reftag BUILD_SOURCEBRANCH}" + } + }, + "Bamboo": { + "url": "${bamboo.buildResultsUrl}", + "git": { + "remote": "${bamboo.planRepository.1.repositoryUrl}", + "revision": "${bamboo.planRepository.1.revision}", + "branch": "${bamboo.planRepository.1.branch}", + "tag": null + } + }, + "Buddy": { + "url": "${BUDDY_EXECUTION_URL}", + "git": { + "remote": "${BUDDY_SCM_URL}", + "revision": "${BUDDY_EXECUTION_REVISION}", + "branch": "${BUDDY_EXECUTION_BRANCH}", + "tag": "${BUDDY_EXECUTION_TAG}" + } + }, + "CircleCI": { + "url": "${CIRCLE_BUILD_URL}", + "git": { + "remote": "${CIRCLE_REPOSITORY_URL}", + "revision": "${CIRCLE_SHA1}", + "branch": "${CIRCLE_BRANCH}", + "tag": "${CIRCLE_TAG}" + } + }, + "CodeShip": { + "url": "${CF_BUILD_URL}", + "git": { + "remote": "${CF_COMMIT_URL}", + "revision": "${CF_REVISION}", + "branch": "${CF_BRANCH}", + "tag": null + } + }, + "GitHub Actions": { + "url": "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}", + "git": { + "remote": "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git", + "revision": "${GITHUB_SHA}", + "branch": "${refbranch GITHUB_REF}", + "tag": "${reftag GITHUB_REF}" + } + }, + "GitLab": { + "url": "${CI_JOB_URL}", + "git": { + "remote": "${CI_REPOSITORY_URL}", + "revision": "${CI_COMMIT_SHA}", + "branch": "${CI_COMMIT_BRANCH}", + "tag": "${CI_COMMIT_TAG}" + } + }, + "GoCD": { + "url": "${GO_SERVER_URL}/???", + "git": { + "remote": null, + "revision": "${GO_REVISION}", + "branch": null, + "tag": null + } + }, + "Semaphore": { + "url": "${SEMAPHORE_ORGANIZATION_URL}/${}", + "git": { + "remote": "${SEMAPHORE_GIT_URL}", + "revision": "${SEMAPHORE_GIT_SHA}", + "branch": "${SEMAPHORE_GIT_BRANCH}", + "tag": "${SEMAPHORE_GIT_TAG_NAME}" + } + }, + "TeamCity": { + "url": "${teamcity.serverUrl}/app/rest/builds/id:${teamcity.build.id}", + "git": { + "remote": null, + "revision": "${build.vcs.number}", + "branch": "${teamcity.build.branch}", + "tag": null + } + }, + "Travis CI": { + "url": "${TRAVIS_BUILD_WEB_URL}", + "git": { + "remote": "https://github.com/${TRAVIS_REPO_SLUG}.git", + "revision": "${TRAVIS_COMMIT}", + "branch": "${TRAVIS_BRANCH}", + "tag": "${TRAVIS_TAG}" + } + }, + "Wercker": { + "url": "${WERCKER_RUN_URL}", + "git": { + "remote": "https://${WERCKER_GIT_DOMAIN}/${WERCKER_GIT_OWNER}/${WERCKER_GIT_REPOSITORY}.git", + "revision": "${WERCKER_GIT_COMMIT}", + "branch": "${WERCKER_GIT_BRANCH}", + "tag": null + } + } +} diff --git a/node_modules/@cucumber/create-meta/dist/src/createMeta.d.ts b/node_modules/@cucumber/create-meta/dist/src/createMeta.d.ts new file mode 100644 index 0000000..54c5bee --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/createMeta.d.ts @@ -0,0 +1,20 @@ +import { messages } from '@cucumber/messages'; +export declare type CiDict = { + [name: string]: CiSystem; +}; +export declare type EnvDict = { + [name: string]: string | undefined; +}; +export interface CiSystem { + url: string; + git: { + remote: string | undefined; + branch: string | undefined; + revision: string | undefined; + tag: string | undefined; + }; +} +export default function createMeta(toolName: string, toolVersion: string, envDict: EnvDict, ciDict?: CiDict): messages.Meta; +export declare function detectCI(ciDict: CiDict, envDict: EnvDict): messages.Meta.CI | undefined; +export declare function removeUserInfoFromUrl(value: string): string; +//# sourceMappingURL=createMeta.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/createMeta.d.ts.map b/node_modules/@cucumber/create-meta/dist/src/createMeta.d.ts.map new file mode 100644 index 0000000..d1c568f --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/createMeta.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createMeta.d.ts","sourceRoot":"","sources":["../../src/createMeta.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAA8B,MAAM,oBAAoB,CAAA;AAGzE,oBAAY,MAAM,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAA;AACjD,oBAAY,OAAO,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAE5D,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE;QACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KACxB,CAAA;CACF;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,QAAQ,CAAC,IAAI,CAuBf;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAYvF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3D"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/createMeta.js b/node_modules/@cucumber/create-meta/dist/src/createMeta.js new file mode 100644 index 0000000..df00602 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/createMeta.js @@ -0,0 +1,119 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.removeUserInfoFromUrl = exports.detectCI = void 0; +const os_1 = __importDefault(require("os")); +const url_1 = require("url"); +const messages_1 = require("@cucumber/messages"); +const ciDict_json_1 = __importDefault(require("./ciDict.json")); +function createMeta(toolName, toolVersion, envDict, ciDict) { + if (ciDict === undefined) { + ciDict = ciDict_json_1.default; + } + return new messages_1.messages.Meta({ + protocolVersion: messages_1.version, + implementation: new messages_1.messages.Meta.Product({ + name: toolName, + version: toolVersion, + }), + cpu: new messages_1.messages.Meta.Product({ + name: os_1.default.arch(), + }), + os: new messages_1.messages.Meta.Product({ + name: os_1.default.platform(), + version: os_1.default.release(), + }), + runtime: new messages_1.messages.Meta.Product({ + name: 'node.js', + version: process.versions.node, + }), + ci: detectCI(ciDict, envDict), + }); +} +exports.default = createMeta; +function detectCI(ciDict, envDict) { + const detected = []; + for (const [ciName, ciSystem] of Object.entries(ciDict)) { + const ci = createCi(ciName, ciSystem, envDict); + if (ci) { + detected.push(ci); + } + } + if (detected.length !== 1) { + return undefined; + } + return detected[0]; +} +exports.detectCI = detectCI; +function removeUserInfoFromUrl(value) { + if (!value) + return value; + const url = url_1.parse(value); + if (url.auth === null) + return value; + url.auth = null; + return url_1.format(url); +} +exports.removeUserInfoFromUrl = removeUserInfoFromUrl; +function createCi(ciName, ciSystem, envDict) { + const url = evaluate(ciSystem.url, envDict); + if (url === undefined) { + // The url is what consumers will use as the primary key for a build + // If this cannot be determined, we return nothing. + return undefined; + } + return messages_1.messages.Meta.CI.create({ + url, + name: ciName, + git: { + remote: removeUserInfoFromUrl(evaluate(ciSystem.git.remote, envDict)), + revision: evaluate(ciSystem.git.revision, envDict), + branch: evaluate(ciSystem.git.branch, envDict), + tag: evaluate(ciSystem.git.tag, envDict), + }, + }); +} +/** + * Evaluates a simple template + * + * @param template - the template from the ciDict.json file + * @param envDict - variables + * @return the evaluated template, or undefined if a variable was undefined + */ +function evaluate(template, envDict) { + if (template === undefined) { + return undefined; + } + try { + return template.replace(/\${((refbranch|reftag)\s+)?([^\s}]+)(\s+\|\s+([^}]+))?}/g, (substring, ...args) => { + const func = args[1]; + const variable = args[2]; + const defaultValue = args[4]; + const value = envDict[variable] || defaultValue; + if (value === undefined) { + throw new Error(`Undefined variable: ${variable}`); + } + switch (func) { + case 'refbranch': + return group1(value, /^refs\/heads\/(.*)/); + case 'reftag': + return group1(value, /^refs\/tags\/(.*)/); + default: + return value; + } + }); + } + catch (err) { + // There was an undefined variable + return undefined; + } +} +function group1(value, regexp) { + const match = value.match(regexp); + if (match === null) + throw new Error('No match'); + return match[1]; +} +//# sourceMappingURL=createMeta.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/createMeta.js.map b/node_modules/@cucumber/create-meta/dist/src/createMeta.js.map new file mode 100644 index 0000000..0c4bb39 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/createMeta.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createMeta.js","sourceRoot":"","sources":["../../src/createMeta.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/index.d.ts b/node_modules/@cucumber/create-meta/dist/src/index.d.ts new file mode 100644 index 0000000..b0ac3b9 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/index.d.ts @@ -0,0 +1,3 @@ +import createMeta from './createMeta'; +export default createMeta; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/index.d.ts.map b/node_modules/@cucumber/create-meta/dist/src/index.d.ts.map new file mode 100644 index 0000000..b6ae63f --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,eAAe,UAAU,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/index.js b/node_modules/@cucumber/create-meta/dist/src/index.js new file mode 100644 index 0000000..3404a10 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/index.js @@ -0,0 +1,8 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const createMeta_1 = __importDefault(require("./createMeta")); +exports.default = createMeta_1.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/index.js.map b/node_modules/@cucumber/create-meta/dist/src/index.js.map new file mode 100644 index 0000000..7dad409 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,kBAAe,oBAAU,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/printMeta.d.ts b/node_modules/@cucumber/create-meta/dist/src/printMeta.d.ts new file mode 100644 index 0000000..25b3342 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/printMeta.d.ts @@ -0,0 +1,4 @@ +/// +import { Writable } from 'stream'; +export declare function main(envPath: string, stdout: Writable): Promise; +//# sourceMappingURL=printMeta.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/printMeta.d.ts.map b/node_modules/@cucumber/create-meta/dist/src/printMeta.d.ts.map new file mode 100644 index 0000000..cb65b20 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/printMeta.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"printMeta.d.ts","sourceRoot":"","sources":["../../src/printMeta.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,iBAM3D"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/printMeta.js b/node_modules/@cucumber/create-meta/dist/src/printMeta.js new file mode 100644 index 0000000..e27d7bc --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/printMeta.js @@ -0,0 +1,30 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.main = void 0; +const fs_1 = require("fs"); +const createMeta_1 = require("./createMeta"); +const ciDict_json_1 = __importDefault(require("./ciDict.json")); +function main(envPath, stdout) { + return __awaiter(this, void 0, void 0, function* () { + const envData = yield fs_1.promises.readFile(envPath, 'utf-8'); + const entries = envData.split('\n').map((line) => line.split('=')); + const env = Object.fromEntries(entries); + const ci = createMeta_1.detectCI(ciDict_json_1.default, env); + stdout.write(JSON.stringify(ci.toJSON(), null, 2) + '\n'); + }); +} +exports.main = main; +main(process.argv[2], process.stdout).catch((err) => console.error(err.backtrace)); +//# sourceMappingURL=printMeta.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/src/printMeta.js.map b/node_modules/@cucumber/create-meta/dist/src/printMeta.js.map new file mode 100644 index 0000000..b1b665a --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/src/printMeta.js.map @@ -0,0 +1 @@ +{"version":3,"file":"printMeta.js","sourceRoot":"","sources":["../../src/printMeta.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2BAAmC;AACnC,6CAAuC;AACvC,gEAAkC;AAGlC,SAAsB,IAAI,CAAC,OAAe,EAAE,MAAgB;;QAC1D,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAClE,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,EAAE,GAAG,qBAAQ,CAAC,qBAAM,EAAE,GAAG,CAAC,CAAA;QAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC3D,CAAC;CAAA;AAND,oBAMC;AACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/createMetaTest.d.ts b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.d.ts new file mode 100644 index 0000000..0b6d122 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=createMetaTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/createMetaTest.d.ts.map b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.d.ts.map new file mode 100644 index 0000000..537584a --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createMetaTest.d.ts","sourceRoot":"","sources":["../../test/createMetaTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/createMetaTest.js b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.js new file mode 100644 index 0000000..18212e9 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.js @@ -0,0 +1,115 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const createMeta_1 = __importDefault(require("../src/createMeta")); +const assert_1 = __importDefault(require("assert")); +const ciDict_json_1 = __importDefault(require("../src/ciDict.json")); +const messages_1 = require("@cucumber/messages"); +describe('createMeta', () => { + it('defines the implementation product', () => { + const meta = createMeta_1.default('someTool', '1.2.3', {}, {}); + assert_1.default.strictEqual(meta.implementation.name, 'someTool'); + assert_1.default.strictEqual(meta.implementation.version, '1.2.3'); + }); + it('detects CircleCI', () => { + const envDict = { + CIRCLE_BUILD_URL: 'the-url', + CIRCLE_REPOSITORY_URL: 'the-remote', + CIRCLE_BRANCH: 'the-branch', + CIRCLE_SHA1: 'the-revision', + CIRCLE_TAG: 'the-tag', + }; + const meta = createMeta_1.default('someTool', '1.2.3', envDict, ciDict_json_1.default); + assert_1.default.deepStrictEqual(meta.ci, messages_1.messages.Meta.CI.create({ + name: 'CircleCI', + url: 'the-url', + git: { + remote: 'the-remote', + branch: 'the-branch', + revision: 'the-revision', + tag: 'the-tag', + }, + })); + }); + it('detects GitHub Actions', () => { + const envDict = { + GITHUB_SERVER_URL: 'https://github.com', + GITHUB_REPOSITORY: 'cucumber/cucumber-ruby', + GITHUB_RUN_ID: '140170388', + GITHUB_SHA: 'the-revision', + GITHUB_REF: 'refs/tags/the-tag', + }; + const meta = createMeta_1.default('someTool', '1.2.3', envDict, ciDict_json_1.default); + assert_1.default.deepStrictEqual(meta.ci, messages_1.messages.Meta.CI.create({ + name: 'GitHub Actions', + url: 'https://github.com/cucumber/cucumber-ruby/actions/runs/140170388', + git: { + remote: 'https://github.com/cucumber/cucumber-ruby.git', + branch: undefined, + revision: 'the-revision', + tag: 'the-tag', + }, + })); + }); + it('detects GitHub Actions with custom base url', () => { + const envDict = { + GITHUB_SERVER_URL: 'https://github.company.com', + GITHUB_REPOSITORY: 'cucumber/cucumber-ruby', + GITHUB_RUN_ID: '140170388', + GITHUB_SHA: 'the-revision', + GITHUB_REF: 'refs/heads/the-branch', + }; + const meta = createMeta_1.default('someTool', '1.2.3', envDict, ciDict_json_1.default); + assert_1.default.deepStrictEqual(meta.ci, messages_1.messages.Meta.CI.create({ + name: 'GitHub Actions', + url: 'https://github.company.com/cucumber/cucumber-ruby/actions/runs/140170388', + git: { + remote: 'https://github.company.com/cucumber/cucumber-ruby.git', + branch: 'the-branch', + revision: 'the-revision', + tag: undefined, + }, + })); + }); + it('post-processes git refs to branch', () => { + const envDict = { + BUILD_URI: 'the-url', + BUILD_REPOSITORY_URI: 'the-remote', + BUILD_SOURCEBRANCH: 'refs/heads/main', + BUILD_SOURCEVERSION: 'the-revision', + }; + const meta = createMeta_1.default('someTool', '1.2.3', envDict, ciDict_json_1.default); + assert_1.default.deepStrictEqual(meta.ci, messages_1.messages.Meta.CI.create({ + name: 'Azure Pipelines', + url: 'the-url', + git: { + remote: 'the-remote', + branch: 'main', + revision: 'the-revision', + tag: undefined, + }, + })); + }); + it('post-processes git refs to tag', () => { + const envDict = { + BUILD_URI: 'the-url', + BUILD_REPOSITORY_URI: 'the-remote', + BUILD_SOURCEBRANCH: 'refs/tags/v1.2.3', + BUILD_SOURCEVERSION: 'the-revision', + }; + const meta = createMeta_1.default('someTool', '1.2.3', envDict, ciDict_json_1.default); + assert_1.default.deepStrictEqual(meta.ci, messages_1.messages.Meta.CI.create({ + name: 'Azure Pipelines', + url: 'the-url', + git: { + remote: 'the-remote', + branch: undefined, + revision: 'the-revision', + tag: 'v1.2.3', + }, + })); + }); +}); +//# sourceMappingURL=createMetaTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/createMetaTest.js.map b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.js.map new file mode 100644 index 0000000..ec151c9 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/createMetaTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createMetaTest.js","sourceRoot":"","sources":["../../test/createMetaTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.d.ts b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.d.ts new file mode 100644 index 0000000..e0ae584 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=removeUserInfoFromUrlTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.d.ts.map b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.d.ts.map new file mode 100644 index 0000000..de7fbe6 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"removeUserInfoFromUrlTest.d.ts","sourceRoot":"","sources":["../../test/removeUserInfoFromUrlTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.js b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.js new file mode 100644 index 0000000..a5cd250 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.js @@ -0,0 +1,33 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const createMeta_1 = require("../src/createMeta"); +const assert_1 = __importDefault(require("assert")); +describe('removeUserInfoFromUrl', () => { + it('returns undefined for undefined', () => { + assert_1.default.strictEqual(createMeta_1.removeUserInfoFromUrl(undefined), undefined); + }); + it('returns null for null', () => { + assert_1.default.strictEqual(createMeta_1.removeUserInfoFromUrl(null), null); + }); + it('returns empty string for empty string', () => { + assert_1.default.strictEqual(createMeta_1.removeUserInfoFromUrl(null), null); + }); + it('leaves the data intact when no sensitive information is detected', () => { + assert_1.default.strictEqual(createMeta_1.removeUserInfoFromUrl('pretty safe'), 'pretty safe'); + }); + context('with URLs', () => { + it('leaves intact when no password is found', () => { + assert_1.default.strictEqual(createMeta_1.removeUserInfoFromUrl('https://example.com/git/repo.git'), 'https://example.com/git/repo.git'); + }); + it('removes credentials when found', () => { + assert_1.default.strictEqual(createMeta_1.removeUserInfoFromUrl('http://login@example.com/git/repo.git'), 'http://example.com/git/repo.git'); + }); + it('removes credentials and passwords when found', () => { + assert_1.default.strictEqual(createMeta_1.removeUserInfoFromUrl('ssh://login:password@example.com/git/repo.git'), 'ssh://example.com/git/repo.git'); + }); + }); +}); +//# sourceMappingURL=removeUserInfoFromUrlTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.js.map b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.js.map new file mode 100644 index 0000000..9c6310d --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/test/removeUserInfoFromUrlTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"removeUserInfoFromUrlTest.js","sourceRoot":"","sources":["../../test/removeUserInfoFromUrlTest.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyD;AACzD,oDAA2B;AAE3B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,gBAAM,CAAC,WAAW,CAAC,kCAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,gBAAM,CAAC,WAAW,CAAC,kCAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,gBAAM,CAAC,WAAW,CAAC,kCAAqB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,gBAAM,CAAC,WAAW,CAAC,kCAAqB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,gBAAM,CAAC,WAAW,CAChB,kCAAqB,CAAC,kCAAkC,CAAC,EACzD,kCAAkC,CACnC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,gBAAM,CAAC,WAAW,CAChB,kCAAqB,CAAC,uCAAuC,CAAC,EAC9D,iCAAiC,CAClC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,gBAAM,CAAC,WAAW,CAChB,kCAAqB,CAAC,+CAA+C,CAAC,EACtE,gCAAgC,CACjC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/dist/tsconfig.build.tsbuildinfo b/node_modules/@cucumber/create-meta/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000..5792ca8 --- /dev/null +++ b/node_modules/@cucumber/create-meta/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1,2012 @@ +{ + "program": { + "fileInfos": { + "../../../node_modules/typescript/lib/lib.es5.d.ts": { + "version": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "signature": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.d.ts": { + "version": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "signature": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2016.d.ts": { + "version": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "signature": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2017.d.ts": { + "version": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "signature": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2018.d.ts": { + "version": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "signature": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2019.d.ts": { + "version": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "signature": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.dom.d.ts": { + "version": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "signature": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts": { + "version": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "signature": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts": { + "version": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "signature": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts": { + "version": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "signature": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts": { + "version": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "signature": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts": { + "version": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "signature": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts": { + "version": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "signature": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts": { + "version": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "signature": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts": { + "version": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "signature": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts": { + "version": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "signature": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts": { + "version": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "signature": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts": { + "version": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "signature": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts": { + "version": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "signature": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts": { + "version": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "signature": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts": { + "version": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "signature": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts": { + "version": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "signature": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts": { + "version": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "signature": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts": { + "version": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "signature": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts": { + "version": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "signature": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts": { + "version": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "signature": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts": { + "version": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "signature": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts": { + "version": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "signature": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts": { + "version": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "signature": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts": { + "version": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "signature": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts": { + "version": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "signature": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts": { + "version": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "signature": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts": { + "version": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "signature": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "affectsGlobalScope": true + }, + "../../../node_modules/protobufjs/index.d.ts": { + "version": "2d00c5da183a0a701d9a242f775a23606d98ea789bb94303d48e272201204d85", + "signature": "2d00c5da183a0a701d9a242f775a23606d98ea789bb94303d48e272201204d85", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/messages.d.ts": { + "version": "e6a18330f26eaadadef4ed82407aa6e0494d34066ac34c18a34991568e673262", + "signature": "e6a18330f26eaadadef4ed82407aa6e0494d34066ac34c18a34991568e673262", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/TimeConversion.d.ts": { + "version": "95e76dd56ef22401de51fda46140f8677a6672a6c2262ced27fb5882b70cfa54", + "signature": "95e76dd56ef22401de51fda46140f8677a6672a6c2262ced27fb5882b70cfa54", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/IdGenerator.d.ts": { + "version": "67c50537d02e09de9593718e820326dcc559b93fd910d976a65b0a8edc1b400a", + "signature": "67c50537d02e09de9593718e820326dcc559b93fd910d976a65b0a8edc1b400a", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/package.json": { + "version": "10ac44dbc90475d8f619d683ccd240976173961b15fdc48845fe0350ec965a09", + "affectsGlobalScope": true + }, + "../../../messages/javascript/dist/src/index.d.ts": { + "version": "41ba7d2fc377e5a4aa096958dd7c68bff9371b8ca53571ff1a1a7b80c3c1e439", + "signature": "41ba7d2fc377e5a4aa096958dd7c68bff9371b8ca53571ff1a1a7b80c3c1e439", + "affectsGlobalScope": false + }, + "../src/ciDict.json": { + "version": "521e50f33c0c8236b044b8f02a65e5f5fe79d25ccdb3d8b2499a87a5d8194e49", + "affectsGlobalScope": true + }, + "../src/createMeta.ts": { + "version": "e3dbc4fec9cb563d825f61d51ea19b81b97c73c1c008295193ec677f03f91d2a", + "signature": "5f87c67bc7f949c110a90bc2146d70eba65a43a0ac22c6d9c2986873ba02a411", + "affectsGlobalScope": false + }, + "../src/index.ts": { + "version": "4a866b7a85fd7513afa7c0846bdcb13bff45fd129c894d7ecce159260e3fb4eb", + "signature": "5b6b722e53bfd9e4f4a0ecfebee45b02d5597ea9e24627fb2c3583a96e0406ff", + "affectsGlobalScope": false + }, + "../src/printMeta.ts": { + "version": "01732a72a66870cbaeffdbafc523bb0bdd24441978bf53e96643ef39c4e58aa9", + "signature": "c3565960d6924abac58fcbb57394c7831362d29e958a29c136bf4fa7c3fe1636", + "affectsGlobalScope": false + }, + "../test/createMetaTest.ts": { + "version": "f337af5e277b722d0baf2d5a83c3bbb5e6e2d724bc0a6fcc822b6bd4b1f6138f", + "signature": "c0d7ef2026faa33de2eac7ac811c4ffbdba2cd390b55c94748a1ceae59231d2b", + "affectsGlobalScope": false + }, + "../test/removeUserInfoFromUrlTest.ts": { + "version": "15fed79f50febe32acc9307223365e636d81ff929150949c91461ec05334f772", + "signature": "c695180602dd5d049ca70dc7b1a149dae4bdea29ef9af808ed22597095b794ba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/anymatch/index.d.ts": { + "version": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "signature": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/braces/index.d.ts": { + "version": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "signature": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/chai/index.d.ts": { + "version": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "signature": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/color-name/index.d.ts": { + "version": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "signature": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/conversions.d.ts": { + "version": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "signature": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/route.d.ts": { + "version": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "signature": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/index.d.ts": { + "version": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "signature": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color/index.d.ts": { + "version": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "signature": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/cucumber/index.d.ts": { + "version": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "signature": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/elasticlunr/index.d.ts": { + "version": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "signature": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/helpers.d.ts": { + "version": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "signature": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/json-schema/index.d.ts": { + "version": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "signature": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/estree/index.d.ts": { + "version": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "signature": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/index.d.ts": { + "version": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "signature": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint-scope/index.d.ts": { + "version": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "signature": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.d.ts": { + "version": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "signature": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/async_hooks.d.ts": { + "version": "d20f08527645f62facb2d66c2b7bd31ea964b59c897d00bddb1efe8c13890b72", + "signature": "d20f08527645f62facb2d66c2b7bd31ea964b59c897d00bddb1efe8c13890b72", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/buffer.d.ts": { + "version": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "signature": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/child_process.d.ts": { + "version": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "signature": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/cluster.d.ts": { + "version": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "signature": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/console.d.ts": { + "version": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "signature": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/constants.d.ts": { + "version": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "signature": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/crypto.d.ts": { + "version": "d53b352a01645c470a0d8c31bf290ba791fc28ade0ce187a4a50f5c2f826f75e", + "signature": "d53b352a01645c470a0d8c31bf290ba791fc28ade0ce187a4a50f5c2f826f75e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dgram.d.ts": { + "version": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "signature": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dns.d.ts": { + "version": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "signature": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/domain.d.ts": { + "version": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "signature": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/events.d.ts": { + "version": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "signature": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/fs.d.ts": { + "version": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "signature": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/fs/promises.d.ts": { + "version": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "signature": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http.d.ts": { + "version": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "signature": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http2.d.ts": { + "version": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "signature": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/https.d.ts": { + "version": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "signature": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/inspector.d.ts": { + "version": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "signature": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/module.d.ts": { + "version": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "signature": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/net.d.ts": { + "version": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "signature": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/os.d.ts": { + "version": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "signature": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/path.d.ts": { + "version": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "signature": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/perf_hooks.d.ts": { + "version": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "signature": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/process.d.ts": { + "version": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "signature": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/punycode.d.ts": { + "version": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "signature": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/querystring.d.ts": { + "version": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "signature": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/readline.d.ts": { + "version": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "signature": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/repl.d.ts": { + "version": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "signature": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/stream.d.ts": { + "version": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "signature": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/string_decoder.d.ts": { + "version": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "signature": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/timers.d.ts": { + "version": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "signature": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tls.d.ts": { + "version": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "signature": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/trace_events.d.ts": { + "version": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "signature": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tty.d.ts": { + "version": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "signature": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/url.d.ts": { + "version": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "signature": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/util.d.ts": { + "version": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "signature": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/v8.d.ts": { + "version": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "signature": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/vm.d.ts": { + "version": "141a943e5690105898a67537a470f70b56d0e183441b56051d929e902376b7b2", + "signature": "141a943e5690105898a67537a470f70b56d0e183441b56051d929e902376b7b2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/worker_threads.d.ts": { + "version": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "signature": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/zlib.d.ts": { + "version": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "signature": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.global.d.ts": { + "version": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "signature": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/wasi.d.ts": { + "version": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "signature": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/ts3.6/base.d.ts": { + "version": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "signature": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/assert.d.ts": { + "version": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "signature": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/base.d.ts": { + "version": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "signature": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/index.d.ts": { + "version": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "signature": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/minimatch/index.d.ts": { + "version": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "signature": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob/index.d.ts": { + "version": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "signature": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob-base/index.d.ts": { + "version": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "signature": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/graceful-fs/index.d.ts": { + "version": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "signature": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/unist/index.d.ts": { + "version": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "signature": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/hast/index.d.ts": { + "version": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "signature": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/html-minifier-terser/index.d.ts": { + "version": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "signature": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/is-function/index.d.ts": { + "version": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "signature": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts": { + "version": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "signature": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": { + "version": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "signature": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-reports/index.d.ts": { + "version": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "signature": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/js-yaml/index.d.ts": { + "version": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "signature": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": { + "version": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "signature": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/index.d.ts": { + "version": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "signature": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tough-cookie/index.d.ts": { + "version": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "signature": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": { + "version": "7c7bffe8dc52cffdd34f5402f18d69305c82138cab1312cce58f470285103b0f", + "signature": "7c7bffe8dc52cffdd34f5402f18d69305c82138cab1312cce58f470285103b0f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/index.d.ts": { + "version": "2337b79db6888645933d152006ceecbc8663f956eb8cbed0b2e4287a23a71cda", + "signature": "2337b79db6888645933d152006ceecbc8663f956eb8cbed0b2e4287a23a71cda", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/json5/index.d.ts": { + "version": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "signature": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/long/index.d.ts": { + "version": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "signature": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/global.d.ts": { + "version": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "signature": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts": { + "version": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "signature": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/prop-types/index.d.ts": { + "version": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "signature": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/scheduler/tracing.d.ts": { + "version": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "signature": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/index.d.ts": { + "version": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "signature": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": { + "version": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "signature": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mdast/index.d.ts": { + "version": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "signature": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/micromatch/index.d.ts": { + "version": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "signature": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mocha/index.d.ts": { + "version": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "signature": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": { + "version": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "signature": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/externals.d.ts": { + "version": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "signature": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/index.d.ts": { + "version": "9895aad6ad1d505e2b03c8e41c8643b60a813ad130eb68f843b736b2db7d42e1", + "signature": "9895aad6ad1d505e2b03c8e41c8643b60a813ad130eb68f843b736b2db7d42e1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/normalize-package-data/index.d.ts": { + "version": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "signature": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/npmlog/index.d.ts": { + "version": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "signature": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/overlayscrollbars/index.d.ts": { + "version": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "signature": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse-json/index.d.ts": { + "version": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "signature": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/pretty-hrtime/index.d.ts": { + "version": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "signature": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/qs/index.d.ts": { + "version": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "signature": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/reach__router/index.d.ts": { + "version": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "signature": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-dom/index.d.ts": { + "version": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "signature": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": { + "version": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "signature": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/scheduler/index.d.ts": { + "version": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "signature": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts": { + "version": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "signature": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon/index.d.ts": { + "version": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "signature": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon-chai/index.d.ts": { + "version": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "signature": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/source-list-map/index.d.ts": { + "version": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "signature": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stack-utils/index.d.ts": { + "version": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "signature": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stream-buffers/index.d.ts": { + "version": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "signature": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tapable/index.d.ts": { + "version": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "signature": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/index.d.ts": { + "version": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "signature": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uuid/index.d.ts": { + "version": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "signature": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "affectsGlobalScope": false + }, + "../../../node_modules/anymatch/index.d.ts": { + "version": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "signature": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts": { + "version": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "signature": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": { + "version": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "signature": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": { + "version": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "signature": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": { + "version": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "signature": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": { + "version": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "signature": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": { + "version": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "signature": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": { + "version": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "signature": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": { + "version": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "signature": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": { + "version": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "signature": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": { + "version": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "signature": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": { + "version": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "signature": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": { + "version": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "signature": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/index.d.ts": { + "version": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "signature": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/index.d.ts": { + "version": "f7391eb1cb10ab561aa3ce7c610ea97aa4ab33fc709ee5e2adde541defde882f", + "signature": "f7391eb1cb10ab561aa3ce7c610ea97aa4ab33fc709ee5e2adde541defde882f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-env/index.d.ts": { + "version": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "signature": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/yargs-parser/index.d.ts": { + "version": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "signature": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yargs/index.d.ts": { + "version": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "signature": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yauzl/index.d.ts": { + "version": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "signature": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "affectsGlobalScope": false + } + }, + "options": { + "declaration": true, + "target": 2, + "lib": [ + "lib.es2019.d.ts", + "lib.dom.d.ts" + ], + "sourceMap": true, + "allowJs": false, + "jsx": 2, + "resolveJsonModule": true, + "module": 1, + "esModuleInterop": true, + "noImplicitAny": true, + "moduleResolution": 2, + "outDir": "./", + "downlevelIteration": true, + "skipLibCheck": true, + "composite": true, + "declarationMap": true, + "rootDir": "..", + "configFilePath": "../tsconfig.build.json" + }, + "referencedMap": { + "../src/createMeta.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../src/ciDict.json" + ], + "../src/index.ts": [ + "../src/createMeta.ts" + ], + "../src/printMeta.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../src/ciDict.json", + "../src/createMeta.ts" + ], + "../test/createMetaTest.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/ciDict.json", + "../src/createMeta.ts" + ], + "../test/removeUserInfoFromUrlTest.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../src/createMeta.ts" + ], + "../../../messages/javascript/dist/src/TimeConversion.d.ts": [ + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/index.d.ts": [ + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/messages.d.ts": [ + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ] + }, + "exportedModulesMap": { + "../src/createMeta.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/index.ts": [ + "../src/createMeta.ts" + ], + "../src/printMeta.ts": [ + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../messages/javascript/dist/src/TimeConversion.d.ts": [ + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/index.d.ts": [ + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/messages.d.ts": [ + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../src/ciDict.json", + "../src/createMeta.ts", + "../src/index.ts", + "../src/printMeta.ts", + "../test/createMetaTest.ts", + "../test/removeUserInfoFromUrlTest.ts", + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts", + "../../../node_modules/@types/anymatch/index.d.ts", + "../../../node_modules/@types/braces/index.d.ts", + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/index.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts", + "../../../node_modules/@types/color-name/index.d.ts", + "../../../node_modules/@types/color/index.d.ts", + "../../../node_modules/@types/cucumber/index.d.ts", + "../../../node_modules/@types/elasticlunr/index.d.ts", + "../../../node_modules/@types/eslint-scope/index.d.ts", + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/glob-base/index.d.ts", + "../../../node_modules/@types/glob/index.d.ts", + "../../../node_modules/@types/graceful-fs/index.d.ts", + "../../../node_modules/@types/hast/index.d.ts", + "../../../node_modules/@types/html-minifier-terser/index.d.ts", + "../../../node_modules/@types/is-function/index.d.ts", + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts", + "../../../node_modules/@types/istanbul-lib-report/index.d.ts", + "../../../node_modules/@types/istanbul-reports/index.d.ts", + "../../../node_modules/@types/js-yaml/index.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts", + "../../../node_modules/@types/json5/index.d.ts", + "../../../node_modules/@types/long/index.d.ts", + "../../../node_modules/@types/markdown-to-jsx/index.d.ts", + "../../../node_modules/@types/mdast/index.d.ts", + "../../../node_modules/@types/micromatch/index.d.ts", + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/mocha/index.d.ts", + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/index.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/base.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts", + "../../../node_modules/@types/normalize-package-data/index.d.ts", + "../../../node_modules/@types/npmlog/index.d.ts", + "../../../node_modules/@types/overlayscrollbars/index.d.ts", + "../../../node_modules/@types/parse-json/index.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts", + "../../../node_modules/@types/pretty-hrtime/index.d.ts", + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/qs/index.d.ts", + "../../../node_modules/@types/reach__router/index.d.ts", + "../../../node_modules/@types/react-dom/index.d.ts", + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/index.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts", + "../../../node_modules/@types/sinon-chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts", + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/stack-utils/index.d.ts", + "../../../node_modules/@types/stream-buffers/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/unist/index.d.ts", + "../../../node_modules/@types/uuid/index.d.ts", + "../../../node_modules/@types/webpack-env/index.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack/index.d.ts", + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/yargs-parser/index.d.ts", + "../../../node_modules/@types/yargs/index.d.ts", + "../../../node_modules/@types/yauzl/index.d.ts", + "../../../node_modules/anymatch/index.d.ts", + "../../../node_modules/protobufjs/index.d.ts", + "../../../node_modules/typescript/lib/lib.dom.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts", + "../../../node_modules/typescript/lib/lib.es5.d.ts", + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts" + ] + }, + "version": "4.2.3" +} \ No newline at end of file diff --git a/node_modules/@cucumber/create-meta/package.json b/node_modules/@cucumber/create-meta/package.json new file mode 100644 index 0000000..9aeed44 --- /dev/null +++ b/node_modules/@cucumber/create-meta/package.json @@ -0,0 +1,69 @@ +{ + "_from": "@cucumber/create-meta@4.0.0", + "_id": "@cucumber/create-meta@4.0.0", + "_inBundle": false, + "_integrity": "sha512-I2GWC9PoIGmpc0w/vz2YYeGl/eog1oFogYKUjgflDjhECo1mpD/WQjMRPNOsZnd859S8fPgVByKzGQAWjfjGyQ==", + "_location": "/@cucumber/create-meta", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@cucumber/create-meta@4.0.0", + "name": "@cucumber/create-meta", + "escapedName": "@cucumber%2fcreate-meta", + "scope": "@cucumber", + "rawSpec": "4.0.0", + "saveSpec": null, + "fetchSpec": "4.0.0" + }, + "_requiredBy": [ + "/@cucumber/cucumber" + ], + "_resolved": "https://registry.npmjs.org/@cucumber/create-meta/-/create-meta-4.0.0.tgz", + "_shasum": "ef97070640475e6e1480be93dc1042d361516ea6", + "_spec": "@cucumber/create-meta@4.0.0", + "_where": "/Users/ania/Projects/jan-molak/cucumber-js-1646/node_modules/@cucumber/cucumber", + "author": { + "name": "Cucumber Limited", + "email": "cukes@googlegroups.com" + }, + "bugs": { + "url": "https://github.com/cucumber/cucumber/issues" + }, + "bundleDependencies": false, + "dependencies": { + "@cucumber/messages": "^15.0.0" + }, + "deprecated": false, + "description": "Produce the meta message for Cucumber JavaScript", + "devDependencies": { + "@types/glob": "^7.1.3", + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.37", + "mocha": "^8.3.2", + "source-map-support": "^0.5.19", + "ts-node": "^9.1.1", + "typescript": "^4.2.3" + }, + "directories": { + "test": "test" + }, + "homepage": "https://github.com/cucumber/cucumber", + "keywords": [ + "cucumber" + ], + "license": "MIT", + "main": "dist/src/index.js", + "name": "@cucumber/create-meta", + "repository": { + "type": "git", + "url": "git://github.com/cucumber/cucumber.git" + }, + "scripts": { + "prepublishOnly": "tsc --build tsconfig.build.json", + "print-meta": "ts-node --require tsconfig-paths/register ./src/printMeta.ts", + "test": "mocha" + }, + "types": "dist/src/index.d.ts", + "version": "4.0.0" +} diff --git a/node_modules/@cucumber/create-meta/src/ciDict.json b/node_modules/@cucumber/create-meta/src/ciDict.json new file mode 100644 index 0000000..11d81d7 --- /dev/null +++ b/node_modules/@cucumber/create-meta/src/ciDict.json @@ -0,0 +1,110 @@ +{ + "Azure Pipelines": { + "url": "${BUILD_URI}", + "git": { + "remote": "${BUILD_REPOSITORY_URI}", + "revision": "${BUILD_SOURCEVERSION}", + "branch": "${refbranch BUILD_SOURCEBRANCH}", + "tag": "${reftag BUILD_SOURCEBRANCH}" + } + }, + "Bamboo": { + "url": "${bamboo.buildResultsUrl}", + "git": { + "remote": "${bamboo.planRepository.1.repositoryUrl}", + "revision": "${bamboo.planRepository.1.revision}", + "branch": "${bamboo.planRepository.1.branch}", + "tag": null + } + }, + "Buddy": { + "url": "${BUDDY_EXECUTION_URL}", + "git": { + "remote": "${BUDDY_SCM_URL}", + "revision": "${BUDDY_EXECUTION_REVISION}", + "branch": "${BUDDY_EXECUTION_BRANCH}", + "tag": "${BUDDY_EXECUTION_TAG}" + } + }, + "CircleCI": { + "url": "${CIRCLE_BUILD_URL}", + "git": { + "remote": "${CIRCLE_REPOSITORY_URL}", + "revision": "${CIRCLE_SHA1}", + "branch": "${CIRCLE_BRANCH}", + "tag": "${CIRCLE_TAG}" + } + }, + "CodeShip": { + "url": "${CF_BUILD_URL}", + "git": { + "remote": "${CF_COMMIT_URL}", + "revision": "${CF_REVISION}", + "branch": "${CF_BRANCH}", + "tag": null + } + }, + "GitHub Actions": { + "url": "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}", + "git": { + "remote": "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git", + "revision": "${GITHUB_SHA}", + "branch": "${refbranch GITHUB_REF}", + "tag": "${reftag GITHUB_REF}" + } + }, + "GitLab": { + "url": "${CI_JOB_URL}", + "git": { + "remote": "${CI_REPOSITORY_URL}", + "revision": "${CI_COMMIT_SHA}", + "branch": "${CI_COMMIT_BRANCH}", + "tag": "${CI_COMMIT_TAG}" + } + }, + "GoCD": { + "url": "${GO_SERVER_URL}/???", + "git": { + "remote": null, + "revision": "${GO_REVISION}", + "branch": null, + "tag": null + } + }, + "Semaphore": { + "url": "${SEMAPHORE_ORGANIZATION_URL}/${}", + "git": { + "remote": "${SEMAPHORE_GIT_URL}", + "revision": "${SEMAPHORE_GIT_SHA}", + "branch": "${SEMAPHORE_GIT_BRANCH}", + "tag": "${SEMAPHORE_GIT_TAG_NAME}" + } + }, + "TeamCity": { + "url": "${teamcity.serverUrl}/app/rest/builds/id:${teamcity.build.id}", + "git": { + "remote": null, + "revision": "${build.vcs.number}", + "branch": "${teamcity.build.branch}", + "tag": null + } + }, + "Travis CI": { + "url": "${TRAVIS_BUILD_WEB_URL}", + "git": { + "remote": "https://github.com/${TRAVIS_REPO_SLUG}.git", + "revision": "${TRAVIS_COMMIT}", + "branch": "${TRAVIS_BRANCH}", + "tag": "${TRAVIS_TAG}" + } + }, + "Wercker": { + "url": "${WERCKER_RUN_URL}", + "git": { + "remote": "https://${WERCKER_GIT_DOMAIN}/${WERCKER_GIT_OWNER}/${WERCKER_GIT_REPOSITORY}.git", + "revision": "${WERCKER_GIT_COMMIT}", + "branch": "${WERCKER_GIT_BRANCH}", + "tag": null + } + } +} diff --git a/node_modules/@cucumber/create-meta/src/createMeta.ts b/node_modules/@cucumber/create-meta/src/createMeta.ts new file mode 100644 index 0000000..aed38bd --- /dev/null +++ b/node_modules/@cucumber/create-meta/src/createMeta.ts @@ -0,0 +1,137 @@ +import os from 'os' +import { parse as parseUrl, format as formatUrl } from 'url' +import { messages, version as protocolVersion } from '@cucumber/messages' +import defaultCiDict from './ciDict.json' + +export type CiDict = { [name: string]: CiSystem } +export type EnvDict = { [name: string]: string | undefined } + +export interface CiSystem { + url: string + git: { + remote: string | undefined + branch: string | undefined + revision: string | undefined + tag: string | undefined + } +} + +export default function createMeta( + toolName: string, + toolVersion: string, + envDict: EnvDict, + ciDict?: CiDict +): messages.Meta { + if (ciDict === undefined) { + ciDict = defaultCiDict + } + return new messages.Meta({ + protocolVersion, + implementation: new messages.Meta.Product({ + name: toolName, + version: toolVersion, + }), + cpu: new messages.Meta.Product({ + name: os.arch(), + }), + os: new messages.Meta.Product({ + name: os.platform(), + version: os.release(), + }), + runtime: new messages.Meta.Product({ + name: 'node.js', + version: process.versions.node, + }), + ci: detectCI(ciDict, envDict), + }) +} + +export function detectCI(ciDict: CiDict, envDict: EnvDict): messages.Meta.CI | undefined { + const detected: messages.Meta.CI[] = [] + for (const [ciName, ciSystem] of Object.entries(ciDict)) { + const ci = createCi(ciName, ciSystem, envDict) + if (ci) { + detected.push(ci) + } + } + if (detected.length !== 1) { + return undefined + } + return detected[0] +} + +export function removeUserInfoFromUrl(value: string): string { + if (!value) return value + const url = parseUrl(value) + if (url.auth === null) return value + url.auth = null + return formatUrl(url) +} + +function createCi( + ciName: string, + ciSystem: CiSystem, + envDict: EnvDict +): messages.Meta.CI | undefined { + const url = evaluate(ciSystem.url, envDict) + if (url === undefined) { + // The url is what consumers will use as the primary key for a build + // If this cannot be determined, we return nothing. + return undefined + } + + return messages.Meta.CI.create({ + url, + name: ciName, + git: { + remote: removeUserInfoFromUrl(evaluate(ciSystem.git.remote, envDict)), + revision: evaluate(ciSystem.git.revision, envDict), + branch: evaluate(ciSystem.git.branch, envDict), + tag: evaluate(ciSystem.git.tag, envDict), + }, + }) +} + +/** + * Evaluates a simple template + * + * @param template - the template from the ciDict.json file + * @param envDict - variables + * @return the evaluated template, or undefined if a variable was undefined + */ +function evaluate(template: string, envDict: EnvDict): string | undefined { + if (template === undefined) { + return undefined + } + try { + return template.replace( + /\${((refbranch|reftag)\s+)?([^\s}]+)(\s+\|\s+([^}]+))?}/g, + (substring: string, ...args: any[]): string => { + const func = args[1] + const variable = args[2] + const defaultValue = args[4] + const value = envDict[variable] || defaultValue + if (value === undefined) { + throw new Error(`Undefined variable: ${variable}`) + } + switch (func) { + case 'refbranch': + return group1(value, /^refs\/heads\/(.*)/) + case 'reftag': + return group1(value, /^refs\/tags\/(.*)/) + default: + return value + } + } + ) + } catch (err) { + // There was an undefined variable + return undefined + } +} + +function group1(value: string, regexp: RegExp): string { + const match = value.match(regexp) + if (match === null) throw new Error('No match') + return match[1] +} diff --git a/node_modules/@cucumber/create-meta/src/index.ts b/node_modules/@cucumber/create-meta/src/index.ts new file mode 100644 index 0000000..af1626e --- /dev/null +++ b/node_modules/@cucumber/create-meta/src/index.ts @@ -0,0 +1,3 @@ +import createMeta from './createMeta' + +export default createMeta diff --git a/node_modules/@cucumber/create-meta/src/printMeta.ts b/node_modules/@cucumber/create-meta/src/printMeta.ts new file mode 100644 index 0000000..a586c71 --- /dev/null +++ b/node_modules/@cucumber/create-meta/src/printMeta.ts @@ -0,0 +1,13 @@ +import { promises as fs } from 'fs' +import { detectCI } from './createMeta' +import ciDict from './ciDict.json' +import { Writable } from 'stream' + +export async function main(envPath: string, stdout: Writable) { + const envData = await fs.readFile(envPath, 'utf-8') + const entries = envData.split('\n').map((line) => line.split('=')) + const env = Object.fromEntries(entries) + const ci = detectCI(ciDict, env) + stdout.write(JSON.stringify(ci.toJSON(), null, 2) + '\n') +} +main(process.argv[2], process.stdout).catch((err) => console.error(err.backtrace)) diff --git a/node_modules/@cucumber/create-meta/test/createMetaTest.ts b/node_modules/@cucumber/create-meta/test/createMetaTest.ts new file mode 100644 index 0000000..d158556 --- /dev/null +++ b/node_modules/@cucumber/create-meta/test/createMetaTest.ts @@ -0,0 +1,136 @@ +import createMeta from '../src/createMeta' +import assert from 'assert' +import ciDict from '../src/ciDict.json' +import { messages } from '@cucumber/messages' + +describe('createMeta', () => { + it('defines the implementation product', () => { + const meta = createMeta('someTool', '1.2.3', {}, {}) + + assert.strictEqual(meta.implementation.name, 'someTool') + assert.strictEqual(meta.implementation.version, '1.2.3') + }) + + it('detects CircleCI', () => { + const envDict = { + CIRCLE_BUILD_URL: 'the-url', + CIRCLE_REPOSITORY_URL: 'the-remote', + CIRCLE_BRANCH: 'the-branch', + CIRCLE_SHA1: 'the-revision', + CIRCLE_TAG: 'the-tag', + } + + const meta = createMeta('someTool', '1.2.3', envDict, ciDict) + assert.deepStrictEqual( + meta.ci, + messages.Meta.CI.create({ + name: 'CircleCI', + url: 'the-url', + git: { + remote: 'the-remote', + branch: 'the-branch', + revision: 'the-revision', + tag: 'the-tag', + }, + }) + ) + }) + + it('detects GitHub Actions', () => { + const envDict = { + GITHUB_SERVER_URL: 'https://github.com', + GITHUB_REPOSITORY: 'cucumber/cucumber-ruby', + GITHUB_RUN_ID: '140170388', + GITHUB_SHA: 'the-revision', + GITHUB_REF: 'refs/tags/the-tag', + } + + const meta = createMeta('someTool', '1.2.3', envDict, ciDict) + assert.deepStrictEqual( + meta.ci, + messages.Meta.CI.create({ + name: 'GitHub Actions', + url: 'https://github.com/cucumber/cucumber-ruby/actions/runs/140170388', + git: { + remote: 'https://github.com/cucumber/cucumber-ruby.git', + branch: undefined, + revision: 'the-revision', + tag: 'the-tag', + }, + }) + ) + }) + + it('detects GitHub Actions with custom base url', () => { + const envDict = { + GITHUB_SERVER_URL: 'https://github.company.com', + GITHUB_REPOSITORY: 'cucumber/cucumber-ruby', + GITHUB_RUN_ID: '140170388', + GITHUB_SHA: 'the-revision', + GITHUB_REF: 'refs/heads/the-branch', + } + + const meta = createMeta('someTool', '1.2.3', envDict, ciDict) + assert.deepStrictEqual( + meta.ci, + messages.Meta.CI.create({ + name: 'GitHub Actions', + url: 'https://github.company.com/cucumber/cucumber-ruby/actions/runs/140170388', + git: { + remote: 'https://github.company.com/cucumber/cucumber-ruby.git', + branch: 'the-branch', + revision: 'the-revision', + tag: undefined, + }, + }) + ) + }) + + it('post-processes git refs to branch', () => { + const envDict = { + BUILD_URI: 'the-url', + BUILD_REPOSITORY_URI: 'the-remote', + BUILD_SOURCEBRANCH: 'refs/heads/main', + BUILD_SOURCEVERSION: 'the-revision', + } + + const meta = createMeta('someTool', '1.2.3', envDict, ciDict) + assert.deepStrictEqual( + meta.ci, + messages.Meta.CI.create({ + name: 'Azure Pipelines', + url: 'the-url', + git: { + remote: 'the-remote', + branch: 'main', + revision: 'the-revision', + tag: undefined, + }, + }) + ) + }) + + it('post-processes git refs to tag', () => { + const envDict = { + BUILD_URI: 'the-url', + BUILD_REPOSITORY_URI: 'the-remote', + BUILD_SOURCEBRANCH: 'refs/tags/v1.2.3', + BUILD_SOURCEVERSION: 'the-revision', + } + + const meta = createMeta('someTool', '1.2.3', envDict, ciDict) + assert.deepStrictEqual( + meta.ci, + messages.Meta.CI.create({ + name: 'Azure Pipelines', + url: 'the-url', + git: { + remote: 'the-remote', + branch: undefined, + revision: 'the-revision', + tag: 'v1.2.3', + }, + }) + ) + }) +}) diff --git a/node_modules/@cucumber/create-meta/test/removeUserInfoFromUrlTest.ts b/node_modules/@cucumber/create-meta/test/removeUserInfoFromUrlTest.ts new file mode 100644 index 0000000..9d1bae7 --- /dev/null +++ b/node_modules/@cucumber/create-meta/test/removeUserInfoFromUrlTest.ts @@ -0,0 +1,43 @@ +import { removeUserInfoFromUrl } from '../src/createMeta' +import assert from 'assert' + +describe('removeUserInfoFromUrl', () => { + it('returns undefined for undefined', () => { + assert.strictEqual(removeUserInfoFromUrl(undefined), undefined) + }) + + it('returns null for null', () => { + assert.strictEqual(removeUserInfoFromUrl(null), null) + }) + + it('returns empty string for empty string', () => { + assert.strictEqual(removeUserInfoFromUrl(null), null) + }) + + it('leaves the data intact when no sensitive information is detected', () => { + assert.strictEqual(removeUserInfoFromUrl('pretty safe'), 'pretty safe') + }) + + context('with URLs', () => { + it('leaves intact when no password is found', () => { + assert.strictEqual( + removeUserInfoFromUrl('https://example.com/git/repo.git'), + 'https://example.com/git/repo.git' + ) + }) + + it('removes credentials when found', () => { + assert.strictEqual( + removeUserInfoFromUrl('http://login@example.com/git/repo.git'), + 'http://example.com/git/repo.git' + ) + }) + + it('removes credentials and passwords when found', () => { + assert.strictEqual( + removeUserInfoFromUrl('ssh://login:password@example.com/git/repo.git'), + 'ssh://example.com/git/repo.git' + ) + }) + }) +}) diff --git a/node_modules/@cucumber/create-meta/tsconfig.build.json b/node_modules/@cucumber/create-meta/tsconfig.build.json new file mode 100644 index 0000000..7d2f4e0 --- /dev/null +++ b/node_modules/@cucumber/create-meta/tsconfig.build.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist" + }, + "include": [ + "src/ciDict.json", + "src", + "test" + ] +} diff --git a/node_modules/@cucumber/create-meta/tsconfig.json b/node_modules/@cucumber/create-meta/tsconfig.json new file mode 100644 index 0000000..4082f16 --- /dev/null +++ b/node_modules/@cucumber/create-meta/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/node_modules/@cucumber/cucumber-expressions/.github/ISSUE_TEMPLATE.md b/node_modules/@cucumber/cucumber-expressions/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..fac9619 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE ISSUES IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your issue in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/issues diff --git a/node_modules/@cucumber/cucumber-expressions/.github/PULL_REQUEST_TEMPLATE.md b/node_modules/@cucumber/cucumber-expressions/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..2c0c878 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE PULL REAUESTS IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your pull request in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/pulls diff --git a/node_modules/@cucumber/cucumber-expressions/.mocharc.json b/node_modules/@cucumber/cucumber-expressions/.mocharc.json new file mode 100644 index 0000000..d5055eb --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/.mocharc.json @@ -0,0 +1,6 @@ +{ + "require": ["tsconfig-paths/register", "ts-node/register", "source-map-support/register"], + "extension": ["ts", "tsx"], + "recursive": true, + "timeout": 10000 +} diff --git a/node_modules/@cucumber/cucumber-expressions/.rsync b/node_modules/@cucumber/cucumber-expressions/.rsync new file mode 100644 index 0000000..998c00c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/.rsync @@ -0,0 +1,5 @@ +../../LICENSE LICENSE +../../.templates/github/ .github/ +../../.templates/javascript/ . +../examples.txt examples.txt +../testdata . diff --git a/node_modules/@cucumber/cucumber-expressions/.subrepo b/node_modules/@cucumber/cucumber-expressions/.subrepo new file mode 100644 index 0000000..373066f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/.subrepo @@ -0,0 +1 @@ +cucumber/cucumber-expressions-javascript diff --git a/node_modules/@cucumber/cucumber-expressions/LICENSE b/node_modules/@cucumber/cucumber-expressions/LICENSE new file mode 100644 index 0000000..725ba9f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Cucumber Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@cucumber/cucumber-expressions/Makefile b/node_modules/@cucumber/cucumber-expressions/Makefile new file mode 100644 index 0000000..551e68e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/Makefile @@ -0,0 +1 @@ +include default.mk diff --git a/node_modules/@cucumber/cucumber-expressions/README.md b/node_modules/@cucumber/cucumber-expressions/README.md new file mode 100644 index 0000000..7086fc6 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/README.md @@ -0,0 +1,3 @@ +# Cucumber Expressions for JavaScript + +[The docs are here](https://cucumber.io/docs/cucumber/cucumber-expressions/). diff --git a/node_modules/@cucumber/cucumber-expressions/default.mk b/node_modules/@cucumber/cucumber-expressions/default.mk new file mode 100644 index 0000000..2d7aafb --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/default.mk @@ -0,0 +1,69 @@ +SHELL := /usr/bin/env bash +# https://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make +rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d)) +TYPESCRIPT_SOURCE_FILES = $(sort $(call rwildcard,src test,*.ts *.tsx)) +PRIVATE = $(shell node -e "console.log(require('./package.json').private)") +IS_TESTDATA = $(findstring -testdata,${CURDIR}) +NPM_MODULE = $(shell cat package.json | jq .name --raw-output) + +default: .tested +.PHONY: default + +.codegen: + touch $@ + +.tested: .tested-npm + +.tested-npm: $(TYPESCRIPT_SOURCE_FILES) .codegen + npm run test + touch $@ + +pre-release: clean update-version update-dependencies default +.PHONY: pre-release + +update-dependencies: + ../../node_modules/.bin/npm-check-updates --upgrade && \ + pushd ../.. && \ + npm install && \ + npm run build && \ + popd +.PHONY: update-dependencies + +update-version: +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifdef NEW_VERSION + npm --no-git-tag-version --allow-same-version version "$(NEW_VERSION)" + # Update all npm packages that depend on us + pushd ../.. && \ + ./scripts/npm-each update_npm_dependency_if_exists package.json "$(NPM_MODULE)" "^$(NEW_VERSION)" + # npm install +else + @echo -e "\033[0;31mNEW_VERSION is not defined. Can't update version :-(\033[0m" + exit 1 +endif +endif +.PHONY: update-version + +publish: .codegen +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifneq (true,$(PRIVATE)) + npm publish --access public +else + @echo "Not publishing private npm module" +endif +endif +.PHONY: publish + +post-release: +.PHONY: post-release + +clean: clean-javascript +.PHONY: clean + +clean-javascript: + rm -rf .deps .codegen .tested* node_modules coverage dist acceptance +.PHONY: clean-javascript diff --git a/node_modules/@cucumber/cucumber-expressions/dist/package.json b/node_modules/@cucumber/cucumber-expressions/dist/package.json new file mode 100644 index 0000000..5afb42f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/package.json @@ -0,0 +1,42 @@ +{ + "name": "@cucumber/cucumber-expressions", + "version": "12.0.1", + "description": "Cucumber Expressions - a simpler alternative to Regular Expressions", + "main": "dist/src/index.js", + "types": "dist/src/index.d.ts", + "scripts": { + "test": "mocha", + "prepublishOnly": "tsc --build tsconfig.build.json" + }, + "repository": { + "type": "git", + "url": "git://github.com/cucumber/cucumber-expressions-javascript.git" + }, + "keywords": [ + "cucumber", + "steps", + "regexp", + "regex" + ], + "author": "Cucumber Limited ", + "license": "MIT", + "bugs": { + "url": "https://github.com/cucumber/cucumber-expressions-javascript/issues" + }, + "homepage": "https://github.com/cucumber/cucumber-expressions-javascript#readme", + "devDependencies": { + "@types/js-yaml": "^4.0.0", + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.37", + "js-yaml": "^4.0.0", + "mocha": "^8.3.2", + "ts-node": "^9.1.1", + "typescript": "^4.2.3" + }, + "dependencies": { + "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.4.0" + }, + "directories": { + "test": "test" + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.d.ts new file mode 100644 index 0000000..74fa7f5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.d.ts @@ -0,0 +1,17 @@ +import TreeRegexp from './TreeRegexp'; +import ParameterType from './ParameterType'; +import Group from './Group'; +export default class Argument { + readonly group: Group; + readonly parameterType: ParameterType; + static build(treeRegexp: TreeRegexp, text: string, parameterTypes: ReadonlyArray>): ReadonlyArray>; + constructor(group: Group, parameterType: ParameterType); + /** + * Get the value returned by the parameter type's transformer function. + * + * @param thisObj the object in which the transformer function is applied. + */ + getValue(thisObj: any): T; + getParameterType(): ParameterType; +} +//# sourceMappingURL=Argument.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.d.ts.map new file mode 100644 index 0000000..55dbfd8 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Argument.d.ts","sourceRoot":"","sources":["../../src/Argument.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,SAAS,CAAA;AAG3B,MAAM,CAAC,OAAO,OAAO,QAAQ,CAAC,CAAC;aA0BD,KAAK,EAAE,KAAK;aAAkB,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;WAzB3E,KAAK,CACjB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAChD,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAqBH,KAAK,EAAE,KAAK,EAAkB,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAKzF;;;;OAIG;IACI,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;IAKzB,gBAAgB;CAGxB"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.js b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.js new file mode 100644 index 0000000..99bf4a5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.js @@ -0,0 +1,40 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const CucumberExpressionError_1 = __importDefault(require("./CucumberExpressionError")); +class Argument { + constructor(group, parameterType) { + this.group = group; + this.parameterType = parameterType; + this.group = group; + this.parameterType = parameterType; + } + static build(treeRegexp, text, parameterTypes) { + const group = treeRegexp.match(text); + if (!group) { + return null; + } + const argGroups = group.children; + if (argGroups.length !== parameterTypes.length) { + throw new CucumberExpressionError_1.default(`Expression ${treeRegexp.regexp} has ${argGroups.length} capture groups (${argGroups.map((g) => g.value)}), but there were ${parameterTypes.length} parameter types (${parameterTypes.map((p) => p.name)})`); + } + return parameterTypes.map((parameterType, i) => new Argument(argGroups[i], parameterType)); + } + /** + * Get the value returned by the parameter type's transformer function. + * + * @param thisObj the object in which the transformer function is applied. + */ + getValue(thisObj) { + const groupValues = this.group ? this.group.values : null; + return this.parameterType.transform(thisObj, groupValues); + } + getParameterType() { + return this.parameterType; + } +} +exports.default = Argument; +module.exports = Argument; +//# sourceMappingURL=Argument.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.js.map new file mode 100644 index 0000000..304d8d8 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Argument.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Argument.js","sourceRoot":"","sources":["../../src/Argument.ts"],"names":[],"mappings":";;;;;AAGA,wFAA+D;AAE/D,MAAqB,QAAQ;IA0B3B,YAA4B,KAAY,EAAkB,aAA+B;QAA7D,UAAK,GAAL,KAAK,CAAO;QAAkB,kBAAa,GAAb,aAAa,CAAkB;QACvF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IA5BM,MAAM,CAAC,KAAK,CACjB,UAAsB,EACtB,IAAY,EACZ,cAAiD;QAEjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAA;SACZ;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAA;QAEhC,IAAI,SAAS,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE;YAC9C,MAAM,IAAI,iCAAuB,CAC/B,cAAc,UAAU,CAAC,MAAM,QAAQ,SAAS,CAAC,MAAM,oBAAoB,SAAS,CAAC,GAAG,CACtF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CACf,qBAAqB,cAAc,CAAC,MAAM,qBAAqB,cAAc,CAAC,GAAG,CAChF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,GAAG,CACL,CAAA;SACF;QAED,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;IAC5F,CAAC;IAOD;;;;OAIG;IACI,QAAQ,CAAC,OAAY;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QACzD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC3D,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;CACF;AA5CD,2BA4CC;AAED,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.d.ts new file mode 100644 index 0000000..69f9e4d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.d.ts @@ -0,0 +1,45 @@ +export declare function symbolOf(token: TokenType): string; +export declare function purposeOf(token: TokenType): string; +export interface Located { + readonly start: number; + readonly end: number; +} +export declare class Node { + readonly type: NodeType; + readonly nodes?: ReadonlyArray | undefined; + readonly token?: string | undefined; + readonly start: number; + readonly end: number; + constructor(type: NodeType, nodes: ReadonlyArray, token: string, start: number, end: number); + text(): string; +} +export declare enum NodeType { + text = "TEXT_NODE", + optional = "OPTIONAL_NODE", + alternation = "ALTERNATION_NODE", + alternative = "ALTERNATIVE_NODE", + parameter = "PARAMETER_NODE", + expression = "EXPRESSION_NODE" +} +export declare class Token { + readonly type: TokenType; + readonly text: string; + readonly start: number; + readonly end: number; + constructor(type: TokenType, text: string, start: number, end: number); + static isEscapeCharacter(codePoint: string): boolean; + static canEscape(codePoint: string): boolean; + static typeOf(codePoint: string): TokenType; +} +export declare enum TokenType { + startOfLine = "START_OF_LINE", + endOfLine = "END_OF_LINE", + whiteSpace = "WHITE_SPACE", + beginOptional = "BEGIN_OPTIONAL", + endOptional = "END_OPTIONAL", + beginParameter = "BEGIN_PARAMETER", + endParameter = "END_PARAMETER", + alternation = "ALTERNATION", + text = "TEXT" +} +//# sourceMappingURL=Ast.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.d.ts.map new file mode 100644 index 0000000..4f00b05 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Ast.d.ts","sourceRoot":"","sources":["../../src/Ast.ts"],"names":[],"mappings":"AAOA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAcjD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAYlD;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,qBAAa,IAAI;IACf,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAGlB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,aAAa,CAAC,IAAI,CAAa,EACtC,KAAK,EAAE,MAAkB,EACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM;IAeb,IAAI,IAAI,MAAM;CAMf;AAED,oBAAY,QAAQ;IAClB,IAAI,cAAc;IAClB,QAAQ,kBAAkB;IAC1B,WAAW,qBAAqB;IAChC,WAAW,qBAAqB;IAChC,SAAS,mBAAmB;IAC5B,UAAU,oBAAoB;CAC/B;AAED,qBAAa,KAAK;IAChB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAER,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAOrE,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAsB5C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;CAmB5C;AAED,oBAAY,SAAS;IACnB,WAAW,kBAAkB;IAC7B,SAAS,gBAAgB;IACzB,UAAU,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;IAClC,YAAY,kBAAkB;IAC9B,WAAW,gBAAgB;IAC3B,IAAI,SAAS;CACd"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.js b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.js new file mode 100644 index 0000000..491a512 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.js @@ -0,0 +1,135 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TokenType = exports.Token = exports.NodeType = exports.Node = exports.purposeOf = exports.symbolOf = void 0; +const escapeCharacter = '\\'; +const alternationCharacter = '/'; +const beginParameterCharacter = '{'; +const endParameterCharacter = '}'; +const beginOptionalCharacter = '('; +const endOptionalCharacter = ')'; +function symbolOf(token) { + switch (token) { + case TokenType.beginOptional: + return beginOptionalCharacter; + case TokenType.endOptional: + return endOptionalCharacter; + case TokenType.beginParameter: + return beginParameterCharacter; + case TokenType.endParameter: + return endParameterCharacter; + case TokenType.alternation: + return alternationCharacter; + } + return ''; +} +exports.symbolOf = symbolOf; +function purposeOf(token) { + switch (token) { + case TokenType.beginOptional: + case TokenType.endOptional: + return 'optional text'; + case TokenType.beginParameter: + case TokenType.endParameter: + return 'a parameter'; + case TokenType.alternation: + return 'alternation'; + } + return ''; +} +exports.purposeOf = purposeOf; +class Node { + constructor(type, nodes = undefined, token = undefined, start, end) { + if (nodes === undefined && token === undefined) { + throw new Error('Either nodes or token must be defined'); + } + if (nodes === null || token === null) { + throw new Error('Either nodes or token may not be null'); + } + this.type = type; + this.nodes = nodes; + this.token = token; + this.start = start; + this.end = end; + } + text() { + if (this.nodes) { + return this.nodes.map((value) => value.text()).join(''); + } + return this.token; + } +} +exports.Node = Node; +var NodeType; +(function (NodeType) { + NodeType["text"] = "TEXT_NODE"; + NodeType["optional"] = "OPTIONAL_NODE"; + NodeType["alternation"] = "ALTERNATION_NODE"; + NodeType["alternative"] = "ALTERNATIVE_NODE"; + NodeType["parameter"] = "PARAMETER_NODE"; + NodeType["expression"] = "EXPRESSION_NODE"; +})(NodeType = exports.NodeType || (exports.NodeType = {})); +class Token { + constructor(type, text, start, end) { + this.type = type; + this.text = text; + this.start = start; + this.end = end; + } + static isEscapeCharacter(codePoint) { + return codePoint == escapeCharacter; + } + static canEscape(codePoint) { + if (codePoint == ' ') { + // TODO: Unicode whitespace? + return true; + } + switch (codePoint) { + case escapeCharacter: + return true; + case alternationCharacter: + return true; + case beginParameterCharacter: + return true; + case endParameterCharacter: + return true; + case beginOptionalCharacter: + return true; + case endOptionalCharacter: + return true; + } + return false; + } + static typeOf(codePoint) { + if (codePoint == ' ') { + // TODO: Unicode whitespace? + return TokenType.whiteSpace; + } + switch (codePoint) { + case alternationCharacter: + return TokenType.alternation; + case beginParameterCharacter: + return TokenType.beginParameter; + case endParameterCharacter: + return TokenType.endParameter; + case beginOptionalCharacter: + return TokenType.beginOptional; + case endOptionalCharacter: + return TokenType.endOptional; + } + return TokenType.text; + } +} +exports.Token = Token; +var TokenType; +(function (TokenType) { + TokenType["startOfLine"] = "START_OF_LINE"; + TokenType["endOfLine"] = "END_OF_LINE"; + TokenType["whiteSpace"] = "WHITE_SPACE"; + TokenType["beginOptional"] = "BEGIN_OPTIONAL"; + TokenType["endOptional"] = "END_OPTIONAL"; + TokenType["beginParameter"] = "BEGIN_PARAMETER"; + TokenType["endParameter"] = "END_PARAMETER"; + TokenType["alternation"] = "ALTERNATION"; + TokenType["text"] = "TEXT"; +})(TokenType = exports.TokenType || (exports.TokenType = {})); +//# sourceMappingURL=Ast.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.js.map new file mode 100644 index 0000000..bdbf322 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Ast.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Ast.js","sourceRoot":"","sources":["../../src/Ast.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.d.ts new file mode 100644 index 0000000..090a890 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.d.ts @@ -0,0 +1,10 @@ +import GeneratedExpression from './GeneratedExpression'; +import ParameterType from './ParameterType'; +export default class CombinatorialGeneratedExpressionFactory { + private readonly expressionTemplate; + private readonly parameterTypeCombinations; + constructor(expressionTemplate: string, parameterTypeCombinations: Array>>); + generateExpressions(): ReadonlyArray; + private generatePermutations; +} +//# sourceMappingURL=CombinatorialGeneratedExpressionFactory.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.d.ts.map new file mode 100644 index 0000000..5b2f4b1 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CombinatorialGeneratedExpressionFactory.d.ts","sourceRoot":"","sources":["../../src/CombinatorialGeneratedExpressionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAK3C,MAAM,CAAC,OAAO,OAAO,uCAAuC;IAExD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;gBADzB,kBAAkB,EAAE,MAAM,EAC1B,yBAAyB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAKvE,mBAAmB,IAAI,aAAa,CAAC,mBAAmB,CAAC;IAMhE,OAAO,CAAC,oBAAoB;CA4B7B"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.js b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.js new file mode 100644 index 0000000..7cb8c7f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.js @@ -0,0 +1,41 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GeneratedExpression_1 = __importDefault(require("./GeneratedExpression")); +// 256 generated expressions ought to be enough for anybody +const MAX_EXPRESSIONS = 256; +class CombinatorialGeneratedExpressionFactory { + constructor(expressionTemplate, parameterTypeCombinations) { + this.expressionTemplate = expressionTemplate; + this.parameterTypeCombinations = parameterTypeCombinations; + this.expressionTemplate = expressionTemplate; + } + generateExpressions() { + const generatedExpressions = []; + this.generatePermutations(generatedExpressions, 0, []); + return generatedExpressions; + } + generatePermutations(generatedExpressions, depth, currentParameterTypes) { + if (generatedExpressions.length >= MAX_EXPRESSIONS) { + return; + } + if (depth === this.parameterTypeCombinations.length) { + generatedExpressions.push(new GeneratedExpression_1.default(this.expressionTemplate, currentParameterTypes)); + return; + } + // tslint:disable-next-line:prefer-for-of + for (let i = 0; i < this.parameterTypeCombinations[depth].length; ++i) { + // Avoid recursion if no elements can be added. + if (generatedExpressions.length >= MAX_EXPRESSIONS) { + return; + } + const newCurrentParameterTypes = currentParameterTypes.slice(); // clone + newCurrentParameterTypes.push(this.parameterTypeCombinations[depth][i]); + this.generatePermutations(generatedExpressions, depth + 1, newCurrentParameterTypes); + } + } +} +exports.default = CombinatorialGeneratedExpressionFactory; +//# sourceMappingURL=CombinatorialGeneratedExpressionFactory.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.js.map new file mode 100644 index 0000000..c950f1b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CombinatorialGeneratedExpressionFactory.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CombinatorialGeneratedExpressionFactory.js","sourceRoot":"","sources":["../../src/CombinatorialGeneratedExpressionFactory.ts"],"names":[],"mappings":";;;;;AAAA,gFAAuD;AAGvD,2DAA2D;AAC3D,MAAM,eAAe,GAAG,GAAG,CAAA;AAE3B,MAAqB,uCAAuC;IAC1D,YACmB,kBAA0B,EAC1B,yBAA2D;QAD3D,uBAAkB,GAAlB,kBAAkB,CAAQ;QAC1B,8BAAyB,GAAzB,yBAAyB,CAAkC;QAE5E,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAC9C,CAAC;IAEM,mBAAmB;QACxB,MAAM,oBAAoB,GAA0B,EAAE,CAAA;QACtD,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACtD,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAEO,oBAAoB,CAC1B,oBAA2C,EAC3C,KAAa,EACb,qBAAgD;QAEhD,IAAI,oBAAoB,CAAC,MAAM,IAAI,eAAe,EAAE;YAClD,OAAM;SACP;QAED,IAAI,KAAK,KAAK,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE;YACnD,oBAAoB,CAAC,IAAI,CACvB,IAAI,6BAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CACxE,CAAA;YACD,OAAM;SACP;QAED,yCAAyC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACrE,+CAA+C;YAC/C,IAAI,oBAAoB,CAAC,MAAM,IAAI,eAAe,EAAE;gBAClD,OAAM;aACP;YAED,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAA,CAAC,QAAQ;YACvE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACvE,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,KAAK,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAA;SACrF;IACH,CAAC;CACF;AA1CD,0DA0CC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.d.ts new file mode 100644 index 0000000..70853ff --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.d.ts @@ -0,0 +1,28 @@ +import ParameterTypeRegistry from './ParameterTypeRegistry'; +import Argument from './Argument'; +import Expression from './Expression'; +export default class CucumberExpression implements Expression { + private readonly expression; + private readonly parameterTypeRegistry; + private readonly parameterTypes; + private readonly treeRegexp; + /** + * @param expression + * @param parameterTypeRegistry + */ + constructor(expression: string, parameterTypeRegistry: ParameterTypeRegistry); + private rewriteToRegex; + private static escapeRegex; + private rewriteOptional; + private rewriteAlternation; + private rewriteAlternative; + private rewriteParameter; + private rewriteExpression; + private assertNotEmpty; + private assertNoParameters; + private assertNoOptionals; + match(text: string): ReadonlyArray>; + get regexp(): RegExp; + get source(): string; +} +//# sourceMappingURL=CucumberExpression.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.d.ts.map new file mode 100644 index 0000000..bfa121e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpression.d.ts","sourceRoot":"","sources":["../../src/CucumberExpression.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAG3D,OAAO,QAAQ,MAAM,YAAY,CAAA;AASjC,OAAO,UAAU,MAAM,cAAc,CAAA;AAOrC,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,UAAU;IASzD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IATxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IAEvC;;;OAGG;gBAEgB,UAAU,EAAE,MAAM,EAClB,qBAAqB,EAAE,qBAAqB;IAQ/D,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,iBAAiB;IAUlB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAIxD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.js b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.js new file mode 100644 index 0000000..4dfb544 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.js @@ -0,0 +1,115 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const TreeRegexp_1 = __importDefault(require("./TreeRegexp")); +const Argument_1 = __importDefault(require("./Argument")); +const Errors_1 = require("./Errors"); +const CucumberExpressionParser_1 = __importDefault(require("./CucumberExpressionParser")); +const Ast_1 = require("./Ast"); +const ESCAPE_PATTERN = () => /([\\^[({$.|?*+})\]])/g; +class CucumberExpression { + /** + * @param expression + * @param parameterTypeRegistry + */ + constructor(expression, parameterTypeRegistry) { + this.expression = expression; + this.parameterTypeRegistry = parameterTypeRegistry; + this.parameterTypes = []; + const parser = new CucumberExpressionParser_1.default(); + const ast = parser.parse(expression); + const pattern = this.rewriteToRegex(ast); + this.treeRegexp = new TreeRegexp_1.default(pattern); + } + rewriteToRegex(node) { + switch (node.type) { + case Ast_1.NodeType.text: + return CucumberExpression.escapeRegex(node.text()); + case Ast_1.NodeType.optional: + return this.rewriteOptional(node); + case Ast_1.NodeType.alternation: + return this.rewriteAlternation(node); + case Ast_1.NodeType.alternative: + return this.rewriteAlternative(node); + case Ast_1.NodeType.parameter: + return this.rewriteParameter(node); + case Ast_1.NodeType.expression: + return this.rewriteExpression(node); + default: + // Can't happen as long as the switch case is exhaustive + throw new Error(node.type); + } + } + static escapeRegex(expression) { + return expression.replace(ESCAPE_PATTERN(), '\\$1'); + } + rewriteOptional(node) { + this.assertNoParameters(node, (astNode) => Errors_1.createParameterIsNotAllowedInOptional(astNode, this.expression)); + this.assertNoOptionals(node, (astNode) => Errors_1.createOptionalIsNotAllowedInOptional(astNode, this.expression)); + this.assertNotEmpty(node, (astNode) => Errors_1.createOptionalMayNotBeEmpty(astNode, this.expression)); + const regex = node.nodes.map((node) => this.rewriteToRegex(node)).join(''); + return `(?:${regex})?`; + } + rewriteAlternation(node) { + // Make sure the alternative parts aren't empty and don't contain parameter types + node.nodes.forEach((alternative) => { + if (alternative.nodes.length == 0) { + throw Errors_1.createAlternativeMayNotBeEmpty(alternative, this.expression); + } + this.assertNotEmpty(alternative, (astNode) => Errors_1.createAlternativeMayNotExclusivelyContainOptionals(astNode, this.expression)); + }); + const regex = node.nodes.map((node) => this.rewriteToRegex(node)).join('|'); + return `(?:${regex})`; + } + rewriteAlternative(node) { + return node.nodes.map((lastNode) => this.rewriteToRegex(lastNode)).join(''); + } + rewriteParameter(node) { + const name = node.text(); + const parameterType = this.parameterTypeRegistry.lookupByTypeName(name); + if (!parameterType) { + throw Errors_1.createUndefinedParameterType(node, this.expression, name); + } + this.parameterTypes.push(parameterType); + const regexps = parameterType.regexpStrings; + if (regexps.length == 1) { + return `(${regexps[0]})`; + } + return `((?:${regexps.join(')|(?:')}))`; + } + rewriteExpression(node) { + const regex = node.nodes.map((node) => this.rewriteToRegex(node)).join(''); + return `^${regex}$`; + } + assertNotEmpty(node, createNodeWasNotEmptyException) { + const textNodes = node.nodes.filter((astNode) => Ast_1.NodeType.text == astNode.type); + if (textNodes.length == 0) { + throw createNodeWasNotEmptyException(node); + } + } + assertNoParameters(node, createNodeContainedAParameterError) { + const parameterNodes = node.nodes.filter((astNode) => Ast_1.NodeType.parameter == astNode.type); + if (parameterNodes.length > 0) { + throw createNodeContainedAParameterError(parameterNodes[0]); + } + } + assertNoOptionals(node, createNodeContainedAnOptionalError) { + const parameterNodes = node.nodes.filter((astNode) => Ast_1.NodeType.optional == astNode.type); + if (parameterNodes.length > 0) { + throw createNodeContainedAnOptionalError(parameterNodes[0]); + } + } + match(text) { + return Argument_1.default.build(this.treeRegexp, text, this.parameterTypes); + } + get regexp() { + return this.treeRegexp.regexp; + } + get source() { + return this.expression; + } +} +exports.default = CucumberExpression; +//# sourceMappingURL=CucumberExpression.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.js.map new file mode 100644 index 0000000..592c655 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpression.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpression.js","sourceRoot":"","sources":["../../src/CucumberExpression.ts"],"names":[],"mappings":";;;;;AAEA,8DAAqC;AACrC,0DAAiC;AACjC,qCAOiB;AAEjB,0FAAiE;AACjE,+BAAsC;AAGtC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,uBAAuB,CAAA;AAEpD,MAAqB,kBAAkB;IAIrC;;;OAGG;IACH,YACmB,UAAkB,EAClB,qBAA4C;QAD5C,eAAU,GAAV,UAAU,CAAQ;QAClB,0BAAqB,GAArB,qBAAqB,CAAuB;QAT9C,mBAAc,GAA8B,EAAE,CAAA;QAW7D,MAAM,MAAM,GAAG,IAAI,kCAAwB,EAAE,CAAA;QAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;IAEO,cAAc,CAAC,IAAU;QAC/B,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,cAAQ,CAAC,IAAI;gBAChB,OAAO,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACpD,KAAK,cAAQ,CAAC,QAAQ;gBACpB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YACnC,KAAK,cAAQ,CAAC,WAAW;gBACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YACtC,KAAK,cAAQ,CAAC,WAAW;gBACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YACtC,KAAK,cAAQ,CAAC,SAAS;gBACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACpC,KAAK,cAAQ,CAAC,UAAU;gBACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACrC;gBACE,wDAAwD;gBACxD,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC7B;IACH,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,UAAkB;QAC3C,OAAO,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC;IAEO,eAAe,CAAC,IAAU;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CACxC,8CAAqC,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAChE,CAAA;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CACvC,6CAAoC,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAC/D,CAAA;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,oCAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1E,OAAO,MAAM,KAAK,IAAI,CAAA;IACxB,CAAC;IAEO,kBAAkB,CAAC,IAAU;QACnC,iFAAiF;QACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACjC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBACjC,MAAM,uCAA8B,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;aACnE;YACD,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3C,2DAAkD,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAC7E,CAAA;QACH,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3E,OAAO,MAAM,KAAK,GAAG,CAAA;IACvB,CAAC;IAEO,kBAAkB,CAAC,IAAU;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7E,CAAC;IAEO,gBAAgB,CAAC,IAAU;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACvE,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,qCAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;SAChE;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAA;QAC3C,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;SACzB;QACD,OAAO,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IACzC,CAAC;IAEO,iBAAiB,CAAC,IAAU;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1E,OAAO,IAAI,KAAK,GAAG,CAAA;IACrB,CAAC;IAEO,cAAc,CACpB,IAAU,EACV,8BAA0E;QAE1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;QAE/E,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACzB,MAAM,8BAA8B,CAAC,IAAI,CAAC,CAAA;SAC3C;IACH,CAAC;IAEO,kBAAkB,CACxB,IAAU,EACV,kCAA8E;QAE9E,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;QACzF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,MAAM,kCAAkC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;SAC5D;IACH,CAAC;IAEO,iBAAiB,CACvB,IAAU,EACV,kCAA8E;QAE9E,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;QACxF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,MAAM,kCAAkC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;SAC5D;IACH,CAAC;IAEM,KAAK,CAAC,IAAY;QACvB,OAAO,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IAC/B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;CACF;AArID,qCAqIC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.d.ts new file mode 100644 index 0000000..aab8693 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.d.ts @@ -0,0 +1,3 @@ +export default class CucumberExpressionError extends Error { +} +//# sourceMappingURL=CucumberExpressionError.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.d.ts.map new file mode 100644 index 0000000..0cba36e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionError.d.ts","sourceRoot":"","sources":["../../src/CucumberExpressionError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,KAAK;CAAG"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.js b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.js new file mode 100644 index 0000000..8e05987 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class CucumberExpressionError extends Error { +} +exports.default = CucumberExpressionError; +//# sourceMappingURL=CucumberExpressionError.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.js.map new file mode 100644 index 0000000..211acf2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionError.js","sourceRoot":"","sources":["../../src/CucumberExpressionError.ts"],"names":[],"mappings":";;AAAA,MAAqB,uBAAwB,SAAQ,KAAK;CAAG;AAA7D,0CAA6D"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.d.ts new file mode 100644 index 0000000..40fff96 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.d.ts @@ -0,0 +1,14 @@ +import ParameterType from './ParameterType'; +import GeneratedExpression from './GeneratedExpression'; +export default class CucumberExpressionGenerator { + private readonly parameterTypes; + constructor(parameterTypes: () => Iterable>); + generateExpressions(text: string): ReadonlyArray; + /** + * @deprecated + */ + generateExpression(text: string): GeneratedExpression; + private createParameterTypeMatchers; + private static createParameterTypeMatchers2; +} +//# sourceMappingURL=CucumberExpressionGenerator.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.d.ts.map new file mode 100644 index 0000000..edceea3 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionGenerator.d.ts","sourceRoot":"","sources":["../../src/CucumberExpressionGenerator.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAI3C,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAExE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAgE5E;;OAEG;IACI,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB;IAO5D,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,MAAM,CAAC,4BAA4B;CAW5C"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js new file mode 100644 index 0000000..256e48a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js @@ -0,0 +1,94 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ParameterTypeMatcher_1 = __importDefault(require("./ParameterTypeMatcher")); +const ParameterType_1 = __importDefault(require("./ParameterType")); +const util_1 = __importDefault(require("util")); +const CombinatorialGeneratedExpressionFactory_1 = __importDefault(require("./CombinatorialGeneratedExpressionFactory")); +class CucumberExpressionGenerator { + constructor(parameterTypes) { + this.parameterTypes = parameterTypes; + } + generateExpressions(text) { + const parameterTypeCombinations = []; + const parameterTypeMatchers = this.createParameterTypeMatchers(text); + let expressionTemplate = ''; + let pos = 0; + // eslint-disable-next-line no-constant-condition + while (true) { + let matchingParameterTypeMatchers = []; + for (const parameterTypeMatcher of parameterTypeMatchers) { + const advancedParameterTypeMatcher = parameterTypeMatcher.advanceTo(pos); + if (advancedParameterTypeMatcher.find) { + matchingParameterTypeMatchers.push(advancedParameterTypeMatcher); + } + } + if (matchingParameterTypeMatchers.length > 0) { + matchingParameterTypeMatchers = matchingParameterTypeMatchers.sort(ParameterTypeMatcher_1.default.compare); + // Find all the best parameter type matchers, they are all candidates. + const bestParameterTypeMatcher = matchingParameterTypeMatchers[0]; + const bestParameterTypeMatchers = matchingParameterTypeMatchers.filter((m) => ParameterTypeMatcher_1.default.compare(m, bestParameterTypeMatcher) === 0); + // Build a list of parameter types without duplicates. The reason there + // might be duplicates is that some parameter types have more than one regexp, + // which means multiple ParameterTypeMatcher objects will have a reference to the + // same ParameterType. + // We're sorting the list so preferential parameter types are listed first. + // Users are most likely to want these, so they should be listed at the top. + let parameterTypes = []; + for (const parameterTypeMatcher of bestParameterTypeMatchers) { + if (parameterTypes.indexOf(parameterTypeMatcher.parameterType) === -1) { + parameterTypes.push(parameterTypeMatcher.parameterType); + } + } + parameterTypes = parameterTypes.sort(ParameterType_1.default.compare); + parameterTypeCombinations.push(parameterTypes); + expressionTemplate += escape(text.slice(pos, bestParameterTypeMatcher.start)); + expressionTemplate += '{%s}'; + pos = bestParameterTypeMatcher.start + bestParameterTypeMatcher.group.length; + } + else { + break; + } + if (pos >= text.length) { + break; + } + } + expressionTemplate += escape(text.slice(pos)); + return new CombinatorialGeneratedExpressionFactory_1.default(expressionTemplate, parameterTypeCombinations).generateExpressions(); + } + /** + * @deprecated + */ + generateExpression(text) { + return util_1.default.deprecate(() => this.generateExpressions(text)[0], 'CucumberExpressionGenerator.generateExpression: Use CucumberExpressionGenerator.generateExpressions instead')(); + } + createParameterTypeMatchers(text) { + let parameterMatchers = []; + for (const parameterType of this.parameterTypes()) { + if (parameterType.useForSnippets) { + parameterMatchers = parameterMatchers.concat(CucumberExpressionGenerator.createParameterTypeMatchers2(parameterType, text)); + } + } + return parameterMatchers; + } + static createParameterTypeMatchers2(parameterType, text) { + // TODO: [].map + const result = []; + for (const regexp of parameterType.regexpStrings) { + result.push(new ParameterTypeMatcher_1.default(parameterType, regexp, text)); + } + return result; + } +} +exports.default = CucumberExpressionGenerator; +function escape(s) { + return s + .replace(/%/g, '%%') // for util.format + .replace(/\(/g, '\\(') + .replace(/{/g, '\\{') + .replace(/\//g, '\\/'); +} +module.exports = CucumberExpressionGenerator; +//# sourceMappingURL=CucumberExpressionGenerator.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js.map new file mode 100644 index 0000000..2c4f001 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionGenerator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionGenerator.js","sourceRoot":"","sources":["../../src/CucumberExpressionGenerator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.d.ts new file mode 100644 index 0000000..33624ef --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.d.ts @@ -0,0 +1,5 @@ +import { Node } from './Ast'; +export default class CucumberExpressionParser { + parse(expression: string): Node; +} +//# sourceMappingURL=CucumberExpressionParser.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.d.ts.map new file mode 100644 index 0000000..2da22fa --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionParser.d.ts","sourceRoot":"","sources":["../../src/CucumberExpressionParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA8B,MAAM,OAAO,CAAA;AAmKxD,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC3C,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAMhC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.js b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.js new file mode 100644 index 0000000..43d42c5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.js @@ -0,0 +1,240 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const Ast_1 = require("./Ast"); +const CucumberExpressionTokenizer_1 = __importDefault(require("./CucumberExpressionTokenizer")); +const Errors_1 = require("./Errors"); +/* + * text := whitespace | ')' | '}' | . + */ +function parseText(expression, tokens, current) { + const token = tokens[current]; + switch (token.type) { + case Ast_1.TokenType.whiteSpace: + case Ast_1.TokenType.text: + case Ast_1.TokenType.endParameter: + case Ast_1.TokenType.endOptional: + return { + consumed: 1, + ast: [new Ast_1.Node(Ast_1.NodeType.text, undefined, token.text, token.start, token.end)], + }; + case Ast_1.TokenType.alternation: + throw Errors_1.createAlternationNotAllowedInOptional(expression, token); + case Ast_1.TokenType.startOfLine: + case Ast_1.TokenType.endOfLine: + case Ast_1.TokenType.beginOptional: + case Ast_1.TokenType.beginParameter: + default: + // If configured correctly this will never happen + return { consumed: 0 }; + } +} +/* + * parameter := '{' + name* + '}' + */ +function parseName(expression, tokens, current) { + const token = tokens[current]; + switch (token.type) { + case Ast_1.TokenType.whiteSpace: + case Ast_1.TokenType.text: + return { + consumed: 1, + ast: [new Ast_1.Node(Ast_1.NodeType.text, undefined, token.text, token.start, token.end)], + }; + case Ast_1.TokenType.beginOptional: + case Ast_1.TokenType.endOptional: + case Ast_1.TokenType.beginParameter: + case Ast_1.TokenType.endParameter: + case Ast_1.TokenType.alternation: + throw Errors_1.createInvalidParameterTypeNameInNode(token, expression); + case Ast_1.TokenType.startOfLine: + case Ast_1.TokenType.endOfLine: + default: + // If configured correctly this will never happen + return { consumed: 0 }; + } +} +/* + * parameter := '{' + text* + '}' + */ +const parseParameter = parseBetween(Ast_1.NodeType.parameter, Ast_1.TokenType.beginParameter, Ast_1.TokenType.endParameter, [parseName]); +/* + * optional := '(' + option* + ')' + * option := optional | parameter | text + */ +const optionalSubParsers = []; +const parseOptional = parseBetween(Ast_1.NodeType.optional, Ast_1.TokenType.beginOptional, Ast_1.TokenType.endOptional, optionalSubParsers); +optionalSubParsers.push(parseOptional, parseParameter, parseText); +/* + * alternation := alternative* + ( '/' + alternative* )+ + */ +function parseAlternativeSeparator(expression, tokens, current) { + if (!lookingAt(tokens, current, Ast_1.TokenType.alternation)) { + return { consumed: 0 }; + } + const token = tokens[current]; + return { + consumed: 1, + ast: [new Ast_1.Node(Ast_1.NodeType.alternative, undefined, token.text, token.start, token.end)], + }; +} +const alternativeParsers = [ + parseAlternativeSeparator, + parseOptional, + parseParameter, + parseText, +]; +/* + * alternation := (?<=left-boundary) + alternative* + ( '/' + alternative* )+ + (?=right-boundary) + * left-boundary := whitespace | } | ^ + * right-boundary := whitespace | { | $ + * alternative: = optional | parameter | text + */ +const parseAlternation = (expression, tokens, current) => { + const previous = current - 1; + if (!lookingAtAny(tokens, previous, [ + Ast_1.TokenType.startOfLine, + Ast_1.TokenType.whiteSpace, + Ast_1.TokenType.endParameter, + ])) { + return { consumed: 0 }; + } + const result = parseTokensUntil(expression, alternativeParsers, tokens, current, [ + Ast_1.TokenType.whiteSpace, + Ast_1.TokenType.endOfLine, + Ast_1.TokenType.beginParameter, + ]); + const subCurrent = current + result.consumed; + if (!result.ast.some((astNode) => astNode.type == Ast_1.NodeType.alternative)) { + return { consumed: 0 }; + } + const start = tokens[current].start; + const end = tokens[subCurrent].start; + // Does not consume right hand boundary token + return { + consumed: result.consumed, + ast: [ + new Ast_1.Node(Ast_1.NodeType.alternation, splitAlternatives(start, end, result.ast), undefined, start, end), + ], + }; +}; +/* + * cucumber-expression := ( alternation | optional | parameter | text )* + */ +const parseCucumberExpression = parseBetween(Ast_1.NodeType.expression, Ast_1.TokenType.startOfLine, Ast_1.TokenType.endOfLine, [parseAlternation, parseOptional, parseParameter, parseText]); +class CucumberExpressionParser { + parse(expression) { + const tokenizer = new CucumberExpressionTokenizer_1.default(); + const tokens = tokenizer.tokenize(expression); + const result = parseCucumberExpression(expression, tokens, 0); + return result.ast[0]; + } +} +exports.default = CucumberExpressionParser; +function parseBetween(type, beginToken, endToken, parsers) { + return (expression, tokens, current) => { + if (!lookingAt(tokens, current, beginToken)) { + return { consumed: 0 }; + } + let subCurrent = current + 1; + const result = parseTokensUntil(expression, parsers, tokens, subCurrent, [ + endToken, + Ast_1.TokenType.endOfLine, + ]); + subCurrent += result.consumed; + // endToken not found + if (!lookingAt(tokens, subCurrent, endToken)) { + throw Errors_1.createMissingEndToken(expression, beginToken, endToken, tokens[current]); + } + // consumes endToken + const start = tokens[current].start; + const end = tokens[subCurrent].end; + const consumed = subCurrent + 1 - current; + const ast = [new Ast_1.Node(type, result.ast, undefined, start, end)]; + return { consumed, ast }; + }; +} +function parseToken(expression, parsers, tokens, startAt) { + for (let i = 0; i < parsers.length; i++) { + const parse = parsers[i]; + const result = parse(expression, tokens, startAt); + if (result.consumed != 0) { + return result; + } + } + // If configured correctly this will never happen + throw new Error('No eligible parsers for ' + tokens); +} +function parseTokensUntil(expression, parsers, tokens, startAt, endTokens) { + let current = startAt; + const size = tokens.length; + const ast = []; + while (current < size) { + if (lookingAtAny(tokens, current, endTokens)) { + break; + } + const result = parseToken(expression, parsers, tokens, current); + if (result.consumed == 0) { + // If configured correctly this will never happen + // Keep to avoid infinite loops + throw new Error('No eligible parsers for ' + tokens); + } + current += result.consumed; + ast.push(...result.ast); + } + return { consumed: current - startAt, ast }; +} +function lookingAtAny(tokens, at, tokenTypes) { + return tokenTypes.some((tokenType) => lookingAt(tokens, at, tokenType)); +} +function lookingAt(tokens, at, token) { + if (at < 0) { + // If configured correctly this will never happen + // Keep for completeness + return token == Ast_1.TokenType.startOfLine; + } + if (at >= tokens.length) { + return token == Ast_1.TokenType.endOfLine; + } + return tokens[at].type == token; +} +function splitAlternatives(start, end, alternation) { + const separators = []; + const alternatives = []; + let alternative = []; + alternation.forEach((n) => { + if (Ast_1.NodeType.alternative == n.type) { + separators.push(n); + alternatives.push(alternative); + alternative = []; + } + else { + alternative.push(n); + } + }); + alternatives.push(alternative); + return createAlternativeNodes(start, end, separators, alternatives); +} +function createAlternativeNodes(start, end, separators, alternatives) { + const nodes = []; + for (let i = 0; i < alternatives.length; i++) { + const n = alternatives[i]; + if (i == 0) { + const rightSeparator = separators[i]; + nodes.push(new Ast_1.Node(Ast_1.NodeType.alternative, n, undefined, start, rightSeparator.start)); + } + else if (i == alternatives.length - 1) { + const leftSeparator = separators[i - 1]; + nodes.push(new Ast_1.Node(Ast_1.NodeType.alternative, n, undefined, leftSeparator.end, end)); + } + else { + const leftSeparator = separators[i - 1]; + const rightSeparator = separators[i]; + nodes.push(new Ast_1.Node(Ast_1.NodeType.alternative, n, undefined, leftSeparator.end, rightSeparator.start)); + } + } + return nodes; +} +//# sourceMappingURL=CucumberExpressionParser.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.js.map new file mode 100644 index 0000000..b2e15b8 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionParser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionParser.js","sourceRoot":"","sources":["../../src/CucumberExpressionParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.d.ts new file mode 100644 index 0000000..1f445be --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.d.ts @@ -0,0 +1,5 @@ +import { Token } from './Ast'; +export default class CucumberExpressionTokenizer { + tokenize(expression: string): ReadonlyArray; +} +//# sourceMappingURL=CucumberExpressionTokenizer.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.d.ts.map new file mode 100644 index 0000000..effec1c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionTokenizer.d.ts","sourceRoot":"","sources":["../../src/CucumberExpressionTokenizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,OAAO,CAAA;AAGxC,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;CA4EnD"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.js b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.js new file mode 100644 index 0000000..77621cb --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.js @@ -0,0 +1,75 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Ast_1 = require("./Ast"); +const Errors_1 = require("./Errors"); +class CucumberExpressionTokenizer { + tokenize(expression) { + const codePoints = Array.from(expression); + const tokens = []; + let buffer = []; + let previousTokenType = Ast_1.TokenType.startOfLine; + let treatAsText = false; + let escaped = 0; + let bufferStartIndex = 0; + function convertBufferToToken(tokenType) { + let escapeTokens = 0; + if (tokenType == Ast_1.TokenType.text) { + escapeTokens = escaped; + escaped = 0; + } + const consumedIndex = bufferStartIndex + buffer.length + escapeTokens; + const t = new Ast_1.Token(tokenType, buffer.join(''), bufferStartIndex, consumedIndex); + buffer = []; + bufferStartIndex = consumedIndex; + return t; + } + function tokenTypeOf(codePoint, treatAsText) { + if (!treatAsText) { + return Ast_1.Token.typeOf(codePoint); + } + if (Ast_1.Token.canEscape(codePoint)) { + return Ast_1.TokenType.text; + } + throw Errors_1.createCantEscaped(expression, bufferStartIndex + buffer.length + escaped); + } + function shouldCreateNewToken(previousTokenType, currentTokenType) { + if (currentTokenType != previousTokenType) { + return true; + } + return currentTokenType != Ast_1.TokenType.whiteSpace && currentTokenType != Ast_1.TokenType.text; + } + if (codePoints.length == 0) { + tokens.push(new Ast_1.Token(Ast_1.TokenType.startOfLine, '', 0, 0)); + } + codePoints.forEach((codePoint) => { + if (!treatAsText && Ast_1.Token.isEscapeCharacter(codePoint)) { + escaped++; + treatAsText = true; + return; + } + const currentTokenType = tokenTypeOf(codePoint, treatAsText); + treatAsText = false; + if (shouldCreateNewToken(previousTokenType, currentTokenType)) { + const token = convertBufferToToken(previousTokenType); + previousTokenType = currentTokenType; + buffer.push(codePoint); + tokens.push(token); + } + else { + previousTokenType = currentTokenType; + buffer.push(codePoint); + } + }); + if (buffer.length > 0) { + const token = convertBufferToToken(previousTokenType); + tokens.push(token); + } + if (treatAsText) { + throw Errors_1.createTheEndOfLIneCanNotBeEscaped(expression); + } + tokens.push(new Ast_1.Token(Ast_1.TokenType.endOfLine, '', codePoints.length, codePoints.length)); + return tokens; + } +} +exports.default = CucumberExpressionTokenizer; +//# sourceMappingURL=CucumberExpressionTokenizer.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.js.map new file mode 100644 index 0000000..c8c57a5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/CucumberExpressionTokenizer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionTokenizer.js","sourceRoot":"","sources":["../../src/CucumberExpressionTokenizer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.d.ts new file mode 100644 index 0000000..ec9e106 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.d.ts @@ -0,0 +1,26 @@ +import ParameterType from './ParameterType'; +import GeneratedExpression from './GeneratedExpression'; +import { Node, Token, TokenType } from './Ast'; +import CucumberExpressionError from './CucumberExpressionError'; +export declare function createAlternativeMayNotExclusivelyContainOptionals(node: Node, expression: string): CucumberExpressionError; +export declare function createAlternativeMayNotBeEmpty(node: Node, expression: string): CucumberExpressionError; +export declare function createOptionalMayNotBeEmpty(node: Node, expression: string): CucumberExpressionError; +export declare function createParameterIsNotAllowedInOptional(node: Node, expression: string): CucumberExpressionError; +export declare function createOptionalIsNotAllowedInOptional(node: Node, expression: string): CucumberExpressionError; +export declare function createTheEndOfLIneCanNotBeEscaped(expression: string): CucumberExpressionError; +export declare function createMissingEndToken(expression: string, beginToken: TokenType, endToken: TokenType, current: Token): CucumberExpressionError; +export declare function createAlternationNotAllowedInOptional(expression: string, current: Token): CucumberExpressionError; +export declare function createCantEscaped(expression: string, index: number): CucumberExpressionError; +export declare function createInvalidParameterTypeNameInNode(token: Token, expression: string): CucumberExpressionError; +export declare class AmbiguousParameterTypeError extends CucumberExpressionError { + static forConstructor(keyName: string, keyValue: string, parameterTypes: ReadonlyArray>, generatedExpressions: ReadonlyArray): AmbiguousParameterTypeError; + static forRegExp(parameterTypeRegexp: string, expressionRegexp: RegExp, parameterTypes: ReadonlyArray>, generatedExpressions: ReadonlyArray): AmbiguousParameterTypeError; + static _parameterTypeNames(parameterTypes: ReadonlyArray>): string; + static _expressions(generatedExpressions: ReadonlyArray): string; +} +export declare class UndefinedParameterTypeError extends CucumberExpressionError { + readonly undefinedParameterTypeName: string; + constructor(undefinedParameterTypeName: string, message: string); +} +export declare function createUndefinedParameterType(node: Node, expression: string, undefinedParameterTypeName: string): UndefinedParameterTypeError; +//# sourceMappingURL=Errors.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.d.ts.map new file mode 100644 index 0000000..14a26a3 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAW,IAAI,EAAuB,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC5E,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAE/D,wBAAgB,kDAAkD,CAChE,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAUzB;AACD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAUzB;AACD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAUzB;AACD,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAUzB;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAUzB;AAED,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,uBAAuB,CAW7F;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,KAAK,2BAcf;AAED,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,2BAUvF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,2BAUlE;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,2BAUpF;AAqCD,qBAAa,2BAA4B,SAAQ,uBAAuB;WACxD,cAAc,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EACjD,oBAAoB,EAAE,aAAa,CAAC,mBAAmB,CAAC;WAO5C,SAAS,CACrB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EACjD,oBAAoB,EAAE,aAAa,CAAC,mBAAmB,CAAC;WAiB5C,mBAAmB,CAAC,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;WAIrE,YAAY,CAAC,oBAAoB,EAAE,aAAa,CAAC,mBAAmB,CAAC;CAGpF;AAED,qBAAa,2BAA4B,SAAQ,uBAAuB;aAC1C,0BAA0B,EAAE,MAAM;gBAAlC,0BAA0B,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGhF;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,0BAA0B,EAAE,MAAM,+BAYnC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.js b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.js new file mode 100644 index 0000000..8fea306 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.js @@ -0,0 +1,115 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createUndefinedParameterType = exports.UndefinedParameterTypeError = exports.AmbiguousParameterTypeError = exports.createInvalidParameterTypeNameInNode = exports.createCantEscaped = exports.createAlternationNotAllowedInOptional = exports.createMissingEndToken = exports.createTheEndOfLIneCanNotBeEscaped = exports.createOptionalIsNotAllowedInOptional = exports.createParameterIsNotAllowedInOptional = exports.createOptionalMayNotBeEmpty = exports.createAlternativeMayNotBeEmpty = exports.createAlternativeMayNotExclusivelyContainOptionals = void 0; +const Ast_1 = require("./Ast"); +const CucumberExpressionError_1 = __importDefault(require("./CucumberExpressionError")); +function createAlternativeMayNotExclusivelyContainOptionals(node, expression) { + return new CucumberExpressionError_1.default(message(node.start, expression, pointAtLocated(node), 'An alternative may not exclusively contain optionals', "If you did not mean to use an optional you can use '\\(' to escape the the '('")); +} +exports.createAlternativeMayNotExclusivelyContainOptionals = createAlternativeMayNotExclusivelyContainOptionals; +function createAlternativeMayNotBeEmpty(node, expression) { + return new CucumberExpressionError_1.default(message(node.start, expression, pointAtLocated(node), 'Alternative may not be empty', "If you did not mean to use an alternative you can use '\\/' to escape the the '/'")); +} +exports.createAlternativeMayNotBeEmpty = createAlternativeMayNotBeEmpty; +function createOptionalMayNotBeEmpty(node, expression) { + return new CucumberExpressionError_1.default(message(node.start, expression, pointAtLocated(node), 'An optional must contain some text', "If you did not mean to use an optional you can use '\\(' to escape the the '('")); +} +exports.createOptionalMayNotBeEmpty = createOptionalMayNotBeEmpty; +function createParameterIsNotAllowedInOptional(node, expression) { + return new CucumberExpressionError_1.default(message(node.start, expression, pointAtLocated(node), 'An optional may not contain a parameter type', "If you did not mean to use an parameter type you can use '\\{' to escape the the '{'")); +} +exports.createParameterIsNotAllowedInOptional = createParameterIsNotAllowedInOptional; +function createOptionalIsNotAllowedInOptional(node, expression) { + return new CucumberExpressionError_1.default(message(node.start, expression, pointAtLocated(node), 'An optional may not contain an other optional', "If you did not mean to use an optional type you can use '\\(' to escape the the '('. For more complicated expressions consider using a regular expression instead.")); +} +exports.createOptionalIsNotAllowedInOptional = createOptionalIsNotAllowedInOptional; +function createTheEndOfLIneCanNotBeEscaped(expression) { + const index = Array.from(expression).length - 1; + return new CucumberExpressionError_1.default(message(index, expression, pointAt(index), 'The end of line can not be escaped', "You can use '\\\\' to escape the the '\\'")); +} +exports.createTheEndOfLIneCanNotBeEscaped = createTheEndOfLIneCanNotBeEscaped; +function createMissingEndToken(expression, beginToken, endToken, current) { + const beginSymbol = Ast_1.symbolOf(beginToken); + const endSymbol = Ast_1.symbolOf(endToken); + const purpose = Ast_1.purposeOf(beginToken); + return new CucumberExpressionError_1.default(message(current.start, expression, pointAtLocated(current), `The '${beginSymbol}' does not have a matching '${endSymbol}'`, `If you did not intend to use ${purpose} you can use '\\${beginSymbol}' to escape the ${purpose}`)); +} +exports.createMissingEndToken = createMissingEndToken; +function createAlternationNotAllowedInOptional(expression, current) { + return new CucumberExpressionError_1.default(message(current.start, expression, pointAtLocated(current), 'An alternation can not be used inside an optional', "You can use '\\/' to escape the the '/'")); +} +exports.createAlternationNotAllowedInOptional = createAlternationNotAllowedInOptional; +function createCantEscaped(expression, index) { + return new CucumberExpressionError_1.default(message(index, expression, pointAt(index), "Only the characters '{', '}', '(', ')', '\\', '/' and whitespace can be escaped", "If you did mean to use an '\\' you can use '\\\\' to escape it")); +} +exports.createCantEscaped = createCantEscaped; +function createInvalidParameterTypeNameInNode(token, expression) { + return new CucumberExpressionError_1.default(message(token.start, expression, pointAtLocated(token), "Parameter names may not contain '{', '}', '(', ')', '\\' or '/'", 'Did you mean to use a regular expression?')); +} +exports.createInvalidParameterTypeNameInNode = createInvalidParameterTypeNameInNode; +function message(index, expression, pointer, problem, solution) { + return `This Cucumber Expression has a problem at column ${index + 1}: + +${expression} +${pointer} +${problem}. +${solution}`; +} +function pointAt(index) { + const pointer = []; + for (let i = 0; i < index; i++) { + pointer.push(' '); + } + pointer.push('^'); + return pointer.join(''); +} +function pointAtLocated(node) { + const pointer = [pointAt(node.start)]; + if (node.start + 1 < node.end) { + for (let i = node.start + 1; i < node.end - 1; i++) { + pointer.push('-'); + } + pointer.push('^'); + } + return pointer.join(''); +} +class AmbiguousParameterTypeError extends CucumberExpressionError_1.default { + static forConstructor(keyName, keyValue, parameterTypes, generatedExpressions) { + return new this(`parameter type with ${keyName}=${keyValue} is used by several parameter types: ${parameterTypes}, ${generatedExpressions}`); + } + static forRegExp(parameterTypeRegexp, expressionRegexp, parameterTypes, generatedExpressions) { + return new this(`Your Regular Expression ${expressionRegexp} +matches multiple parameter types with regexp ${parameterTypeRegexp}: + ${this._parameterTypeNames(parameterTypes)} + +I couldn't decide which one to use. You have two options: + +1) Use a Cucumber Expression instead of a Regular Expression. Try one of these: + ${this._expressions(generatedExpressions)} + +2) Make one of the parameter types preferential and continue to use a Regular Expression. +`); + } + static _parameterTypeNames(parameterTypes) { + return parameterTypes.map((p) => `{${p.name}}`).join('\n '); + } + static _expressions(generatedExpressions) { + return generatedExpressions.map((e) => e.source).join('\n '); + } +} +exports.AmbiguousParameterTypeError = AmbiguousParameterTypeError; +class UndefinedParameterTypeError extends CucumberExpressionError_1.default { + constructor(undefinedParameterTypeName, message) { + super(message); + this.undefinedParameterTypeName = undefinedParameterTypeName; + } +} +exports.UndefinedParameterTypeError = UndefinedParameterTypeError; +function createUndefinedParameterType(node, expression, undefinedParameterTypeName) { + return new UndefinedParameterTypeError(undefinedParameterTypeName, message(node.start, expression, pointAtLocated(node), `Undefined parameter type '${undefinedParameterTypeName}'`, `Please register a ParameterType for '${undefinedParameterTypeName}'`)); +} +exports.createUndefinedParameterType = createUndefinedParameterType; +//# sourceMappingURL=Errors.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.js.map new file mode 100644 index 0000000..6dc14d3 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Errors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../src/Errors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.d.ts new file mode 100644 index 0000000..15349ab --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.d.ts @@ -0,0 +1,6 @@ +import Argument from './Argument'; +export default interface Expression { + readonly source: string; + match(text: string): ReadonlyArray>; +} +//# sourceMappingURL=Expression.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.d.ts.map new file mode 100644 index 0000000..0c4feaf --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Expression.d.ts","sourceRoot":"","sources":["../../src/Expression.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AAEjC,MAAM,CAAC,OAAO,WAAW,UAAU;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;CAClD"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.js b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.js new file mode 100644 index 0000000..c50f625 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=Expression.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.js.map new file mode 100644 index 0000000..9a24dbc --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Expression.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Expression.js","sourceRoot":"","sources":["../../src/Expression.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.d.ts new file mode 100644 index 0000000..bf011a9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.d.ts @@ -0,0 +1,8 @@ +import Expression from './Expression'; +import ParameterTypeRegistry from './ParameterTypeRegistry'; +export default class ExpressionFactory { + private readonly parameterTypeRegistry; + constructor(parameterTypeRegistry: ParameterTypeRegistry); + createExpression(expression: string | RegExp): Expression; +} +//# sourceMappingURL=ExpressionFactory.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.d.ts.map new file mode 100644 index 0000000..dee94fe --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpressionFactory.d.ts","sourceRoot":"","sources":["../../src/ExpressionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAA;AAGrC,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAE3D,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACjB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,qBAAqB;IAEzE,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU;CAKjE"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.js b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.js new file mode 100644 index 0000000..62eb572 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.js @@ -0,0 +1,19 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const CucumberExpression_1 = __importDefault(require("./CucumberExpression")); +const RegularExpression_1 = __importDefault(require("./RegularExpression")); +class ExpressionFactory { + constructor(parameterTypeRegistry) { + this.parameterTypeRegistry = parameterTypeRegistry; + } + createExpression(expression) { + return typeof expression === 'string' + ? new CucumberExpression_1.default(expression, this.parameterTypeRegistry) + : new RegularExpression_1.default(expression, this.parameterTypeRegistry); + } +} +exports.default = ExpressionFactory; +//# sourceMappingURL=ExpressionFactory.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.js.map new file mode 100644 index 0000000..7dd5b86 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ExpressionFactory.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/ExpressionFactory.ts"],"names":[],"mappings":";;;;;AACA,8EAAqD;AACrD,4EAAmD;AAGnD,MAAqB,iBAAiB;IACpC,YAAoC,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAG,CAAC;IAE7E,gBAAgB,CAAC,UAA2B;QACjD,OAAO,OAAO,UAAU,KAAK,QAAQ;YACnC,CAAC,CAAC,IAAI,4BAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC;YAChE,CAAC,CAAC,IAAI,2BAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACnE,CAAC;CACF;AARD,oCAQC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.d.ts new file mode 100644 index 0000000..18f8502 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.d.ts @@ -0,0 +1,14 @@ +import ParameterType from './ParameterType'; +export default class GeneratedExpression { + private readonly expressionTemplate; + readonly parameterTypes: ReadonlyArray>; + constructor(expressionTemplate: string, parameterTypes: ReadonlyArray>); + get source(): string; + /** + * Returns an array of parameter names to use in generated function/method signatures + * + * @returns {ReadonlyArray.} + */ + get parameterNames(): ReadonlyArray; +} +//# sourceMappingURL=GeneratedExpression.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.d.ts.map new file mode 100644 index 0000000..7624b38 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GeneratedExpression.d.ts","sourceRoot":"","sources":["../../src/GeneratedExpression.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAEpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;aACnB,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBADhD,kBAAkB,EAAE,MAAM,EAC3B,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAGnE,IAAI,MAAM,WAET;IAED;;;;OAIG;IACH,IAAI,cAAc,IAAI,aAAa,CAAC,MAAM,CAAC,CAG1C;CACF"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.js b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.js new file mode 100644 index 0000000..71514b7 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.js @@ -0,0 +1,32 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const util_1 = __importDefault(require("util")); +class GeneratedExpression { + constructor(expressionTemplate, parameterTypes) { + this.expressionTemplate = expressionTemplate; + this.parameterTypes = parameterTypes; + } + get source() { + return util_1.default.format(this.expressionTemplate, ...this.parameterTypes.map((t) => t.name)); + } + /** + * Returns an array of parameter names to use in generated function/method signatures + * + * @returns {ReadonlyArray.} + */ + get parameterNames() { + const usageByTypeName = {}; + return this.parameterTypes.map((t) => getParameterName(t.name, usageByTypeName)); + } +} +exports.default = GeneratedExpression; +function getParameterName(typeName, usageByTypeName) { + let count = usageByTypeName[typeName]; + count = count ? count + 1 : 1; + usageByTypeName[typeName] = count; + return count === 1 ? typeName : `${typeName}${count}`; +} +//# sourceMappingURL=GeneratedExpression.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.js.map new file mode 100644 index 0000000..764bc3a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GeneratedExpression.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GeneratedExpression.js","sourceRoot":"","sources":["../../src/GeneratedExpression.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AAGvB,MAAqB,mBAAmB;IACtC,YACmB,kBAA0B,EAC3B,cAAiD;QADhD,uBAAkB,GAAlB,kBAAkB,CAAQ;QAC3B,mBAAc,GAAd,cAAc,CAAmC;IAChE,CAAC;IAEJ,IAAI,MAAM;QACR,OAAO,cAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACxF,CAAC;IAED;;;;OAIG;IACH,IAAI,cAAc;QAChB,MAAM,eAAe,GAA8B,EAAE,CAAA;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;IAClF,CAAC;CACF;AAnBD,sCAmBC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,eAA0C;IACpF,IAAI,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IACrC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B,eAAe,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;IAEjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,KAAK,EAAE,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Group.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.d.ts new file mode 100644 index 0000000..8d0ed85 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.d.ts @@ -0,0 +1,9 @@ +export default class Group { + readonly value: string | undefined; + readonly start: number; + readonly end: number; + readonly children: ReadonlyArray; + constructor(value: string | undefined, start: number, end: number, children: ReadonlyArray); + get values(): string[]; +} +//# sourceMappingURL=Group.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Group.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.d.ts.map new file mode 100644 index 0000000..967b5c6 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../src/Group.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,KAAK;aAEN,KAAK,EAAE,MAAM,GAAG,SAAS;aACzB,KAAK,EAAE,MAAM;aACb,GAAG,EAAE,MAAM;aACX,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;gBAH9B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;IAGhD,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;CACF"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Group.js b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.js new file mode 100644 index 0000000..e92ee44 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Group { + constructor(value, start, end, children) { + this.value = value; + this.start = start; + this.end = end; + this.children = children; + } + get values() { + return (this.children.length === 0 ? [this] : this.children).map((g) => g.value); + } +} +exports.default = Group; +//# sourceMappingURL=Group.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/Group.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.js.map new file mode 100644 index 0000000..9570136 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/Group.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../src/Group.ts"],"names":[],"mappings":";;AAAA,MAAqB,KAAK;IACxB,YACkB,KAAyB,EACzB,KAAa,EACb,GAAW,EACX,QAA8B;QAH9B,UAAK,GAAL,KAAK,CAAoB;QACzB,UAAK,GAAL,KAAK,CAAQ;QACb,QAAG,GAAH,GAAG,CAAQ;QACX,aAAQ,GAAR,QAAQ,CAAsB;IAC7C,CAAC;IAEJ,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAClF,CAAC;CACF;AAXD,wBAWC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.d.ts new file mode 100644 index 0000000..beb7a67 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.d.ts @@ -0,0 +1,13 @@ +import Group from './Group'; +import RegexExecArray from './RegexExecArray'; +export default class GroupBuilder { + source: string; + capturing: boolean; + private readonly groupBuilders; + add(groupBuilder: GroupBuilder): void; + build(match: RegexExecArray, nextGroupIndex: () => number): Group; + setNonCapturing(): void; + get children(): GroupBuilder[]; + moveChildrenTo(groupBuilder: GroupBuilder): void; +} +//# sourceMappingURL=GroupBuilder.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.d.ts.map new file mode 100644 index 0000000..1bd548e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GroupBuilder.d.ts","sourceRoot":"","sources":["../../src/GroupBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,OAAO,OAAO,YAAY;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,UAAO;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAE5C,GAAG,CAAC,YAAY,EAAE,YAAY;IAI9B,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,MAAM,GAAG,KAAK;IAWjE,eAAe;IAItB,IAAI,QAAQ,mBAEX;IAEM,cAAc,CAAC,YAAY,EAAE,YAAY;CAGjD"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.js b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.js new file mode 100644 index 0000000..3abd879 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.js @@ -0,0 +1,31 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const Group_1 = __importDefault(require("./Group")); +class GroupBuilder { + constructor() { + this.capturing = true; + this.groupBuilders = []; + } + add(groupBuilder) { + this.groupBuilders.push(groupBuilder); + } + build(match, nextGroupIndex) { + const groupIndex = nextGroupIndex(); + const children = this.groupBuilders.map((gb) => gb.build(match, nextGroupIndex)); + return new Group_1.default(match[groupIndex] || undefined, match.index[groupIndex], match.index[groupIndex] + (match[groupIndex] || '').length, children); + } + setNonCapturing() { + this.capturing = false; + } + get children() { + return this.groupBuilders; + } + moveChildrenTo(groupBuilder) { + this.groupBuilders.forEach((child) => groupBuilder.add(child)); + } +} +exports.default = GroupBuilder; +//# sourceMappingURL=GroupBuilder.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.js.map new file mode 100644 index 0000000..6274545 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/GroupBuilder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GroupBuilder.js","sourceRoot":"","sources":["../../src/GroupBuilder.ts"],"names":[],"mappings":";;;;;AAAA,oDAA2B;AAG3B,MAAqB,YAAY;IAAjC;QAES,cAAS,GAAG,IAAI,CAAA;QACN,kBAAa,GAAmB,EAAE,CAAA;IA4BrD,CAAC;IA1BQ,GAAG,CAAC,YAA0B;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,KAAqB,EAAE,cAA4B;QAC9D,MAAM,UAAU,GAAG,cAAc,EAAE,CAAA;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;QAChF,OAAO,IAAI,eAAK,CACd,KAAK,CAAC,UAAU,CAAC,IAAI,SAAS,EAC9B,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EACvB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAC1D,QAAQ,CACT,CAAA;IACH,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAEM,cAAc,CAAC,YAA0B;QAC9C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAChE,CAAC;CACF;AA/BD,+BA+BC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.d.ts new file mode 100644 index 0000000..8423ac5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.d.ts @@ -0,0 +1,22 @@ +export default class ParameterType { + readonly name: string; + private readonly type; + readonly useForSnippets: boolean; + readonly preferForRegexpMatch: boolean; + private transformFn; + static compare(pt1: ParameterType, pt2: ParameterType): number; + static checkParameterTypeName(typeName: string): void; + static isValidParameterTypeName(typeName: string): boolean; + regexpStrings: ReadonlyArray; + /** + * @param name {String} the name of the type + * @param regexps {Array.,RegExp,Array.,String} that matches the type + * @param type {Function} the prototype (constructor) of the type. May be null. + * @param transform {Function} function transforming string to another type. May be null. + * @param useForSnippets {boolean} true if this should be used for snippets. Defaults to true. + * @param preferForRegexpMatch {boolean} true if this is a preferential type. Defaults to false. + */ + constructor(name: string, regexps: ReadonlyArray | ReadonlyArray | RegExp | string, type: any, transform: (...match: string[]) => T, useForSnippets: boolean, preferForRegexpMatch: boolean); + transform(thisObj: any, groupValues: string[]): any; +} +//# sourceMappingURL=ParameterType.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.d.ts.map new file mode 100644 index 0000000..a42e306 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterType.d.ts","sourceRoot":"","sources":["../../src/ParameterType.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,aAAa,CAAC,CAAC;aAqChB,IAAI,EAAE,MAAM;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI;aAEL,cAAc,EAAE,OAAO;aACvB,oBAAoB,EAAE,OAAO;IAzC/C,OAAO,CAAC,WAAW,CAAoC;WAEzC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC;WAUxD,sBAAsB,CAAC,QAAQ,EAAE,MAAM;WAQvC,wBAAwB,CAAC,QAAQ,EAAE,MAAM;IAKhD,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3C;;;;;;;OAOG;gBAEe,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,EACvD,IAAI,EAAE,GAAG,EAC1B,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EACpB,cAAc,EAAE,OAAO,EACvB,oBAAoB,EAAE,OAAO;IAoBxC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE;CAGrD"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.js b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.js new file mode 100644 index 0000000..55564e9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.js @@ -0,0 +1,93 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const CucumberExpressionError_1 = __importDefault(require("./CucumberExpressionError")); +const ILLEGAL_PARAMETER_NAME_PATTERN = /([[\]()$.|?*+])/; +const UNESCAPE_PATTERN = () => /(\\([[$.|?*+\]]))/g; +class ParameterType { + /** + * @param name {String} the name of the type + * @param regexps {Array.,RegExp,Array.,String} that matches the type + * @param type {Function} the prototype (constructor) of the type. May be null. + * @param transform {Function} function transforming string to another type. May be null. + * @param useForSnippets {boolean} true if this should be used for snippets. Defaults to true. + * @param preferForRegexpMatch {boolean} true if this is a preferential type. Defaults to false. + */ + constructor(name, regexps, type, transform, useForSnippets, preferForRegexpMatch) { + this.name = name; + this.type = type; + this.useForSnippets = useForSnippets; + this.preferForRegexpMatch = preferForRegexpMatch; + if (transform === undefined) { + transform = (s) => s; + } + if (useForSnippets === undefined) { + this.useForSnippets = true; + } + if (preferForRegexpMatch === undefined) { + this.preferForRegexpMatch = false; + } + if (name) { + ParameterType.checkParameterTypeName(name); + } + this.regexpStrings = stringArray(regexps); + this.transformFn = transform; + } + static compare(pt1, pt2) { + if (pt1.preferForRegexpMatch && !pt2.preferForRegexpMatch) { + return -1; + } + if (pt2.preferForRegexpMatch && !pt1.preferForRegexpMatch) { + return 1; + } + return pt1.name.localeCompare(pt2.name); + } + static checkParameterTypeName(typeName) { + if (!this.isValidParameterTypeName(typeName)) { + throw new CucumberExpressionError_1.default(`Illegal character in parameter name {${typeName}}. Parameter names may not contain '{', '}', '(', ')', '\\' or '/'`); + } + } + static isValidParameterTypeName(typeName) { + const unescapedTypeName = typeName.replace(UNESCAPE_PATTERN(), '$2'); + return !unescapedTypeName.match(ILLEGAL_PARAMETER_NAME_PATTERN); + } + transform(thisObj, groupValues) { + return this.transformFn.apply(thisObj, groupValues); + } +} +exports.default = ParameterType; +function stringArray(regexps) { + // @ts-ignore + const array = Array.isArray(regexps) ? regexps : [regexps]; + return array.map((r) => (r instanceof RegExp ? regexpSource(r) : r)); +} +function regexpSource(regexp) { + const flags = regexpFlags(regexp); + for (const flag of ['g', 'i', 'm', 'y']) { + if (flags.indexOf(flag) !== -1) { + throw new CucumberExpressionError_1.default(`ParameterType Regexps can't use flag '${flag}'`); + } + } + return regexp.source; +} +// Backport RegExp.flags for Node 4.x +// https://github.com/nodejs/node/issues/8390 +function regexpFlags(regexp) { + let flags = regexp.flags; + if (flags === undefined) { + flags = ''; + if (regexp.ignoreCase) { + flags += 'i'; + } + if (regexp.global) { + flags += 'g'; + } + if (regexp.multiline) { + flags += 'm'; + } + } + return flags; +} +//# sourceMappingURL=ParameterType.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.js.map new file mode 100644 index 0000000..c8f1b34 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterType.js","sourceRoot":"","sources":["../../src/ParameterType.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.d.ts new file mode 100644 index 0000000..d3e5ecd --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.d.ts @@ -0,0 +1,18 @@ +import ParameterType from './ParameterType'; +export default class ParameterTypeMatcher { + readonly parameterType: ParameterType; + private readonly regexpString; + private readonly text; + private matchPosition; + private readonly match; + constructor(parameterType: ParameterType, regexpString: string, text: string, matchPosition?: number); + advanceTo(newMatchPosition: number): ParameterTypeMatcher; + get find(): boolean | RegExpMatchArray; + get start(): number; + get fullWord(): boolean | RegExpMatchArray; + get matchStartWord(): true | RegExpMatchArray; + get matchEndWord(): true | RegExpMatchArray; + get group(): string; + static compare(a: ParameterTypeMatcher, b: ParameterTypeMatcher): number; +} +//# sourceMappingURL=ParameterTypeMatcher.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.d.ts.map new file mode 100644 index 0000000..89cb540 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeMatcher.d.ts","sourceRoot":"","sources":["../../src/ParameterTypeMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,OAAO,OAAO,oBAAoB;aAIrB,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAGrB,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,EAChC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACrB,aAAa,GAAE,MAAU;IAM5B,SAAS,CAAC,gBAAgB,EAAE,MAAM;IAsBzC,IAAI,IAAI,+BAEP;IAED,IAAI,KAAK,WAER;IAED,IAAI,QAAQ,+BAEX;IAED,IAAI,cAAc,4BAEjB;IAED,IAAI,YAAY,4BAMf;IAED,IAAI,KAAK,WAER;WAEa,OAAO,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB;CAWvE"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.js b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.js new file mode 100644 index 0000000..1403ee8 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ParameterTypeMatcher { + constructor(parameterType, regexpString, text, matchPosition = 0) { + this.parameterType = parameterType; + this.regexpString = regexpString; + this.text = text; + this.matchPosition = matchPosition; + const captureGroupRegexp = new RegExp(`(${regexpString})`); + this.match = captureGroupRegexp.exec(text.slice(this.matchPosition)); + } + advanceTo(newMatchPosition) { + for (let advancedPos = newMatchPosition; advancedPos < this.text.length; advancedPos++) { + const matcher = new ParameterTypeMatcher(this.parameterType, this.regexpString, this.text, advancedPos); + if (matcher.find) { + return matcher; + } + } + return new ParameterTypeMatcher(this.parameterType, this.regexpString, this.text, this.text.length); + } + get find() { + return this.match && this.group !== '' && this.fullWord; + } + get start() { + return this.matchPosition + this.match.index; + } + get fullWord() { + return this.matchStartWord && this.matchEndWord; + } + get matchStartWord() { + return this.start === 0 || this.text[this.start - 1].match(/\p{Z}|\p{P}|\p{S}/u); + } + get matchEndWord() { + const nextCharacterIndex = this.start + this.group.length; + return (nextCharacterIndex === this.text.length || + this.text[nextCharacterIndex].match(/\p{Z}|\p{P}|\p{S}/u)); + } + get group() { + return this.match[0]; + } + static compare(a, b) { + const posComparison = a.start - b.start; + if (posComparison !== 0) { + return posComparison; + } + const lengthComparison = b.group.length - a.group.length; + if (lengthComparison !== 0) { + return lengthComparison; + } + return 0; + } +} +exports.default = ParameterTypeMatcher; +module.exports = ParameterTypeMatcher; +//# sourceMappingURL=ParameterTypeMatcher.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.js.map new file mode 100644 index 0000000..172587d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeMatcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeMatcher.js","sourceRoot":"","sources":["../../src/ParameterTypeMatcher.ts"],"names":[],"mappings":";;AAEA,MAAqB,oBAAoB;IAGvC,YACkB,aAAiC,EAChC,YAAoB,EACpB,IAAY,EACrB,gBAAwB,CAAC;QAHjB,kBAAa,GAAb,aAAa,CAAoB;QAChC,iBAAY,GAAZ,YAAY,CAAQ;QACpB,SAAI,GAAJ,IAAI,CAAQ;QACrB,kBAAa,GAAb,aAAa,CAAY;QAEjC,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAA;QAC1D,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;IACtE,CAAC;IAEM,SAAS,CAAC,gBAAwB;QACvC,KAAK,IAAI,WAAW,GAAG,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YACtF,MAAM,OAAO,GAAG,IAAI,oBAAoB,CACtC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAI,EACT,WAAW,CACZ,CAAA;YAED,IAAI,OAAO,CAAC,IAAI,EAAE;gBAChB,OAAO,OAAO,CAAA;aACf;SACF;QAED,OAAO,IAAI,oBAAoB,CAC7B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,MAAM,CACjB,CAAA;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAA;IACzD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;IAC9C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAA;IACjD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,YAAY;QACd,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QACzD,OAAO,CACL,kBAAkB,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;YACvC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAC1D,CAAA;IACH,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,CAAuB,EAAE,CAAuB;QACpE,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;QACvC,IAAI,aAAa,KAAK,CAAC,EAAE;YACvB,OAAO,aAAa,CAAA;SACrB;QACD,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACxD,IAAI,gBAAgB,KAAK,CAAC,EAAE;YAC1B,OAAO,gBAAgB,CAAA;SACxB;QACD,OAAO,CAAC,CAAA;IACV,CAAC;CACF;AA1ED,uCA0EC;AAED,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.d.ts new file mode 100644 index 0000000..5654996 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.d.ts @@ -0,0 +1,16 @@ +import ParameterType from './ParameterType'; +export default class ParameterTypeRegistry { + static readonly INTEGER_REGEXPS: RegExp[]; + static readonly FLOAT_REGEXP: RegExp; + static readonly WORD_REGEXP: RegExp; + static readonly STRING_REGEXP: RegExp; + static readonly ANONYMOUS_REGEXP: RegExp; + private readonly parameterTypeByName; + private readonly parameterTypesByRegexp; + constructor(); + get parameterTypes(): IterableIterator>; + lookupByTypeName(typeName: string): ParameterType; + lookupByRegexp(parameterTypeRegexp: string, expressionRegexp: RegExp, text: string): ParameterType; + defineParameterType(parameterType: ParameterType): void; +} +//# sourceMappingURL=ParameterTypeRegistry.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.d.ts.map new file mode 100644 index 0000000..829a078 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeRegistry.d.ts","sourceRoot":"","sources":["../../src/ParameterTypeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAM3C,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,gBAAuB,eAAe,WAAmB;IACzD,gBAAuB,YAAY,SAA4D;IAC/F,gBAAuB,WAAW,SAAW;IAC7C,gBAAuB,aAAa,SAAsD;IAC1F,gBAAuB,gBAAgB,SAAO;IAE9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAwC;IAC5E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA+C;;IAyCtF,IAAI,cAAc,IAAI,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAEzD;IAEM,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAIjC,cAAc,CACnB,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,GACX,aAAa,CAAC,GAAG,CAAC;IAsBd,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC;CAqC7D"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.js b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.js new file mode 100644 index 0000000..e2792ba --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.js @@ -0,0 +1,78 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ParameterType_1 = __importDefault(require("./ParameterType")); +const CucumberExpressionGenerator_1 = __importDefault(require("./CucumberExpressionGenerator")); +const Errors_1 = require("./Errors"); +const CucumberExpressionError_1 = __importDefault(require("./CucumberExpressionError")); +class ParameterTypeRegistry { + constructor() { + this.parameterTypeByName = new Map(); + this.parameterTypesByRegexp = new Map(); + this.defineParameterType(new ParameterType_1.default('int', ParameterTypeRegistry.INTEGER_REGEXPS, Number, (s) => (s === undefined ? null : Number(s)), true, true)); + this.defineParameterType(new ParameterType_1.default('float', ParameterTypeRegistry.FLOAT_REGEXP, Number, (s) => (s === undefined ? null : parseFloat(s)), true, false)); + this.defineParameterType(new ParameterType_1.default('word', ParameterTypeRegistry.WORD_REGEXP, String, (s) => s, false, false)); + this.defineParameterType(new ParameterType_1.default('string', ParameterTypeRegistry.STRING_REGEXP, String, (s1, s2) => (s1 || s2 || '').replace(/\\"/g, '"').replace(/\\'/g, "'"), true, false)); + this.defineParameterType(new ParameterType_1.default('', ParameterTypeRegistry.ANONYMOUS_REGEXP, String, (s) => s, false, true)); + } + get parameterTypes() { + return this.parameterTypeByName.values(); + } + lookupByTypeName(typeName) { + return this.parameterTypeByName.get(typeName); + } + lookupByRegexp(parameterTypeRegexp, expressionRegexp, text) { + const parameterTypes = this.parameterTypesByRegexp.get(parameterTypeRegexp); + if (!parameterTypes) { + return null; + } + if (parameterTypes.length > 1 && !parameterTypes[0].preferForRegexpMatch) { + // We don't do this check on insertion because we only want to restrict + // ambiguity when we look up by Regexp. Users of CucumberExpression should + // not be restricted. + const generatedExpressions = new CucumberExpressionGenerator_1.default(() => this.parameterTypes).generateExpressions(text); + throw Errors_1.AmbiguousParameterTypeError.forRegExp(parameterTypeRegexp, expressionRegexp, parameterTypes, generatedExpressions); + } + return parameterTypes[0]; + } + defineParameterType(parameterType) { + if (parameterType.name !== undefined) { + if (this.parameterTypeByName.has(parameterType.name)) { + if (parameterType.name.length === 0) { + throw new Error(`The anonymous parameter type has already been defined`); + } + else { + throw new Error(`There is already a parameter type with name ${parameterType.name}`); + } + } + this.parameterTypeByName.set(parameterType.name, parameterType); + } + for (const parameterTypeRegexp of parameterType.regexpStrings) { + if (!this.parameterTypesByRegexp.has(parameterTypeRegexp)) { + this.parameterTypesByRegexp.set(parameterTypeRegexp, []); + } + const parameterTypes = this.parameterTypesByRegexp.get(parameterTypeRegexp); + const existingParameterType = parameterTypes[0]; + if (parameterTypes.length > 0 && + existingParameterType.preferForRegexpMatch && + parameterType.preferForRegexpMatch) { + throw new CucumberExpressionError_1.default('There can only be one preferential parameter type per regexp. ' + + `The regexp /${parameterTypeRegexp}/ is used for two preferential parameter types, {${existingParameterType.name}} and {${parameterType.name}}`); + } + if (parameterTypes.indexOf(parameterType) === -1) { + parameterTypes.push(parameterType); + this.parameterTypesByRegexp.set(parameterTypeRegexp, parameterTypes.sort(ParameterType_1.default.compare)); + } + } + } +} +exports.default = ParameterTypeRegistry; +ParameterTypeRegistry.INTEGER_REGEXPS = [/-?\d+/, /\d+/]; +ParameterTypeRegistry.FLOAT_REGEXP = /(?=.*\d.*)[-+]?\d*(?:\.(?=\d.*))?\d*(?:\d+[E][+-]?\d+)?/; +ParameterTypeRegistry.WORD_REGEXP = /[^\s]+/; +ParameterTypeRegistry.STRING_REGEXP = /"([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)'/; +ParameterTypeRegistry.ANONYMOUS_REGEXP = /.*/; +module.exports = ParameterTypeRegistry; +//# sourceMappingURL=ParameterTypeRegistry.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.js.map new file mode 100644 index 0000000..25c71b9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/ParameterTypeRegistry.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeRegistry.js","sourceRoot":"","sources":["../../src/ParameterTypeRegistry.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.d.ts new file mode 100644 index 0000000..e92067a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.d.ts @@ -0,0 +1,5 @@ +export default interface RegexExecArray extends ReadonlyArray { + index: ReadonlyArray; + input: string; +} +//# sourceMappingURL=RegexExecArray.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.d.ts.map new file mode 100644 index 0000000..5a2723b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RegexExecArray.d.ts","sourceRoot":"","sources":["../../src/RegexExecArray.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,cAAe,SAAQ,aAAa,CAAC,MAAM,CAAC;IACnE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;CACd"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.js b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.js new file mode 100644 index 0000000..32211a3 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=RegexExecArray.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.js.map new file mode 100644 index 0000000..858f520 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegexExecArray.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RegexExecArray.js","sourceRoot":"","sources":["../../src/RegexExecArray.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.d.ts new file mode 100644 index 0000000..8937341 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.d.ts @@ -0,0 +1,12 @@ +import Argument from './Argument'; +import ParameterTypeRegistry from './ParameterTypeRegistry'; +import Expression from './Expression'; +export default class RegularExpression implements Expression { + readonly regexp: RegExp; + private readonly parameterTypeRegistry; + private readonly treeRegexp; + constructor(regexp: RegExp, parameterTypeRegistry: ParameterTypeRegistry); + match(text: string): ReadonlyArray>; + get source(): string; +} +//# sourceMappingURL=RegularExpression.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.d.ts.map new file mode 100644 index 0000000..75cd279 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RegularExpression.d.ts","sourceRoot":"","sources":["../../src/RegularExpression.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AAGjC,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,UAAU;aAIxC,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAJxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAGrB,MAAM,EAAE,MAAM,EACb,qBAAqB,EAAE,qBAAqB;IAKxD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAoBxD,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.js b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.js new file mode 100644 index 0000000..dfe95f2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const Argument_1 = __importDefault(require("./Argument")); +const TreeRegexp_1 = __importDefault(require("./TreeRegexp")); +const ParameterType_1 = __importDefault(require("./ParameterType")); +class RegularExpression { + constructor(regexp, parameterTypeRegistry) { + this.regexp = regexp; + this.parameterTypeRegistry = parameterTypeRegistry; + this.treeRegexp = new TreeRegexp_1.default(regexp); + } + match(text) { + const parameterTypes = this.treeRegexp.groupBuilder.children.map((groupBuilder) => { + const parameterTypeRegexp = groupBuilder.source; + return (this.parameterTypeRegistry.lookupByRegexp(parameterTypeRegexp, this.regexp, text) || + new ParameterType_1.default(null, parameterTypeRegexp, String, (s) => (s === undefined ? null : s), false, false)); + }); + return Argument_1.default.build(this.treeRegexp, text, parameterTypes); + } + get source() { + return this.regexp.source; + } +} +exports.default = RegularExpression; +//# sourceMappingURL=RegularExpression.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.js.map new file mode 100644 index 0000000..363542c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/RegularExpression.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RegularExpression.js","sourceRoot":"","sources":["../../src/RegularExpression.ts"],"names":[],"mappings":";;;;;AAAA,0DAAiC;AACjC,8DAAqC;AACrC,oEAA2C;AAI3C,MAAqB,iBAAiB;IAGpC,YACkB,MAAc,EACb,qBAA4C;QAD7C,WAAM,GAAN,MAAM,CAAQ;QACb,0BAAqB,GAArB,qBAAqB,CAAuB;QAE7D,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAC,IAAY;QACvB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YAChF,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAA;YAE/C,OAAO,CACL,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;gBACjF,IAAI,uBAAa,CACf,IAAI,EACJ,mBAAmB,EACnB,MAAM,EACN,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EACnC,KAAK,EACL,KAAK,CACN,CACF,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,kBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;CACF;AAjCD,oCAiCC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.d.ts new file mode 100644 index 0000000..0532a6c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.d.ts @@ -0,0 +1,12 @@ +import GroupBuilder from './GroupBuilder'; +import Group from './Group'; +export default class TreeRegexp { + regexp: RegExp; + private regex; + groupBuilder: GroupBuilder; + constructor(regexp: RegExp | string); + private static createGroupBuilder; + private static isNonCapturing; + match(s: string): Group | null; +} +//# sourceMappingURL=TreeRegexp.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.d.ts.map new file mode 100644 index 0000000..0b33173 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TreeRegexp.d.ts","sourceRoot":"","sources":["../../src/TreeRegexp.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAIzC,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAU;IACtB,MAAM,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,KAAK,CAAK;IACX,YAAY,EAAE,YAAY,CAAA;gBAErB,MAAM,EAAE,MAAM,GAAG,MAAM;IAMnC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAoCjC,OAAO,CAAC,MAAM,CAAC,cAAc;IAgBtB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;CAStC"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.js b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.js new file mode 100644 index 0000000..f67b37b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.js @@ -0,0 +1,79 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const GroupBuilder_1 = __importDefault(require("./GroupBuilder")); +// @ts-ignore +const becke_ch__regex__s0_0_v1__base__pl__lib_1 = __importDefault(require("becke-ch--regex--s0-0-v1--base--pl--lib")); +class TreeRegexp { + constructor(regexp) { + this.regexp = 'string' === typeof regexp ? new RegExp(regexp) : regexp; + this.regex = new becke_ch__regex__s0_0_v1__base__pl__lib_1.default(this.regexp.source, this.regexp.flags); + this.groupBuilder = TreeRegexp.createGroupBuilder(this.regex); + } + static createGroupBuilder(regexp) { + const source = regexp.source; + const stack = [new GroupBuilder_1.default()]; + const groupStartStack = []; + let escaping = false; + let charClass = false; + for (let i = 0; i < source.length; i++) { + const c = source[i]; + if (c === '[' && !escaping) { + charClass = true; + } + else if (c === ']' && !escaping) { + charClass = false; + } + else if (c === '(' && !escaping && !charClass) { + groupStartStack.push(i); + const nonCapturing = TreeRegexp.isNonCapturing(source, i); + const groupBuilder = new GroupBuilder_1.default(); + if (nonCapturing) { + groupBuilder.setNonCapturing(); + } + stack.push(groupBuilder); + } + else if (c === ')' && !escaping && !charClass) { + const gb = stack.pop(); + const groupStart = groupStartStack.pop(); + if (gb.capturing) { + gb.source = source.substring(groupStart + 1, i); + stack[stack.length - 1].add(gb); + } + else { + gb.moveChildrenTo(stack[stack.length - 1]); + } + } + escaping = c === '\\' && !escaping; + } + return stack.pop(); + } + static isNonCapturing(source, i) { + // Regex is valid. Bounds check not required. + if (source[i + 1] != '?') { + // (X) + return false; + } + if (source[i + 2] != '<') { + // (?:X) + // (?=X) + // (?!X) + return true; + } + // (?<=X) or (?X) + return source[i + 3] == '=' || source[i + 3] == '!'; + } + match(s) { + const match = this.regex.exec(s); + if (!match) { + return null; + } + let groupIndex = 0; + const nextGroupIndex = () => groupIndex++; + return this.groupBuilder.build(match, nextGroupIndex); + } +} +exports.default = TreeRegexp; +//# sourceMappingURL=TreeRegexp.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.js.map new file mode 100644 index 0000000..9742421 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/TreeRegexp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TreeRegexp.js","sourceRoot":"","sources":["../../src/TreeRegexp.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/index.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/index.d.ts new file mode 100644 index 0000000..1f8a1c4 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/index.d.ts @@ -0,0 +1,12 @@ +import Argument from './Argument'; +import Expression from './Expression'; +import CucumberExpression from './CucumberExpression'; +import RegularExpression from './RegularExpression'; +import Group from './Group'; +import ExpressionFactory from './ExpressionFactory'; +import CucumberExpressionGenerator from './CucumberExpressionGenerator'; +import ParameterTypeRegistry from './ParameterTypeRegistry'; +import ParameterType from './ParameterType'; +import GeneratedExpression from './GeneratedExpression'; +export { Argument, Group, Expression, CucumberExpression, RegularExpression, ExpressionFactory, CucumberExpressionGenerator, GeneratedExpression, ParameterTypeRegistry, ParameterType, }; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/index.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/index.d.ts.map new file mode 100644 index 0000000..d2540ec --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,2BAA2B,MAAM,+BAA+B,CAAA;AACvE,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GACd,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/index.js b/node_modules/@cucumber/cucumber-expressions/dist/src/index.js new file mode 100644 index 0000000..f661b2b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/index.js @@ -0,0 +1,25 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ParameterType = exports.ParameterTypeRegistry = exports.GeneratedExpression = exports.CucumberExpressionGenerator = exports.ExpressionFactory = exports.RegularExpression = exports.CucumberExpression = exports.Group = exports.Argument = void 0; +const Argument_1 = __importDefault(require("./Argument")); +exports.Argument = Argument_1.default; +const CucumberExpression_1 = __importDefault(require("./CucumberExpression")); +exports.CucumberExpression = CucumberExpression_1.default; +const RegularExpression_1 = __importDefault(require("./RegularExpression")); +exports.RegularExpression = RegularExpression_1.default; +const Group_1 = __importDefault(require("./Group")); +exports.Group = Group_1.default; +const ExpressionFactory_1 = __importDefault(require("./ExpressionFactory")); +exports.ExpressionFactory = ExpressionFactory_1.default; +const CucumberExpressionGenerator_1 = __importDefault(require("./CucumberExpressionGenerator")); +exports.CucumberExpressionGenerator = CucumberExpressionGenerator_1.default; +const ParameterTypeRegistry_1 = __importDefault(require("./ParameterTypeRegistry")); +exports.ParameterTypeRegistry = ParameterTypeRegistry_1.default; +const ParameterType_1 = __importDefault(require("./ParameterType")); +exports.ParameterType = ParameterType_1.default; +const GeneratedExpression_1 = __importDefault(require("./GeneratedExpression")); +exports.GeneratedExpression = GeneratedExpression_1.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/index.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/index.js.map new file mode 100644 index 0000000..930c2a0 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAY/B,mBAZK,kBAAQ,CAYL;AAVV,8EAAqD;AAanD,6BAbK,4BAAkB,CAaL;AAZpB,4EAAmD;AAajD,4BAbK,2BAAiB,CAaL;AAZnB,oDAA2B;AASzB,gBATK,eAAK,CASL;AARP,4EAAmD;AAYjD,4BAZK,2BAAiB,CAYL;AAXnB,gGAAuE;AAYrE,sCAZK,qCAA2B,CAYL;AAX7B,oFAA2D;AAazD,gCAbK,+BAAqB,CAaL;AAZvB,oEAA2C;AAazC,wBAbK,uBAAa,CAaL;AAZf,gFAAuD;AAUrD,8BAVK,6BAAmB,CAUL"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/web.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/src/web.d.ts new file mode 100644 index 0000000..a0b0097 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/web.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=web.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/web.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/src/web.d.ts.map new file mode 100644 index 0000000..c322a37 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/web.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/web.js b/node_modules/@cucumber/cucumber-expressions/dist/src/web.js new file mode 100644 index 0000000..b194b9e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/web.js @@ -0,0 +1,25 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const CucumberExpressions = __importStar(require("./index")); +// @ts-ignore +window.CucumberExpressions = CucumberExpressions; +//# sourceMappingURL=web.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/src/web.js.map b/node_modules/@cucumber/cucumber-expressions/dist/src/web.js.map new file mode 100644 index 0000000..bf05af9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/src/web.js.map @@ -0,0 +1 @@ +{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6DAA8C;AAE9C,aAAa;AACb,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.d.ts new file mode 100644 index 0000000..713608c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ArgumentTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.d.ts.map new file mode 100644 index 0000000..caad73f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ArgumentTest.d.ts","sourceRoot":"","sources":["../../test/ArgumentTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.js new file mode 100644 index 0000000..91904df --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.js @@ -0,0 +1,40 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const TreeRegexp_1 = __importDefault(require("../src/TreeRegexp")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +const Argument_1 = __importDefault(require("../src/Argument")); +const assert = __importStar(require("assert")); +describe('Argument', () => { + it('exposes getParameterTypeName()', () => { + const treeRegexp = new TreeRegexp_1.default('three (.*) mice'); + const parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + const args = Argument_1.default.build(treeRegexp, 'three blind mice', [ + parameterTypeRegistry.lookupByTypeName('string'), + ]); + const argument = args[0]; + assert.strictEqual(argument.getParameterType().name, 'string'); + }); +}); +//# sourceMappingURL=ArgumentTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.js.map new file mode 100644 index 0000000..9918227 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ArgumentTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ArgumentTest.js","sourceRoot":"","sources":["../../test/ArgumentTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAA0C;AAC1C,yFAAgE;AAChE,+DAAsC;AACtC,+CAAgC;AAEhC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,iBAAiB,CAAC,CAAA;QACpD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,EAAE,CAAA;QACzD,MAAM,IAAI,GAAG,kBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,EAAE;YAC1D,qBAAqB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACjD,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.d.ts new file mode 100644 index 0000000..a906692 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=CombinatorialGeneratedExpressionFactoryTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.d.ts.map new file mode 100644 index 0000000..d724d24 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CombinatorialGeneratedExpressionFactoryTest.d.ts","sourceRoot":"","sources":["../../test/CombinatorialGeneratedExpressionFactoryTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.js new file mode 100644 index 0000000..8d923e1 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.js @@ -0,0 +1,34 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const ParameterType_1 = __importDefault(require("../src/ParameterType")); +const CombinatorialGeneratedExpressionFactory_1 = __importDefault(require("../src/CombinatorialGeneratedExpressionFactory")); +describe('CucumberExpressionGenerator', () => { + it('generates multiple expressions', () => { + const parameterTypeCombinations = [ + [ + new ParameterType_1.default('color', /red|blue|yellow/, null, (s) => s, false, true), + new ParameterType_1.default('csscolor', /red|blue|yellow/, null, (s) => s, false, true), + ], + [ + new ParameterType_1.default('date', /\d{4}-\d{2}-\d{2}/, null, (s) => s, false, true), + new ParameterType_1.default('datetime', /\d{4}-\d{2}-\d{2}/, null, (s) => s, false, true), + new ParameterType_1.default('timestamp', /\d{4}-\d{2}-\d{2}/, null, (s) => s, false, true), + ], + ]; + const factory = new CombinatorialGeneratedExpressionFactory_1.default('I bought a {%s} ball on {%s}', parameterTypeCombinations); + const expressions = factory.generateExpressions().map((ge) => ge.source); + assert_1.default.deepStrictEqual(expressions, [ + 'I bought a {color} ball on {date}', + 'I bought a {color} ball on {datetime}', + 'I bought a {color} ball on {timestamp}', + 'I bought a {csscolor} ball on {date}', + 'I bought a {csscolor} ball on {datetime}', + 'I bought a {csscolor} ball on {timestamp}', + ]); + }); +}); +//# sourceMappingURL=CombinatorialGeneratedExpressionFactoryTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.js.map new file mode 100644 index 0000000..8509277 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CombinatorialGeneratedExpressionFactoryTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CombinatorialGeneratedExpressionFactoryTest.js","sourceRoot":"","sources":["../../test/CombinatorialGeneratedExpressionFactoryTest.ts"],"names":[],"mappings":";;;;;AAAA,oDAA2B;AAC3B,yEAAgD;AAChD,6HAAoG;AAEpG,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,yBAAyB,GAAG;YAChC;gBACE,IAAI,uBAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;gBAC1E,IAAI,uBAAa,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;aAC9E;YACD;gBACE,IAAI,uBAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;gBAC3E,IAAI,uBAAa,CAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;gBAC/E,IAAI,uBAAa,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;aACjF;SACF,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,iDAAuC,CACzD,8BAA8B,EAC9B,yBAAyB,CAC1B,CAAA;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACxE,gBAAM,CAAC,eAAe,CAAC,WAAW,EAAE;YAClC,mCAAmC;YACnC,uCAAuC;YACvC,wCAAwC;YACxC,sCAAsC;YACtC,0CAA0C;YAC1C,2CAA2C;SAC5C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.d.ts new file mode 100644 index 0000000..f959dbd --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=CucumberExpressionGeneratorTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.d.ts.map new file mode 100644 index 0000000..44317c1 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionGeneratorTest.d.ts","sourceRoot":"","sources":["../../test/CucumberExpressionGeneratorTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.js new file mode 100644 index 0000000..a337a07 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.js @@ -0,0 +1,158 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const CucumberExpressionGenerator_1 = __importDefault(require("../src/CucumberExpressionGenerator")); +const CucumberExpression_1 = __importDefault(require("../src/CucumberExpression")); +const ParameterType_1 = __importDefault(require("../src/ParameterType")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +class Currency { + constructor(s) { + this.s = s; + } +} +describe('CucumberExpressionGenerator', () => { + let parameterTypeRegistry; + let generator; + function assertExpression(expectedExpression, expectedArgumentNames, text) { + const generatedExpression = generator.generateExpressions(text)[0]; + assert_1.default.deepStrictEqual(generatedExpression.parameterNames, expectedArgumentNames); + assert_1.default.strictEqual(generatedExpression.source, expectedExpression); + const cucumberExpression = new CucumberExpression_1.default(generatedExpression.source, parameterTypeRegistry); + const match = cucumberExpression.match(text); + if (match === null) { + assert_1.default.fail(`Expected text '${text}' to match generated expression '${generatedExpression.source}'`); + } + assert_1.default.strictEqual(match.length, expectedArgumentNames.length); + } + beforeEach(() => { + parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + generator = new CucumberExpressionGenerator_1.default(() => parameterTypeRegistry.parameterTypes); + }); + it('documents expression generation', () => { + parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + generator = new CucumberExpressionGenerator_1.default(() => parameterTypeRegistry.parameterTypes); + const undefinedStepText = 'I have 2 cucumbers and 1.5 tomato'; + const generatedExpression = generator.generateExpressions(undefinedStepText)[0]; + assert_1.default.strictEqual(generatedExpression.source, 'I have {int} cucumbers and {float} tomato'); + assert_1.default.strictEqual(generatedExpression.parameterNames[0], 'int'); + assert_1.default.strictEqual(generatedExpression.parameterTypes[1].name, 'float'); + }); + it('generates expression for no args', () => { + assertExpression('hello', [], 'hello'); + }); + it('generates expression with escaped left parenthesis', () => { + assertExpression('\\(iii)', [], '(iii)'); + }); + it('generates expression with escaped left curly brace', () => { + assertExpression('\\{iii}', [], '{iii}'); + }); + it('generates expression with escaped slashes', () => { + assertExpression('The {int}\\/{int}\\/{int} hey', ['int', 'int2', 'int3'], 'The 1814/05/17 hey'); + }); + it('generates expression for int float arg', () => { + assertExpression('I have {int} cukes and {float} euro', ['int', 'float'], 'I have 2 cukes and 1.5 euro'); + }); + it('generates expression for strings', () => { + assertExpression('I like {string} and {string}', ['string', 'string2'], 'I like "bangers" and \'mash\''); + }); + it('generates expression with % sign', () => { + assertExpression('I am {int}%% foobar', ['int'], 'I am 20%% foobar'); + }); + it('generates expression for just int', () => { + assertExpression('{int}', ['int'], '99999'); + }); + it('numbers only second argument when builtin type is not reserved keyword', () => { + assertExpression('I have {float} cukes and {float} euro', ['float', 'float2'], 'I have 2.5 cukes and 1.5 euro'); + }); + it('generates expression for custom type', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('currency', /[A-Z]{3}/, Currency, (s) => new Currency(s), true, false)); + assertExpression('I have a {currency} account', ['currency'], 'I have a EUR account'); + }); + it('prefers leftmost match when there is overlap', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('currency', /c d/, Currency, (s) => new Currency(s), true, false)); + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('date', /b c/, Date, (s) => new Date(s), true, false)); + assertExpression('a {date} d e f g', ['date'], 'a b c d e f g'); + }); + // TODO: prefers widest match + it('generates all combinations of expressions when several parameter types match', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('currency', /x/, null, (s) => new Currency(s), true, false)); + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('date', /x/, null, (s) => new Date(s), true, false)); + const generatedExpressions = generator.generateExpressions('I have x and x and another x'); + const expressions = generatedExpressions.map((e) => e.source); + assert_1.default.deepStrictEqual(expressions, [ + 'I have {currency} and {currency} and another {currency}', + 'I have {currency} and {currency} and another {date}', + 'I have {currency} and {date} and another {currency}', + 'I have {currency} and {date} and another {date}', + 'I have {date} and {currency} and another {currency}', + 'I have {date} and {currency} and another {date}', + 'I have {date} and {date} and another {currency}', + 'I have {date} and {date} and another {date}', + ]); + }); + it('exposes parameter type names in generated expression', () => { + const expression = generator.generateExpressions('I have 2 cukes and 1.5 euro')[0]; + const typeNames = expression.parameterTypes.map((parameter) => parameter.name); + assert_1.default.deepStrictEqual(typeNames, ['int', 'float']); + }); + it('matches parameter types with optional capture groups', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('optional-flight', /(1st flight)?/, null, (s) => s, true, false)); + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('optional-hotel', /(1 hotel)?/, null, (s) => s, true, false)); + const expression = generator.generateExpressions('I reach Stage 4: 1st flight -1 hotel')[0]; + // While you would expect this to be `I reach Stage {int}: {optional-flight} -{optional-hotel}` the `-1` causes + // {int} to match just before {optional-hotel}. + assert_1.default.strictEqual(expression.source, 'I reach Stage {int}: {optional-flight} {int} hotel'); + }); + it('generates at most 256 expressions', () => { + for (let i = 0; i < 4; i++) { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('my-type-' + i, /([a-z] )*?[a-z]/, null, (s) => s, true, false)); + } + // This would otherwise generate 4^11=419430 expressions and consume just shy of 1.5GB. + const expressions = generator.generateExpressions('a s i m p l e s t e p'); + assert_1.default.strictEqual(expressions.length, 256); + }); + it('prefers expression with longest non empty match', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('zero-or-more', /[a-z]*/, null, (s) => s, true, false)); + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('exactly-one', /[a-z]/, null, (s) => s, true, false)); + const expressions = generator.generateExpressions('a simple step'); + assert_1.default.strictEqual(expressions.length, 2); + assert_1.default.strictEqual(expressions[0].source, '{exactly-one} {zero-or-more} {zero-or-more}'); + assert_1.default.strictEqual(expressions[1].source, '{zero-or-more} {zero-or-more} {zero-or-more}'); + }); + it('does not suggest parameter included at the beginning of a word', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('direction', /(up|down)/, null, (s) => s, true, false)); + const expressions = generator.generateExpressions('I download a picture'); + assert_1.default.strictEqual(expressions.length, 1); + assert_1.default.notStrictEqual(expressions[0].source, 'I {direction}load a picture'); + assert_1.default.strictEqual(expressions[0].source, 'I download a picture'); + }); + it('does not suggest parameter included inside a word', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('direction', /(up|down)/, null, (s) => s, true, false)); + const expressions = generator.generateExpressions('I watch the muppet show'); + assert_1.default.strictEqual(expressions.length, 1); + assert_1.default.notStrictEqual(expressions[0].source, 'I watch the m{direction}pet show'); + assert_1.default.strictEqual(expressions[0].source, 'I watch the muppet show'); + }); + it('does not suggest parameter at the end of a word', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('direction', /(up|down)/, null, (s) => s, true, false)); + const expressions = generator.generateExpressions('I create a group'); + assert_1.default.strictEqual(expressions.length, 1); + assert_1.default.notStrictEqual(expressions[0].source, 'I create a gro{direction}'); + assert_1.default.strictEqual(expressions[0].source, 'I create a group'); + }); + it('does suggest parameter that are a full word', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('direction', /(up|down)/, null, (s) => s, true, false)); + assert_1.default.strictEqual(generator.generateExpressions('When I go down the road')[0].source, 'When I go {direction} the road'); + assert_1.default.strictEqual(generator.generateExpressions('When I walk up the hill')[0].source, 'When I walk {direction} the hill'); + assert_1.default.strictEqual(generator.generateExpressions('up the hill, the road goes down')[0].source, '{direction} the hill, the road goes {direction}'); + }); + it('does not consider punctuation as being part of a word', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('direction', /(up|down)/, null, (s) => s, true, false)); + assert_1.default.strictEqual(generator.generateExpressions('direction is:down')[0].source, 'direction is:{direction}'); + assert_1.default.strictEqual(generator.generateExpressions('direction is down.')[0].source, 'direction is {direction}.'); + }); +}); +//# sourceMappingURL=CucumberExpressionGeneratorTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.js.map new file mode 100644 index 0000000..5e33960 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionGeneratorTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionGeneratorTest.js","sourceRoot":"","sources":["../../test/CucumberExpressionGeneratorTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.d.ts new file mode 100644 index 0000000..7d0e84e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=CucumberExpressionParserTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.d.ts.map new file mode 100644 index 0000000..062ba48 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionParserTest.d.ts","sourceRoot":"","sources":["../../test/CucumberExpressionParserTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.js new file mode 100644 index 0000000..b89813a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.js @@ -0,0 +1,30 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = __importDefault(require("fs")); +const js_yaml_1 = __importDefault(require("js-yaml")); +const assert_1 = __importDefault(require("assert")); +const CucumberExpressionParser_1 = __importDefault(require("../src/CucumberExpressionParser")); +const CucumberExpressionError_1 = __importDefault(require("../src/CucumberExpressionError")); +describe('Cucumber expression parser', () => { + fs_1.default.readdirSync('testdata/ast').forEach((testcase) => { + const testCaseData = fs_1.default.readFileSync(`testdata/ast/${testcase}`, 'utf-8'); + const expectation = js_yaml_1.default.load(testCaseData); + it(`${testcase}`, () => { + const parser = new CucumberExpressionParser_1.default(); + if (expectation.exception == undefined) { + const node = parser.parse(expectation.expression); + assert_1.default.deepStrictEqual(JSON.parse(JSON.stringify(node)), // Removes type information. + JSON.parse(expectation.expected)); + } + else { + assert_1.default.throws(() => { + parser.parse(expectation.expression); + }, new CucumberExpressionError_1.default(expectation.exception)); + } + }); + }); +}); +//# sourceMappingURL=CucumberExpressionParserTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.js.map new file mode 100644 index 0000000..360ef60 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionParserTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionParserTest.js","sourceRoot":"","sources":["../../test/CucumberExpressionParserTest.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,sDAA0B;AAC1B,oDAA2B;AAC3B,+FAAsE;AACtE,6FAAoE;AAQpE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,YAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClD,MAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,gBAAgB,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAA;QACzE,MAAM,WAAW,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAY,CAAgB,CAAA;QAC1D,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,GAAG,EAAE;YACrB,MAAM,MAAM,GAAG,IAAI,kCAAwB,EAAE,CAAA;YAC7C,IAAI,WAAW,CAAC,SAAS,IAAI,SAAS,EAAE;gBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;gBACjD,gBAAM,CAAC,eAAe,CACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,4BAA4B;gBAC9D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CACjC,CAAA;aACF;iBAAM;gBACL,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBACjB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;gBACtC,CAAC,EAAE,IAAI,iCAAuB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;aACvD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.d.ts new file mode 100644 index 0000000..ed6984c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=CucumberExpressionTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.d.ts.map new file mode 100644 index 0000000..a6affb4 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionTest.d.ts","sourceRoot":"","sources":["../../test/CucumberExpressionTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.js new file mode 100644 index 0000000..1cc4eba --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.js @@ -0,0 +1,124 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const CucumberExpression_1 = __importDefault(require("../src/CucumberExpression")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +const ParameterType_1 = __importDefault(require("../src/ParameterType")); +const fs_1 = __importDefault(require("fs")); +const js_yaml_1 = __importDefault(require("js-yaml")); +const CucumberExpressionError_1 = __importDefault(require("../src/CucumberExpressionError")); +describe('CucumberExpression', () => { + fs_1.default.readdirSync('testdata/expression').forEach((testcase) => { + const testCaseData = fs_1.default.readFileSync(`testdata/expression/${testcase}`, 'utf-8'); + const expectation = js_yaml_1.default.load(testCaseData); + it(`${testcase}`, () => { + const parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + if (expectation.exception == undefined) { + const expression = new CucumberExpression_1.default(expectation.expression, parameterTypeRegistry); + const matches = expression.match(expectation.text); + assert_1.default.deepStrictEqual(JSON.parse(JSON.stringify(matches ? matches.map((value) => value.getValue(null)) : null)), // Removes type information. + JSON.parse(expectation.expected)); + } + else { + assert_1.default.throws(() => { + const expression = new CucumberExpression_1.default(expectation.expression, parameterTypeRegistry); + expression.match(expectation.text); + }, new CucumberExpressionError_1.default(expectation.exception)); + } + }); + }); + fs_1.default.readdirSync('testdata/regex').forEach((testcase) => { + const testCaseData = fs_1.default.readFileSync(`testdata/regex/${testcase}`, 'utf-8'); + const expectation = js_yaml_1.default.load(testCaseData); + it(`${testcase}`, () => { + const parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + const expression = new CucumberExpression_1.default(expectation.expression, parameterTypeRegistry); + assert_1.default.deepStrictEqual(expression.regexp.source, expectation.expected); + }); + }); + it('documents match arguments', () => { + const parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + /// [capture-match-arguments] + const expr = 'I have {int} cuke(s)'; + const expression = new CucumberExpression_1.default(expr, parameterTypeRegistry); + const args = expression.match('I have 7 cukes'); + assert_1.default.strictEqual(7, args[0].getValue(null)); + /// [capture-match-arguments] + }); + it('matches float', () => { + assert_1.default.deepStrictEqual(match('{float}', ''), null); + assert_1.default.deepStrictEqual(match('{float}', '.'), null); + assert_1.default.deepStrictEqual(match('{float}', ','), null); + assert_1.default.deepStrictEqual(match('{float}', '-'), null); + assert_1.default.deepStrictEqual(match('{float}', 'E'), null); + assert_1.default.deepStrictEqual(match('{float}', '1,'), null); + assert_1.default.deepStrictEqual(match('{float}', ',1'), null); + assert_1.default.deepStrictEqual(match('{float}', '1.'), null); + assert_1.default.deepStrictEqual(match('{float}', '1'), [1]); + assert_1.default.deepStrictEqual(match('{float}', '-1'), [-1]); + assert_1.default.deepStrictEqual(match('{float}', '1.1'), [1.1]); + assert_1.default.deepStrictEqual(match('{float}', '1,000'), null); + assert_1.default.deepStrictEqual(match('{float}', '1,000,0'), null); + assert_1.default.deepStrictEqual(match('{float}', '1,000.1'), null); + assert_1.default.deepStrictEqual(match('{float}', '1,000,10'), null); + assert_1.default.deepStrictEqual(match('{float}', '1,0.1'), null); + assert_1.default.deepStrictEqual(match('{float}', '1,000,000.1'), null); + assert_1.default.deepStrictEqual(match('{float}', '-1.1'), [-1.1]); + assert_1.default.deepStrictEqual(match('{float}', '.1'), [0.1]); + assert_1.default.deepStrictEqual(match('{float}', '-.1'), [-0.1]); + assert_1.default.deepStrictEqual(match('{float}', '-.10000001'), [-0.10000001]); + assert_1.default.deepStrictEqual(match('{float}', '1E1'), [1e1]); // precision 1 with scale -1, can not be expressed as a decimal + assert_1.default.deepStrictEqual(match('{float}', '.1E1'), [1]); + assert_1.default.deepStrictEqual(match('{float}', 'E1'), null); + assert_1.default.deepStrictEqual(match('{float}', '-.1E-1'), [-0.01]); + assert_1.default.deepStrictEqual(match('{float}', '-.1E-2'), [-0.001]); + assert_1.default.deepStrictEqual(match('{float}', '-.1E+1'), [-1]); + assert_1.default.deepStrictEqual(match('{float}', '-.1E+2'), [-10]); + assert_1.default.deepStrictEqual(match('{float}', '-.1E1'), [-1]); + assert_1.default.deepStrictEqual(match('{float}', '-.10E2'), [-10]); + }); + it('matches float with zero', () => { + assert_1.default.deepEqual(match('{float}', '0'), [0]); + }); + it('exposes source', () => { + const expr = 'I have {int} cuke(s)'; + assert_1.default.strictEqual(new CucumberExpression_1.default(expr, new ParameterTypeRegistry_1.default()).source, expr); + }); + it('unmatched optional groups have undefined values', () => { + const parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('textAndOrNumber', /([A-Z]+)?(?: )?([0-9]+)?/, null, function (s1, s2) { + return [s1, s2]; + }, false, true)); + const expression = new CucumberExpression_1.default('{textAndOrNumber}', parameterTypeRegistry); + const world = {}; + assert_1.default.deepStrictEqual(expression.match(`TLA`)[0].getValue(world), ['TLA', undefined]); + assert_1.default.deepStrictEqual(expression.match(`123`)[0].getValue(world), [undefined, '123']); + }); + // JavaScript-specific + it('delegates transform to custom object', () => { + const parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('widget', /\w+/, null, function (s) { + return this.createWidget(s); + }, false, true)); + const expression = new CucumberExpression_1.default('I have a {widget}', parameterTypeRegistry); + const world = { + createWidget(s) { + return `widget:${s}`; + }, + }; + const args = expression.match(`I have a bolt`); + assert_1.default.strictEqual(args[0].getValue(world), 'widget:bolt'); + }); +}); +const match = (expression, text) => { + const cucumberExpression = new CucumberExpression_1.default(expression, new ParameterTypeRegistry_1.default()); + const args = cucumberExpression.match(text); + if (!args) { + return null; + } + return args.map((arg) => arg.getValue(null)); +}; +//# sourceMappingURL=CucumberExpressionTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.js.map new file mode 100644 index 0000000..e8932f5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionTest.js","sourceRoot":"","sources":["../../test/CucumberExpressionTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.d.ts new file mode 100644 index 0000000..6df46a1 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=CucumberExpressionTokenizerTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.d.ts.map new file mode 100644 index 0000000..30819ee --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionTokenizerTest.d.ts","sourceRoot":"","sources":["../../test/CucumberExpressionTokenizerTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.js new file mode 100644 index 0000000..ff3260e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.js @@ -0,0 +1,30 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = __importDefault(require("fs")); +const js_yaml_1 = __importDefault(require("js-yaml")); +const CucumberExpressionTokenizer_1 = __importDefault(require("../src/CucumberExpressionTokenizer")); +const assert_1 = __importDefault(require("assert")); +const CucumberExpressionError_1 = __importDefault(require("../src/CucumberExpressionError")); +describe('Cucumber expression tokenizer', () => { + fs_1.default.readdirSync('testdata/tokens').forEach((testcase) => { + const testCaseData = fs_1.default.readFileSync(`testdata/tokens/${testcase}`, 'utf-8'); + const expectation = js_yaml_1.default.load(testCaseData); + it(`${testcase}`, () => { + const tokenizer = new CucumberExpressionTokenizer_1.default(); + if (expectation.exception == undefined) { + const tokens = tokenizer.tokenize(expectation.expression); + assert_1.default.deepStrictEqual(JSON.parse(JSON.stringify(tokens)), // Removes type information. + JSON.parse(expectation.expected)); + } + else { + assert_1.default.throws(() => { + tokenizer.tokenize(expectation.expression); + }, new CucumberExpressionError_1.default(expectation.exception)); + } + }); + }); +}); +//# sourceMappingURL=CucumberExpressionTokenizerTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.js.map new file mode 100644 index 0000000..1cad741 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CucumberExpressionTokenizerTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CucumberExpressionTokenizerTest.js","sourceRoot":"","sources":["../../test/CucumberExpressionTokenizerTest.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,sDAA0B;AAC1B,qGAA4E;AAC5E,oDAA2B;AAC3B,6FAAoE;AAQpE,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,YAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrD,MAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,mBAAmB,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAA;QAC5E,MAAM,WAAW,GAAG,iBAAI,CAAC,IAAI,CAAC,YAAY,CAAgB,CAAA;QAC1D,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,GAAG,EAAE;YACrB,MAAM,SAAS,GAAG,IAAI,qCAA2B,EAAE,CAAA;YACnD,IAAI,WAAW,CAAC,SAAS,IAAI,SAAS,EAAE;gBACtC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;gBACzD,gBAAM,CAAC,eAAe,CACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,4BAA4B;gBAChE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CACjC,CAAA;aACF;iBAAM;gBACL,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBACjB,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;gBAC5C,CAAC,EAAE,IAAI,iCAAuB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;aACvD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.d.ts new file mode 100644 index 0000000..f68fbc2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=CustomParameterTypeTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.d.ts.map new file mode 100644 index 0000000..4f01d43 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CustomParameterTypeTest.d.ts","sourceRoot":"","sources":["../../test/CustomParameterTypeTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.js new file mode 100644 index 0000000..6cf74f2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.js @@ -0,0 +1,142 @@ +'use strict'; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const CucumberExpression_1 = __importDefault(require("../src/CucumberExpression")); +const RegularExpression_1 = __importDefault(require("../src/RegularExpression")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +const ParameterType_1 = __importDefault(require("../src/ParameterType")); +class Color { + /// [color-constructor] + constructor(name) { + this.name = name; + } +} +class CssColor { + constructor(name) { + this.name = name; + } +} +describe('Custom parameter type', () => { + let parameterTypeRegistry; + beforeEach(() => { + parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + /* eslint-disable prettier/prettier */ + /// [add-color-parameter-type] + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('color', // name + /red|blue|yellow/, // regexp + Color, // type + // type + s => new Color(s), // transformer + false, // useForSnippets + true // preferForRegexpMatch + )); + /// [add-color-parameter-type] + /* eslint-enable prettier/prettier */ + }); + describe('CucumberExpression', () => { + it('throws exception for illegal character in parameter name', () => { + assert_1.default.throws(() => new ParameterType_1.default('[string]', /.*/, String, (s) => s, false, true), { + message: "Illegal character in parameter name {[string]}. Parameter names may not contain '{', '}', '(', ')', '\\' or '/'", + }); + }); + it('matches parameters with custom parameter type', () => { + const expression = new CucumberExpression_1.default('I have a {color} ball', parameterTypeRegistry); + const value = expression.match('I have a red ball')[0].getValue(null); + assert_1.default.strictEqual(value.name, 'red'); + }); + it('matches parameters with multiple capture groups', () => { + class Coordinate { + constructor(x, y, z) { + this.x = x; + this.y = y; + this.z = z; + } + } + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('coordinate', /(\d+),\s*(\d+),\s*(\d+)/, Coordinate, (x, y, z) => new Coordinate(Number(x), Number(y), Number(z)), true, true)); + const expression = new CucumberExpression_1.default('A {int} thick line from {coordinate} to {coordinate}', parameterTypeRegistry); + const args = expression.match('A 5 thick line from 10,20,30 to 40,50,60'); + const thick = args[0].getValue(null); + assert_1.default.strictEqual(thick, 5); + const from = args[1].getValue(null); + assert_1.default.strictEqual(from.x, 10); + assert_1.default.strictEqual(from.y, 20); + assert_1.default.strictEqual(from.z, 30); + const to = args[2].getValue(null); + assert_1.default.strictEqual(to.x, 40); + assert_1.default.strictEqual(to.y, 50); + assert_1.default.strictEqual(to.z, 60); + }); + it('matches parameters with custom parameter type using optional capture group', () => { + parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('color', [/red|blue|yellow/, /(?:dark|light) (?:red|blue|yellow)/], Color, (s) => new Color(s), false, true)); + const expression = new CucumberExpression_1.default('I have a {color} ball', parameterTypeRegistry); + const value = expression.match('I have a dark red ball')[0].getValue(null); + assert_1.default.strictEqual(value.name, 'dark red'); + }); + it('defers transformation until queried from argument', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('throwing', /bad/, null, (s) => { + throw new Error(`Can't transform [${s}]`); + }, false, true)); + const expression = new CucumberExpression_1.default('I have a {throwing} parameter', parameterTypeRegistry); + const args = expression.match('I have a bad parameter'); + assert_1.default.throws(() => args[0].getValue(null), { + message: "Can't transform [bad]", + }); + }); + describe('conflicting parameter type', () => { + it('is detected for type name', () => { + assert_1.default.throws(() => parameterTypeRegistry.defineParameterType(new ParameterType_1.default('color', /.*/, CssColor, (s) => new CssColor(s), false, true)), { message: 'There is already a parameter type with name color' }); + }); + it('is not detected for type', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('whatever', /.*/, Color, (s) => new Color(s), false, false)); + }); + it('is not detected for regexp', () => { + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('css-color', /red|blue|yellow/, CssColor, (s) => new CssColor(s), true, false)); + assert_1.default.strictEqual(new CucumberExpression_1.default('I have a {css-color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).constructor, CssColor); + assert_1.default.strictEqual(new CucumberExpression_1.default('I have a {css-color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).name, 'blue'); + assert_1.default.strictEqual(new CucumberExpression_1.default('I have a {color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).constructor, Color); + assert_1.default.strictEqual(new CucumberExpression_1.default('I have a {color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).name, 'blue'); + }); + }); + // JavaScript-specific + it('creates arguments using async transform', () => __awaiter(void 0, void 0, void 0, function* () { + parameterTypeRegistry = new ParameterTypeRegistry_1.default(); + /// [add-async-parameter-type] + parameterTypeRegistry.defineParameterType(new ParameterType_1.default('asyncColor', /red|blue|yellow/, Color, (s) => __awaiter(void 0, void 0, void 0, function* () { return new Color(s); }), false, true)); + /// [add-async-parameter-type] + const expression = new CucumberExpression_1.default('I have a {asyncColor} ball', parameterTypeRegistry); + const args = yield expression.match('I have a red ball'); + const value = yield args[0].getValue(null); + assert_1.default.strictEqual(value.name, 'red'); + })); + }); + describe('RegularExpression', () => { + it('matches arguments with custom parameter type', () => { + const expression = new RegularExpression_1.default(/I have a (red|blue|yellow) ball/, parameterTypeRegistry); + const value = expression.match('I have a red ball')[0].getValue(null); + assert_1.default.strictEqual(value.constructor, Color); + assert_1.default.strictEqual(value.name, 'red'); + }); + }); +}); +//# sourceMappingURL=CustomParameterTypeTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.js.map new file mode 100644 index 0000000..04a0eed --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/CustomParameterTypeTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CustomParameterTypeTest.js","sourceRoot":"","sources":["../../test/CustomParameterTypeTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.d.ts new file mode 100644 index 0000000..07caa7e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ExpressionExamplesTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.d.ts.map new file mode 100644 index 0000000..d6aa690 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpressionExamplesTest.d.ts","sourceRoot":"","sources":["../../test/ExpressionExamplesTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.js new file mode 100644 index 0000000..dce52d8 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.js @@ -0,0 +1,32 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = __importDefault(require("fs")); +const assert_1 = __importDefault(require("assert")); +const CucumberExpression_1 = __importDefault(require("../src/CucumberExpression")); +const RegularExpression_1 = __importDefault(require("../src/RegularExpression")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +describe('examples.txt', () => { + const match = (expressionText, text) => { + const m = /^\/(.*)\/$/.exec(expressionText); + const expression = m + ? new RegularExpression_1.default(new RegExp(m[1]), new ParameterTypeRegistry_1.default()) + : new CucumberExpression_1.default(expressionText, new ParameterTypeRegistry_1.default()); + const args = expression.match(text); + if (!args) { + return null; + } + return args.map((arg) => arg.getValue(null)); + }; + const examples = fs_1.default.readFileSync('examples.txt', 'utf-8'); + const chunks = examples.split(/^---/m); + for (const chunk of chunks) { + const [expressionText, text, expectedArgs] = chunk.trim().split(/\n/m); + it(`Works with: ${expressionText}`, () => { + assert_1.default.deepStrictEqual(JSON.stringify(match(expressionText, text)), expectedArgs); + }); + } +}); +//# sourceMappingURL=ExpressionExamplesTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.js.map new file mode 100644 index 0000000..dc9810a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionExamplesTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpressionExamplesTest.js","sourceRoot":"","sources":["../../test/ExpressionExamplesTest.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,oDAA2B;AAC3B,mFAA0D;AAC1D,iFAAwD;AACxD,yFAAgE;AAEhE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,KAAK,GAAG,CAAC,cAAsB,EAAE,IAAY,EAAE,EAAE;QACrD,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,UAAU,GAAG,CAAC;YAClB,CAAC,CAAC,IAAI,2BAAiB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,+BAAqB,EAAE,CAAC;YACtE,CAAC,CAAC,IAAI,4BAAkB,CAAC,cAAc,EAAE,IAAI,+BAAqB,EAAE,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAA;SACZ;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtE,EAAE,CAAC,eAAe,cAAc,EAAE,EAAE,GAAG,EAAE;YACvC,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;QACnF,CAAC,CAAC,CAAA;KACH;AACH,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.d.ts new file mode 100644 index 0000000..e96f5c0 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ExpressionFactoryTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.d.ts.map new file mode 100644 index 0000000..4acaff9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpressionFactoryTest.d.ts","sourceRoot":"","sources":["../../test/ExpressionFactoryTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.js new file mode 100644 index 0000000..ba8240b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.js @@ -0,0 +1,42 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert = __importStar(require("assert")); +const ExpressionFactory_1 = __importDefault(require("../src/ExpressionFactory")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +const RegularExpression_1 = __importDefault(require("../src/RegularExpression")); +const CucumberExpression_1 = __importDefault(require("../src/CucumberExpression")); +describe('ExpressionFactory', () => { + let expressionFactory; + beforeEach(() => { + expressionFactory = new ExpressionFactory_1.default(new ParameterTypeRegistry_1.default()); + }); + it('creates a RegularExpression', () => { + assert.equal(expressionFactory.createExpression(/x/).constructor, RegularExpression_1.default); + }); + it('creates a CucumberExpression', () => { + assert.equal(expressionFactory.createExpression('x').constructor, CucumberExpression_1.default); + }); +}); +//# sourceMappingURL=ExpressionFactoryTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.js.map new file mode 100644 index 0000000..79645e7 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ExpressionFactoryTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpressionFactoryTest.js","sourceRoot":"","sources":["../../test/ExpressionFactoryTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAChC,iFAAwD;AACxD,yFAAgE;AAChE,iFAAwD;AACxD,mFAA0D;AAE1D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,iBAAoC,CAAA;IACxC,UAAU,CAAC,GAAG,EAAE;QACd,iBAAiB,GAAG,IAAI,2BAAiB,CAAC,IAAI,+BAAqB,EAAE,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,2BAAiB,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,4BAAkB,CAAC,CAAA;IACvF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.d.ts new file mode 100644 index 0000000..5cd0c9c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ParameterTypeRegistryTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.d.ts.map new file mode 100644 index 0000000..14ece9b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeRegistryTest.d.ts","sourceRoot":"","sources":["../../test/ParameterTypeRegistryTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.js new file mode 100644 index 0000000..d993ff7 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.js @@ -0,0 +1,51 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +const ParameterType_1 = __importDefault(require("../src/ParameterType")); +class Name { + constructor(name) { + this.name = name; + } +} +class Person { + constructor(name) { + this.name = name; + } +} +class Place { + constructor(name) { + this.name = name; + } +} +const CAPITALISED_WORD = /[A-Z]+\w+/; +describe('ParameterTypeRegistry', () => { + let registry; + beforeEach(() => { + registry = new ParameterTypeRegistry_1.default(); + }); + it('does not allow more than one preferential parameter type for each regexp', () => { + registry.defineParameterType(new ParameterType_1.default('name', CAPITALISED_WORD, Name, (s) => new Name(s), true, true)); + registry.defineParameterType(new ParameterType_1.default('person', CAPITALISED_WORD, Person, (s) => new Person(s), true, false)); + try { + registry.defineParameterType(new ParameterType_1.default('place', CAPITALISED_WORD, Place, (s) => new Place(s), true, true)); + throw new Error('Should have failed'); + } + catch (err) { + assert_1.default.strictEqual(err.message, `There can only be one preferential parameter type per regexp. The regexp ${CAPITALISED_WORD} is used for two preferential parameter types, {name} and {place}`); + } + }); + it('looks up preferential parameter type by regexp', () => { + const name = new ParameterType_1.default('name', /[A-Z]+\w+/, null, (s) => new Name(s), true, false); + const person = new ParameterType_1.default('person', /[A-Z]+\w+/, null, (s) => new Person(s), true, true); + const place = new ParameterType_1.default('place', /[A-Z]+\w+/, null, (s) => new Place(s), true, false); + registry.defineParameterType(name); + registry.defineParameterType(person); + registry.defineParameterType(place); + assert_1.default.strictEqual(registry.lookupByRegexp('[A-Z]+\\w+', /([A-Z]+\w+) and ([A-Z]+\w+)/, 'Lisa and Bob'), person); + }); +}); +//# sourceMappingURL=ParameterTypeRegistryTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.js.map new file mode 100644 index 0000000..b5bc71b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeRegistryTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeRegistryTest.js","sourceRoot":"","sources":["../../test/ParameterTypeRegistryTest.ts"],"names":[],"mappings":";;;;;AAAA,oDAA2B;AAC3B,yFAAgE;AAChE,yEAAgD;AAEhD,MAAM,IAAI;IACR,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAC7C;AACD,MAAM,MAAM;IACV,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAC7C;AACD,MAAM,KAAK;IACT,YAA4B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CAC7C;AAED,MAAM,gBAAgB,GAAG,WAAW,CAAA;AAEpC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,QAA+B,CAAA;IACnC,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,GAAG,IAAI,+BAAqB,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,QAAQ,CAAC,mBAAmB,CAC1B,IAAI,uBAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAClF,CAAA;QACD,QAAQ,CAAC,mBAAmB,CAC1B,IAAI,uBAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CACzF,CAAA;QACD,IAAI;YACF,QAAQ,CAAC,mBAAmB,CAC1B,IAAI,uBAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CACrF,CAAA;YACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;SACtC;QAAC,OAAO,GAAG,EAAE;YACZ,gBAAM,CAAC,WAAW,CAChB,GAAG,CAAC,OAAO,EACX,4EAA4E,gBAAgB,mEAAmE,CAChK,CAAA;SACF;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,uBAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1F,MAAM,MAAM,GAAG,IAAI,uBAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAC/F,MAAM,KAAK,GAAG,IAAI,uBAAa,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAE7F,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAClC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACpC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAEnC,gBAAM,CAAC,WAAW,CAChB,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,6BAA6B,EAAE,cAAc,CAAC,EACpF,MAAM,CACP,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.d.ts new file mode 100644 index 0000000..1d9d221 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=ParameterTypeTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.d.ts.map new file mode 100644 index 0000000..5347e64 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeTest.d.ts","sourceRoot":"","sources":["../../test/ParameterTypeTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.js new file mode 100644 index 0000000..2b9c35b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.js @@ -0,0 +1,32 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const ParameterType_1 = __importDefault(require("../src/ParameterType")); +const assert = __importStar(require("assert")); +describe('ParameterType', () => { + it('does not allow ignore flag on regexp', () => { + assert.throws(() => new ParameterType_1.default('case-insensitive', /[a-z]+/i, String, (s) => s, true, true), { message: "ParameterType Regexps can't use flag 'i'" }); + }); +}); +//# sourceMappingURL=ParameterTypeTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.js.map new file mode 100644 index 0000000..45d02f6 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/ParameterTypeTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ParameterTypeTest.js","sourceRoot":"","sources":["../../test/ParameterTypeTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAgD;AAChD,+CAAgC;AAEhC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,uBAAa,CAAC,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EACpF,EAAE,OAAO,EAAE,0CAA0C,EAAE,CACxD,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.d.ts new file mode 100644 index 0000000..92e9ce8 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=RegularExpressionTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.d.ts.map new file mode 100644 index 0000000..a4b1d7e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"RegularExpressionTest.d.ts","sourceRoot":"","sources":["../../test/RegularExpressionTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.js new file mode 100644 index 0000000..2ec89d9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.js @@ -0,0 +1,85 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const RegularExpression_1 = __importDefault(require("../src/RegularExpression")); +const ParameterTypeRegistry_1 = __importDefault(require("../src/ParameterTypeRegistry")); +describe('RegularExpression', () => { + it('documents match arguments', () => { + const parameterRegistry = new ParameterTypeRegistry_1.default(); + /// [capture-match-arguments] + const expr = /I have (\d+) cukes? in my (\w+) now/; + const expression = new RegularExpression_1.default(expr, parameterRegistry); + const args = expression.match('I have 7 cukes in my belly now'); + assert_1.default.strictEqual(7, args[0].getValue(null)); + assert_1.default.strictEqual('belly', args[1].getValue(null)); + /// [capture-match-arguments] + }); + it('does no transform by default', () => { + assert_1.default.deepStrictEqual(match(/(\d\d)/, '22')[0], '22'); + }); + it('does not transform anonymous', () => { + assert_1.default.deepStrictEqual(match(/(.*)/, '22')[0], '22'); + }); + it('transforms negative int', () => { + assert_1.default.deepStrictEqual(match(/(-?\d+)/, '-22')[0], -22); + }); + it('transforms positive int', () => { + assert_1.default.deepStrictEqual(match(/(\d+)/, '22')[0], 22); + }); + it('transforms float without integer part', () => { + assert_1.default.deepStrictEqual(match(new RegExp(`(${ParameterTypeRegistry_1.default.FLOAT_REGEXP.source})`), '.22')[0], 0.22); + }); + it('transforms float with sign', () => { + assert_1.default.deepStrictEqual(match(new RegExp(`(${ParameterTypeRegistry_1.default.FLOAT_REGEXP.source})`), '-1.22')[0], -1.22); + }); + it('returns null when there is no match', () => { + assert_1.default.strictEqual(match(/hello/, 'world'), null); + }); + it('matches nested capture group without match', () => { + assert_1.default.deepStrictEqual(match(/^a user( named "([^"]*)")?$/, 'a user'), [null]); + }); + it('matches nested capture group with match', () => { + assert_1.default.deepStrictEqual(match(/^a user( named "([^"]*)")?$/, 'a user named "Charlie"'), [ + 'Charlie', + ]); + }); + it('matches capture group nested in optional one', () => { + const regexp = /^a (pre-commercial transaction |pre buyer fee model )?purchase(?: for \$(\d+))?$/; + assert_1.default.deepStrictEqual(match(regexp, 'a purchase'), [null, null]); + assert_1.default.deepStrictEqual(match(regexp, 'a purchase for $33'), [null, 33]); + assert_1.default.deepStrictEqual(match(regexp, 'a pre buyer fee model purchase'), [ + 'pre buyer fee model ', + null, + ]); + }); + it('ignores non capturing groups', () => { + assert_1.default.deepStrictEqual(match(/(\S+) ?(can|cannot)? (?:delete|cancel) the (\d+)(?:st|nd|rd|th) (attachment|slide) ?(?:upload)?/, 'I can cancel the 1st slide upload'), ['I', 'can', 1, 'slide']); + }); + it('works with escaped parenthesis', () => { + assert_1.default.deepStrictEqual(match(/Across the line\(s\)/, 'Across the line(s)'), []); + }); + it('exposes regexp and source', () => { + const regexp = /I have (\d+) cukes? in my (.+) now/; + const expression = new RegularExpression_1.default(regexp, new ParameterTypeRegistry_1.default()); + assert_1.default.deepStrictEqual(expression.regexp, regexp); + assert_1.default.deepStrictEqual(expression.source, regexp.source); + }); + it('does not take consider parenthesis in character class as group', function () { + const expression = new RegularExpression_1.default(/^drawings: ([A-Z_, ()]+)$/, new ParameterTypeRegistry_1.default()); + const args = expression.match('drawings: ONE, TWO(ABC)'); + assert_1.default.strictEqual(args[0].getValue(this), 'ONE, TWO(ABC)'); + }); +}); +const match = (regexp, text) => { + const parameterRegistry = new ParameterTypeRegistry_1.default(); + const regularExpression = new RegularExpression_1.default(regexp, parameterRegistry); + const args = regularExpression.match(text); + if (!args) { + return null; + } + return args.map((arg) => arg.getValue(null)); +}; +//# sourceMappingURL=RegularExpressionTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.js.map new file mode 100644 index 0000000..901cd5d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/RegularExpressionTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RegularExpressionTest.js","sourceRoot":"","sources":["../../test/RegularExpressionTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.d.ts b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.d.ts new file mode 100644 index 0000000..396124a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=TreeRegexpTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.d.ts.map b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.d.ts.map new file mode 100644 index 0000000..3bc1306 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TreeRegexpTest.d.ts","sourceRoot":"","sources":["../../test/TreeRegexpTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.js b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.js new file mode 100644 index 0000000..e2e425b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.js @@ -0,0 +1,133 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const TreeRegexp_1 = __importDefault(require("../src/TreeRegexp")); +describe('TreeRegexp', () => { + it('exposes group source', () => { + const tr = new TreeRegexp_1.default(/(a(?:b)?)(c)/); + assert_1.default.deepStrictEqual(tr.groupBuilder.children.map((gb) => gb.source), ['a(?:b)?', 'c']); + }); + it('builds tree', () => { + const tr = new TreeRegexp_1.default(/(a(?:b)?)(c)/); + const group = tr.match('ac'); + assert_1.default.strictEqual(group.value, 'ac'); + assert_1.default.strictEqual(group.children[0].value, 'a'); + assert_1.default.deepStrictEqual(group.children[0].children, []); + assert_1.default.strictEqual(group.children[1].value, 'c'); + }); + it('ignores `?:` as a non-capturing group', () => { + const tr = new TreeRegexp_1.default(/a(?:b)(c)/); + const group = tr.match('abc'); + assert_1.default.strictEqual(group.value, 'abc'); + assert_1.default.strictEqual(group.children.length, 1); + }); + it('ignores `?!` as a non-capturing group', () => { + const tr = new TreeRegexp_1.default(/a(?!b)(.+)/); + const group = tr.match('aBc'); + assert_1.default.strictEqual(group.value, 'aBc'); + assert_1.default.strictEqual(group.children.length, 1); + }); + it('ignores `?=` as a non-capturing group', () => { + const tr = new TreeRegexp_1.default(/a(?=[b])(.+)/); + const group = tr.match('abc'); + assert_1.default.strictEqual(group.value, 'abc'); + assert_1.default.strictEqual(group.children.length, 1); + assert_1.default.strictEqual(group.children[0].value, 'bc'); + }); + it('ignores `?<=` as a non-capturing group', () => { + const tr = new TreeRegexp_1.default(/a(.+)(?<=c)$/); + const group = tr.match('abc'); + assert_1.default.strictEqual(group.value, 'abc'); + assert_1.default.strictEqual(group.children.length, 1); + assert_1.default.strictEqual(group.children[0].value, 'bc'); + }); + it('ignores `? { + const tr = new TreeRegexp_1.default(/a(.+?)(? { + const tr = new TreeRegexp_1.default(/a(?b)c/); + const group = tr.match('abc'); + assert_1.default.strictEqual(group.value, 'abc'); + assert_1.default.strictEqual(group.children.length, 1); + assert_1.default.strictEqual(group.children[0].value, 'b'); + }); + it('matches optional group', () => { + const tr = new TreeRegexp_1.default(/^Something( with an optional argument)?/); + const group = tr.match('Something'); + assert_1.default.strictEqual(group.children[0].value, undefined); + }); + it('matches nested groups', () => { + const tr = new TreeRegexp_1.default(/^A (\d+) thick line from ((\d+),\s*(\d+),\s*(\d+)) to ((\d+),\s*(\d+),\s*(\d+))/); + const group = tr.match('A 5 thick line from 10,20,30 to 40,50,60'); + assert_1.default.strictEqual(group.children[0].value, '5'); + assert_1.default.strictEqual(group.children[1].value, '10,20,30'); + assert_1.default.strictEqual(group.children[1].children[0].value, '10'); + assert_1.default.strictEqual(group.children[1].children[1].value, '20'); + assert_1.default.strictEqual(group.children[1].children[2].value, '30'); + assert_1.default.strictEqual(group.children[2].value, '40,50,60'); + assert_1.default.strictEqual(group.children[2].children[0].value, '40'); + assert_1.default.strictEqual(group.children[2].children[1].value, '50'); + assert_1.default.strictEqual(group.children[2].children[2].value, '60'); + }); + it('detects multiple non capturing groups', () => { + const tr = new TreeRegexp_1.default(/(?:a)(:b)(\?c)(d)/); + const group = tr.match('a:b?cd'); + assert_1.default.strictEqual(group.children.length, 3); + }); + it('works with escaped backslash', () => { + const tr = new TreeRegexp_1.default(/foo\\(bar|baz)/); + const group = tr.match('foo\\bar'); + assert_1.default.strictEqual(group.children.length, 1); + }); + it('works with escaped slash', () => { + const tr = new TreeRegexp_1.default(/^I go to '\/(.+)'$/); + const group = tr.match("I go to '/hello'"); + assert_1.default.strictEqual(group.children.length, 1); + }); + it('works with digit and word', () => { + const tr = new TreeRegexp_1.default(/^(\d) (\w+)$/); + const group = tr.match('2 you'); + assert_1.default.strictEqual(group.children.length, 2); + }); + it('captures non capturing groups with capturing groups inside', () => { + const tr = new TreeRegexp_1.default('the stdout(?: from "(.*?)")?'); + const group = tr.match('the stdout'); + assert_1.default.strictEqual(group.value, 'the stdout'); + assert_1.default.strictEqual(group.children[0].value, undefined); + assert_1.default.strictEqual(group.children.length, 1); + }); + it('works with flags', () => { + const tr = new TreeRegexp_1.default(/HELLO/i); + const group = tr.match('hello'); + assert_1.default.strictEqual(group.value, 'hello'); + }); + it('empty capturing group', () => { + const tr = new TreeRegexp_1.default(/()/); + const group = tr.match(''); + // TODO: Would expect the empty string here + assert_1.default.strictEqual(group.value, undefined); + assert_1.default.strictEqual(group.children.length, 1); + }); + it('empty look ahead', () => { + const tr = new TreeRegexp_1.default(/(?<=)/); + const group = tr.match(''); + // TODO: Would expect the empty string here + assert_1.default.strictEqual(group.value, undefined); + assert_1.default.strictEqual(group.children.length, 0); + }); + it('does not consider parenthesis in character class as group', () => { + const tr = new TreeRegexp_1.default(/^drawings: ([A-Z, ()]+)$/); + const group = tr.match('drawings: ONE(TWO)'); + assert_1.default.strictEqual(group.value, 'drawings: ONE(TWO)'); + assert_1.default.strictEqual(group.children.length, 1); + assert_1.default.strictEqual(group.children[0].value, 'ONE(TWO)'); + }); +}); +//# sourceMappingURL=TreeRegexpTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.js.map b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.js.map new file mode 100644 index 0000000..2cc2785 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/test/TreeRegexpTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TreeRegexpTest.js","sourceRoot":"","sources":["../../test/TreeRegexpTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/dist/tsconfig.build.tsbuildinfo b/node_modules/@cucumber/cucumber-expressions/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000..add516a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1,4155 @@ +{ + "program": { + "fileInfos": { + "../../../node_modules/typescript/lib/lib.es5.d.ts": { + "version": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "signature": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.d.ts": { + "version": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "signature": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2016.d.ts": { + "version": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "signature": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2017.d.ts": { + "version": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "signature": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2018.d.ts": { + "version": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "signature": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2019.d.ts": { + "version": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "signature": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.dom.d.ts": { + "version": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "signature": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts": { + "version": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "signature": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts": { + "version": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "signature": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts": { + "version": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "signature": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts": { + "version": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "signature": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts": { + "version": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "signature": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts": { + "version": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "signature": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts": { + "version": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "signature": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts": { + "version": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "signature": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts": { + "version": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "signature": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts": { + "version": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "signature": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts": { + "version": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "signature": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts": { + "version": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "signature": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts": { + "version": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "signature": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts": { + "version": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "signature": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts": { + "version": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "signature": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts": { + "version": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "signature": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts": { + "version": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "signature": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts": { + "version": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "signature": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts": { + "version": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "signature": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts": { + "version": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "signature": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts": { + "version": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "signature": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts": { + "version": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "signature": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts": { + "version": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "signature": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts": { + "version": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "signature": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts": { + "version": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "signature": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts": { + "version": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "signature": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "affectsGlobalScope": true + }, + "../src/Group.ts": { + "version": "842b8b4b0c7069514ca8ec30a8f7eca83e92b17f50971780dfc2c584b1499a1f", + "signature": "ad1d9410679ee06b3abc283c49898a4e8665e9e79f6b4bfeb4049fd5092ead30", + "affectsGlobalScope": false + }, + "../src/RegexExecArray.ts": { + "version": "ec04490af65b8fa0702ea909e7ea4098304a83f105ea84caa30eefd0cb77f769", + "signature": "9d79706145e8c73cd73e32ac5865996d6488219898ee6df3ed45a7e800eb09ca", + "affectsGlobalScope": false + }, + "../src/GroupBuilder.ts": { + "version": "16285299a6cc780c604b45cb01347f9c16fa3898962d5ae3b7edb9cf29d88569", + "signature": "5e2fb733341864e191c63b407894d11c85a63b3ef3c8c829e7c380e9705e7da4", + "affectsGlobalScope": false + }, + "../src/TreeRegexp.ts": { + "version": "54ae4b4a4032f8148ab52d9f76c6f207a90d5aad0c426a73b43e5eab517ff55d", + "signature": "9cb50361e1bb9f90b2782e19525a4becb4439c92d7498fa419366585a0b3de06", + "affectsGlobalScope": false + }, + "../src/CucumberExpressionError.ts": { + "version": "06da0313a696d2e58f6a6addb168a1faa1407045975ff672d492b233e0d03d18", + "signature": "f74bd655e2aaf72a8298810b20176026a9b12e4d3b3d6f9c7ccf651876d19b88", + "affectsGlobalScope": false + }, + "../src/ParameterType.ts": { + "version": "26d969226d458c0bac8cc1c5c7d823ce7616c05d467491cbcb1c928a6d081575", + "signature": "4d4fc4612c914cd3d4d1380a2e6021d6c643e4cff13bbb7578e4f33d32f6506e", + "affectsGlobalScope": false + }, + "../src/Argument.ts": { + "version": "7b0deb912161f1f0a36cbac123ef910f90a075734d1d718d985677e4f1857a42", + "signature": "b1f21216d15b6e44bc4ff7ad457ab2546c50d6a3b19f8e23ff54f4ee7177db2d", + "affectsGlobalScope": false + }, + "../src/Ast.ts": { + "version": "ef898392b19ebf12816d5007c058ded7caeb0fb2ef17548c70f4f1e4d45b4b8a", + "signature": "13e3ed22f1867bf678c49e1ad935d8342f3553714bc607aa3d3c8da2d2bf10e0", + "affectsGlobalScope": false + }, + "../src/GeneratedExpression.ts": { + "version": "12424731cf848bb69dadfb6d2b3bb0d06f65397234d83923be7203d774be19f2", + "signature": "737041635899dece79c3ebc8ab5e01749a88c1a3fe882432f5f3a81ded3a95d7", + "affectsGlobalScope": false + }, + "../src/CombinatorialGeneratedExpressionFactory.ts": { + "version": "148e21cc36b2404145e06231bc15040def176000950d0dd59faae9a60b64cb7b", + "signature": "957f2fdf9ace0973eb4f5af4893fb1e6bd06dd447b1c0688924e623466f2bd7f", + "affectsGlobalScope": false + }, + "../src/ParameterTypeMatcher.ts": { + "version": "38b1fcb7ed8a8637719cc56914add019f9be42393de4038a6e656a409e6f3e2f", + "signature": "ca56df0f30f20b3f46b0e1744074e9b059ad9a1ca9c12eaa7d6120750ce15b25", + "affectsGlobalScope": false + }, + "../src/CucumberExpressionGenerator.ts": { + "version": "d4c1913128fee6bf9966511e83141acf39ecc1780aa40ee8282c0cea13beb976", + "signature": "ff5a4a41fbee12294a1cfc20ee8c84514abb4598168eda5a7536544300fb4f43", + "affectsGlobalScope": false + }, + "../src/Errors.ts": { + "version": "a086ff175fa80fd036657886ed8d28a0d379bc555a5cdf8d2efdd281c7731ab5", + "signature": "208ca1963bdeb79e30aaf61ded4655c2258fc74a9ea2c12078d0f0a374857671", + "affectsGlobalScope": false + }, + "../src/ParameterTypeRegistry.ts": { + "version": "013559d8d86f0a02361110234d9f22ebae813553bd9be0de309aa5a77b5ef50a", + "signature": "3f061fc340c103d40d2fa90ae4f0f44a79c053e910efa45e342fee6d7244d91b", + "affectsGlobalScope": false + }, + "../src/Expression.ts": { + "version": "521dda018b62738dac89edd45820361c016736d5a57ff0dde8e8125be2f703da", + "signature": "c61f55f3feea7b97d24714866909b7ac27747cbf541bf6c0a71a4ca0eb17e884", + "affectsGlobalScope": false + }, + "../src/CucumberExpressionTokenizer.ts": { + "version": "268869ee12955d6a67b9307c4c05ccf6531e42e130801fe9aca9f78eb7798633", + "signature": "3fcf6f7e779856604ceb46ca9bee468667d74cf294d55ce28c3edbba094ec4b7", + "affectsGlobalScope": false + }, + "../src/CucumberExpressionParser.ts": { + "version": "ab7a4451b54cba84ffd1d9e58da0b79106f405769a7cd17c33a416316b33166b", + "signature": "5376e6d0f0c36a69972575e06c7d2196475f62b104f7c2b521696b1edaff3870", + "affectsGlobalScope": false + }, + "../src/CucumberExpression.ts": { + "version": "7eb814fb9f19f1cd0dd461a9ca28149f5e2f3f70905e5fd82990bac7230828d6", + "signature": "38d5a275d081255edc4f2a63b71ea38b402a465f0c2f578abf3606903b85c66f", + "affectsGlobalScope": false + }, + "../src/RegularExpression.ts": { + "version": "143c0ecb55737f16d2b5471fa23e36ab5593722ac3d7a080e989c69812d20e73", + "signature": "f5082aa8b3cc2f76aeffc198365bc75a67f19f9f36c3bd1c3efa41c02f59fe8c", + "affectsGlobalScope": false + }, + "../src/ExpressionFactory.ts": { + "version": "5f38b6980e6507677773c611fd9400a7f8456993df1538e1ca719c09a0272d0b", + "signature": "9970544df4f253d99a60fd28ed22627e5f74637578a8235f585bd3c570c27335", + "affectsGlobalScope": false + }, + "../src/index.ts": { + "version": "36800dcdb91ebe75e3b23e6f49130559e98865754031a7cfae977ea7ee9b18d2", + "signature": "16ba81b135a5c487bc60d8ea5dda7fa3976266ca7c963926a8cf11d14546e981", + "affectsGlobalScope": false + }, + "../src/web.ts": { + "version": "726daeb8572b5cd9e18f6623b72bb205cf9b7bc5e2ec9651acd965aa307c0414", + "signature": "640b0486f79c3f2bd45f28441cac8372f81c13055a909fe492cf7dbfdd8b4ab2", + "affectsGlobalScope": false + }, + "../test/ArgumentTest.ts": { + "version": "6f80a97f1421228267760cb294810315b49c904a6ba8eff1ac33b52fd09c171b", + "signature": "f015db73a2ae27a0f1e7b5245241f35ee1b76dcbdde5a8d054e67538fb8c2097", + "affectsGlobalScope": false + }, + "../test/CombinatorialGeneratedExpressionFactoryTest.ts": { + "version": "ceeec10fcd496216c52e9ce420ec5fdfe4fe52250c7af81639ff5f1ff5b4a991", + "signature": "67f87b6c3ed94e0639a3b34cc953512705ae8924101d52f830f74666904cc6c3", + "affectsGlobalScope": false + }, + "../test/CucumberExpressionGeneratorTest.ts": { + "version": "14b600202669a03f0d71e873cd8ff12e5df80c64d61c3994aac176647c11e4dd", + "signature": "80ffa161ec8b8aaa7188f3af8f43a43084ef3be162641694fe50b9069b6e26fc", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/js-yaml/index.d.ts": { + "version": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "signature": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "affectsGlobalScope": false + }, + "../test/CucumberExpressionParserTest.ts": { + "version": "82f04bbbe430abf4caf8bb72801d9a62167dce2f8b8259e018b3019a64891797", + "signature": "dca5d40aac4b8ee4bbf45575572bb3e5a62fb28df68476053b6689b59fe46bb4", + "affectsGlobalScope": false + }, + "../test/CucumberExpressionTest.ts": { + "version": "326671ad99ba19bd3c7aa3a01861e21234eeceef70fe67ee8889b9ca4075c670", + "signature": "935ab6e126a7515476e6cde377033beea116204862ecdf472310bebf1cfab279", + "affectsGlobalScope": false + }, + "../test/CucumberExpressionTokenizerTest.ts": { + "version": "5cae9df57c7829d19154e54fb4439b3e3f0f31af99ab938676b3b7882873157c", + "signature": "aa09e0ba14b4161b14835fb633d465ae28924f87654bdbc7f8c0eff44bd8186c", + "affectsGlobalScope": false + }, + "../test/CustomParameterTypeTest.ts": { + "version": "9fa52f27f73f3a9f6a62a81c4f0b3f1d034358b130cafe6eba10a5ffc4d92c0e", + "signature": "23b21dceccc95c729baa52fe018407d361df305c5a7ade83f638b6246dce1cd2", + "affectsGlobalScope": false + }, + "../test/ExpressionExamplesTest.ts": { + "version": "7a21da673ead966a589e860bcd706480884b260e4242f6e543c06fca2fba6738", + "signature": "341e802c4700be31124140ac80e306259193289c7edaa36c33c9c14bf900ceb1", + "affectsGlobalScope": false + }, + "../test/ExpressionFactoryTest.ts": { + "version": "87b58cad5e7f0b8ea62dfe4d55a0c1b6eaff2e0aa94bb490ef8c5e1accf4468b", + "signature": "80004471818448dccd0c0bf8c11d8a4034add63ff8192348cbf353c67b69bef6", + "affectsGlobalScope": false + }, + "../test/ParameterTypeRegistryTest.ts": { + "version": "5ac43ffcb6edb61a2e253c9b0332166c5764141e791e2944d24ca8aa72174a66", + "signature": "290735b8f331660b0ad34121d60c0ae55c3fbbf2a995933b2611aa51c27d75fb", + "affectsGlobalScope": false + }, + "../test/ParameterTypeTest.ts": { + "version": "0371ded162d24f95b0adabbe418ab03bf86bff399695e36a3919b341ad715932", + "signature": "4773bbf0f398ee2e7a20d2b3d12be2126f1ae9a6be3c58090b2d6347e58995b1", + "affectsGlobalScope": false + }, + "../test/RegularExpressionTest.ts": { + "version": "080e62e0a02c796c7da6fea87c5a28c7bdacbb3b307fbbdb5653de56c268c3fd", + "signature": "e6bf9417f1a1bb8d82a2be61c0548d9937633d5915efd6ef9f390abe174f4c21", + "affectsGlobalScope": false + }, + "../test/TreeRegexpTest.ts": { + "version": "25efae1d5feb3e057ba5bcacefbff6071edf37850f64e8882d269063934af175", + "signature": "22e06a90f1ad2a03962178c21306a36dad866107bb81913cd45bf3335feada41", + "affectsGlobalScope": false + }, + "../package.json": { + "version": "6be09de917dd737f23129e0df7894d22f01d0d09c23b0fba0df006413f61499f", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/anymatch/index.d.ts": { + "version": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "signature": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/braces/index.d.ts": { + "version": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "signature": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/chai/index.d.ts": { + "version": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "signature": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/color-name/index.d.ts": { + "version": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "signature": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/conversions.d.ts": { + "version": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "signature": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/route.d.ts": { + "version": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "signature": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/index.d.ts": { + "version": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "signature": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color/index.d.ts": { + "version": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "signature": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/cucumber/index.d.ts": { + "version": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "signature": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/elasticlunr/index.d.ts": { + "version": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "signature": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/helpers.d.ts": { + "version": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "signature": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/json-schema/index.d.ts": { + "version": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "signature": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/estree/index.d.ts": { + "version": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "signature": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/index.d.ts": { + "version": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "signature": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint-scope/index.d.ts": { + "version": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "signature": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.d.ts": { + "version": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "signature": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/async_hooks.d.ts": { + "version": "d20f08527645f62facb2d66c2b7bd31ea964b59c897d00bddb1efe8c13890b72", + "signature": "d20f08527645f62facb2d66c2b7bd31ea964b59c897d00bddb1efe8c13890b72", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/buffer.d.ts": { + "version": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "signature": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/child_process.d.ts": { + "version": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "signature": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/cluster.d.ts": { + "version": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "signature": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/console.d.ts": { + "version": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "signature": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/constants.d.ts": { + "version": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "signature": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/crypto.d.ts": { + "version": "d53b352a01645c470a0d8c31bf290ba791fc28ade0ce187a4a50f5c2f826f75e", + "signature": "d53b352a01645c470a0d8c31bf290ba791fc28ade0ce187a4a50f5c2f826f75e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dgram.d.ts": { + "version": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "signature": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dns.d.ts": { + "version": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "signature": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/domain.d.ts": { + "version": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "signature": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/events.d.ts": { + "version": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "signature": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/fs.d.ts": { + "version": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "signature": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/fs/promises.d.ts": { + "version": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "signature": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http.d.ts": { + "version": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "signature": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http2.d.ts": { + "version": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "signature": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/https.d.ts": { + "version": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "signature": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/inspector.d.ts": { + "version": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "signature": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/module.d.ts": { + "version": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "signature": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/net.d.ts": { + "version": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "signature": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/os.d.ts": { + "version": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "signature": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/path.d.ts": { + "version": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "signature": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/perf_hooks.d.ts": { + "version": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "signature": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/process.d.ts": { + "version": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "signature": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/punycode.d.ts": { + "version": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "signature": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/querystring.d.ts": { + "version": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "signature": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/readline.d.ts": { + "version": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "signature": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/repl.d.ts": { + "version": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "signature": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/stream.d.ts": { + "version": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "signature": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/string_decoder.d.ts": { + "version": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "signature": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/timers.d.ts": { + "version": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "signature": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tls.d.ts": { + "version": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "signature": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/trace_events.d.ts": { + "version": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "signature": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tty.d.ts": { + "version": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "signature": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/url.d.ts": { + "version": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "signature": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/util.d.ts": { + "version": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "signature": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/v8.d.ts": { + "version": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "signature": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/vm.d.ts": { + "version": "141a943e5690105898a67537a470f70b56d0e183441b56051d929e902376b7b2", + "signature": "141a943e5690105898a67537a470f70b56d0e183441b56051d929e902376b7b2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/worker_threads.d.ts": { + "version": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "signature": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/zlib.d.ts": { + "version": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "signature": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.global.d.ts": { + "version": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "signature": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/wasi.d.ts": { + "version": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "signature": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/ts3.6/base.d.ts": { + "version": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "signature": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/assert.d.ts": { + "version": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "signature": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/base.d.ts": { + "version": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "signature": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/index.d.ts": { + "version": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "signature": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/minimatch/index.d.ts": { + "version": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "signature": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob/index.d.ts": { + "version": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "signature": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob-base/index.d.ts": { + "version": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "signature": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/graceful-fs/index.d.ts": { + "version": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "signature": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/unist/index.d.ts": { + "version": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "signature": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/hast/index.d.ts": { + "version": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "signature": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/html-minifier-terser/index.d.ts": { + "version": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "signature": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/is-function/index.d.ts": { + "version": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "signature": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts": { + "version": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "signature": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": { + "version": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "signature": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-reports/index.d.ts": { + "version": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "signature": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": { + "version": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "signature": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/index.d.ts": { + "version": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "signature": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tough-cookie/index.d.ts": { + "version": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "signature": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/base.d.ts": { + "version": "9043d7218978e67a80cfa23df30a5a4cadc9417acf15291b44c410c25dfc985d", + "signature": "9043d7218978e67a80cfa23df30a5a4cadc9417acf15291b44c410c25dfc985d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": { + "version": "dc3b81d55f30042dade669e7c75f1b0daa1f3ae1c5f23373a0c438db4a5d1154", + "signature": "dc3b81d55f30042dade669e7c75f1b0daa1f3ae1c5f23373a0c438db4a5d1154", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts": { + "version": "f067ec24caccb928fb97297e0318ed21b5998c0b6ca3e68fb988ae69fff0c2c3", + "signature": "f067ec24caccb928fb97297e0318ed21b5998c0b6ca3e68fb988ae69fff0c2c3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/index.d.ts": { + "version": "d4c4fe14b23180acf25e4a68dc3bb9e5c38233dd3de12a4ab9569e636090ac9b", + "signature": "d4c4fe14b23180acf25e4a68dc3bb9e5c38233dd3de12a4ab9569e636090ac9b", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/json5/index.d.ts": { + "version": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "signature": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/long/index.d.ts": { + "version": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "signature": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/global.d.ts": { + "version": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "signature": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts": { + "version": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "signature": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/prop-types/index.d.ts": { + "version": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "signature": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/scheduler/tracing.d.ts": { + "version": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "signature": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/index.d.ts": { + "version": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "signature": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": { + "version": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "signature": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mdast/index.d.ts": { + "version": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "signature": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/micromatch/index.d.ts": { + "version": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "signature": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mocha/index.d.ts": { + "version": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "signature": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": { + "version": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "signature": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/externals.d.ts": { + "version": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "signature": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/index.d.ts": { + "version": "e0014889f31fee76a572b6b15e74b2174cbcf6346ae8ab5c69eb553a10e5c944", + "signature": "e0014889f31fee76a572b6b15e74b2174cbcf6346ae8ab5c69eb553a10e5c944", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/normalize-package-data/index.d.ts": { + "version": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "signature": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/npmlog/index.d.ts": { + "version": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "signature": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/overlayscrollbars/index.d.ts": { + "version": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "signature": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse-json/index.d.ts": { + "version": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "signature": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/pretty-hrtime/index.d.ts": { + "version": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "signature": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/qs/index.d.ts": { + "version": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "signature": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/reach__router/index.d.ts": { + "version": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "signature": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-dom/index.d.ts": { + "version": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "signature": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": { + "version": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "signature": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/scheduler/index.d.ts": { + "version": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "signature": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts": { + "version": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "signature": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon/index.d.ts": { + "version": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "signature": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon-chai/index.d.ts": { + "version": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "signature": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/source-list-map/index.d.ts": { + "version": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "signature": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stack-utils/index.d.ts": { + "version": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "signature": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stream-buffers/index.d.ts": { + "version": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "signature": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tapable/index.d.ts": { + "version": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "signature": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/index.d.ts": { + "version": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "signature": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uuid/index.d.ts": { + "version": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "signature": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "affectsGlobalScope": false + }, + "../../../node_modules/anymatch/index.d.ts": { + "version": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "signature": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts": { + "version": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "signature": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": { + "version": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "signature": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": { + "version": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "signature": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": { + "version": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "signature": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": { + "version": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "signature": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": { + "version": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "signature": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": { + "version": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "signature": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": { + "version": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "signature": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": { + "version": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "signature": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": { + "version": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "signature": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": { + "version": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "signature": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": { + "version": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "signature": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/index.d.ts": { + "version": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "signature": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/index.d.ts": { + "version": "ef0b707624f7d984f07db02e61589a6e2f2474a55d6b666ab04d2b0722708a83", + "signature": "ef0b707624f7d984f07db02e61589a6e2f2474a55d6b666ab04d2b0722708a83", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-env/index.d.ts": { + "version": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "signature": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/yargs-parser/index.d.ts": { + "version": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "signature": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yargs/index.d.ts": { + "version": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "signature": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yauzl/index.d.ts": { + "version": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "signature": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "affectsGlobalScope": false + } + }, + "options": { + "declaration": true, + "target": 2, + "lib": [ + "lib.es2019.d.ts", + "lib.dom.d.ts" + ], + "sourceMap": true, + "allowJs": false, + "jsx": 2, + "resolveJsonModule": true, + "module": 1, + "esModuleInterop": true, + "noImplicitAny": true, + "moduleResolution": 2, + "outDir": "./", + "downlevelIteration": true, + "skipLibCheck": true, + "composite": true, + "declarationMap": true, + "rootDir": "..", + "configFilePath": "../tsconfig.build.json" + }, + "referencedMap": { + "../package.json": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../src/Argument.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/CucumberExpressionError.ts", + "../src/Group.ts", + "../src/ParameterType.ts", + "../src/TreeRegexp.ts" + ], + "../src/Ast.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../src/CombinatorialGeneratedExpressionFactory.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/GeneratedExpression.ts", + "../src/ParameterType.ts" + ], + "../src/CucumberExpression.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Argument.ts", + "../src/Ast.ts", + "../src/CucumberExpressionError.ts", + "../src/CucumberExpressionParser.ts", + "../src/Errors.ts", + "../src/Expression.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts", + "../src/TreeRegexp.ts" + ], + "../src/CucumberExpressionError.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../src/CucumberExpressionGenerator.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../src/CombinatorialGeneratedExpressionFactory.ts", + "../src/GeneratedExpression.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeMatcher.ts" + ], + "../src/CucumberExpressionParser.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Ast.ts", + "../src/CucumberExpressionTokenizer.ts", + "../src/Errors.ts" + ], + "../src/CucumberExpressionTokenizer.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Ast.ts", + "../src/Errors.ts" + ], + "../src/Errors.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Ast.ts", + "../src/CucumberExpressionError.ts", + "../src/GeneratedExpression.ts", + "../src/ParameterType.ts" + ], + "../src/Expression.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Argument.ts" + ], + "../src/ExpressionFactory.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/CucumberExpression.ts", + "../src/Expression.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegularExpression.ts" + ], + "../src/GeneratedExpression.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../src/ParameterType.ts" + ], + "../src/Group.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../src/GroupBuilder.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Group.ts", + "../src/RegexExecArray.ts" + ], + "../src/ParameterType.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/CucumberExpressionError.ts" + ], + "../src/ParameterTypeMatcher.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/ParameterType.ts" + ], + "../src/ParameterTypeRegistry.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/CucumberExpressionError.ts", + "../src/CucumberExpressionGenerator.ts", + "../src/Errors.ts", + "../src/ParameterType.ts" + ], + "../src/RegexExecArray.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../src/RegularExpression.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Argument.ts", + "../src/Expression.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts", + "../src/TreeRegexp.ts" + ], + "../src/TreeRegexp.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Group.ts", + "../src/GroupBuilder.ts", + "../src/RegexExecArray.ts" + ], + "../src/index.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/Argument.ts", + "../src/CucumberExpression.ts", + "../src/CucumberExpressionGenerator.ts", + "../src/Expression.ts", + "../src/ExpressionFactory.ts", + "../src/GeneratedExpression.ts", + "../src/Group.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegularExpression.ts" + ], + "../src/web.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../src/index.ts" + ], + "../test/ArgumentTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/Argument.ts", + "../src/ParameterTypeRegistry.ts", + "../src/TreeRegexp.ts" + ], + "../test/CombinatorialGeneratedExpressionFactoryTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/CombinatorialGeneratedExpressionFactory.ts", + "../src/ParameterType.ts" + ], + "../test/CucumberExpressionGeneratorTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/CucumberExpression.ts", + "../src/CucumberExpressionGenerator.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts" + ], + "../test/CucumberExpressionParserTest.ts": [ + "../../../node_modules/@types/js-yaml/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../src/CucumberExpressionError.ts", + "../src/CucumberExpressionParser.ts" + ], + "../test/CucumberExpressionTest.ts": [ + "../../../node_modules/@types/js-yaml/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../src/CucumberExpression.ts", + "../src/CucumberExpressionError.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts" + ], + "../test/CucumberExpressionTokenizerTest.ts": [ + "../../../node_modules/@types/js-yaml/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../src/CucumberExpressionError.ts", + "../src/CucumberExpressionTokenizer.ts" + ], + "../test/CustomParameterTypeTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/CucumberExpression.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegularExpression.ts" + ], + "../test/ExpressionExamplesTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../src/CucumberExpression.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegularExpression.ts" + ], + "../test/ExpressionFactoryTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/CucumberExpression.ts", + "../src/ExpressionFactory.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegularExpression.ts" + ], + "../test/ParameterTypeRegistryTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts" + ], + "../test/ParameterTypeTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/ParameterType.ts" + ], + "../test/RegularExpressionTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegularExpression.ts" + ], + "../test/TreeRegexpTest.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/TreeRegexp.ts" + ], + "../../../node_modules/@types/anymatch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/braces/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/chai/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-name/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/cucumber/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/elasticlunr/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/eslint/helpers.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/estree/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/glob-base/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/html-minifier-terser/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/is-function/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/js-yaml/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/jsdom/base.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/json-schema/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/json5/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/long/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/minimatch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/mocha/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/externals.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/globals.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node/globals.global.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/normalize-package-data/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/overlayscrollbars/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/parse-json/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/pretty-hrtime/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/prop-types/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/qs/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/global.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/scheduler/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/scheduler/tracing.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/source-list-map/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/stack-utils/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/tapable/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/tough-cookie/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/unist/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/uuid/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/webpack-env/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/yargs-parser/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/anymatch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.dom.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2016.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es5.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ] + }, + "exportedModulesMap": { + "../src/Argument.ts": [ + "../src/Group.ts", + "../src/ParameterType.ts", + "../src/TreeRegexp.ts" + ], + "../src/CombinatorialGeneratedExpressionFactory.ts": [ + "../src/GeneratedExpression.ts", + "../src/ParameterType.ts" + ], + "../src/CucumberExpression.ts": [ + "../src/Argument.ts", + "../src/Expression.ts", + "../src/ParameterTypeRegistry.ts" + ], + "../src/CucumberExpressionGenerator.ts": [ + "../src/GeneratedExpression.ts", + "../src/ParameterType.ts" + ], + "../src/CucumberExpressionParser.ts": [ + "../src/Ast.ts" + ], + "../src/CucumberExpressionTokenizer.ts": [ + "../src/Ast.ts" + ], + "../src/Errors.ts": [ + "../src/Ast.ts", + "../src/CucumberExpressionError.ts", + "../src/GeneratedExpression.ts", + "../src/ParameterType.ts" + ], + "../src/Expression.ts": [ + "../src/Argument.ts" + ], + "../src/ExpressionFactory.ts": [ + "../src/Expression.ts", + "../src/ParameterTypeRegistry.ts" + ], + "../src/GeneratedExpression.ts": [ + "../src/ParameterType.ts" + ], + "../src/GroupBuilder.ts": [ + "../src/Group.ts", + "../src/RegexExecArray.ts" + ], + "../src/ParameterTypeMatcher.ts": [ + "../src/ParameterType.ts" + ], + "../src/ParameterTypeRegistry.ts": [ + "../src/ParameterType.ts" + ], + "../src/RegularExpression.ts": [ + "../src/Argument.ts", + "../src/Expression.ts", + "../src/ParameterTypeRegistry.ts" + ], + "../src/TreeRegexp.ts": [ + "../src/Group.ts", + "../src/GroupBuilder.ts" + ], + "../src/index.ts": [ + "../src/Argument.ts", + "../src/CucumberExpression.ts", + "../src/CucumberExpressionGenerator.ts", + "../src/Expression.ts", + "../src/ExpressionFactory.ts", + "../src/GeneratedExpression.ts", + "../src/Group.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegularExpression.ts" + ], + "../../../node_modules/@types/anymatch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/braces/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/chai/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color-name/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/cucumber/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/elasticlunr/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/eslint/helpers.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/estree/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/glob-base/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/html-minifier-terser/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/is-function/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/js-yaml/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/jsdom/base.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/json-schema/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/json5/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/long/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/minimatch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/mocha/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/externals.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/globals.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node/globals.global.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/normalize-package-data/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/overlayscrollbars/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/parse-json/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/pretty-hrtime/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/prop-types/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/qs/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/global.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/scheduler/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/scheduler/tracing.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/source-list-map/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/stack-utils/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/tapable/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/tough-cookie/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/unist/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/uuid/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/webpack-env/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/yargs-parser/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/anymatch/index.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.dom.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2016.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.es5.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ], + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts": [ + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../package.json", + "../src/Argument.ts", + "../src/Ast.ts", + "../src/CombinatorialGeneratedExpressionFactory.ts", + "../src/CucumberExpression.ts", + "../src/CucumberExpressionError.ts", + "../src/CucumberExpressionGenerator.ts", + "../src/CucumberExpressionParser.ts", + "../src/CucumberExpressionTokenizer.ts", + "../src/Errors.ts", + "../src/Expression.ts", + "../src/ExpressionFactory.ts", + "../src/GeneratedExpression.ts", + "../src/Group.ts", + "../src/GroupBuilder.ts", + "../src/ParameterType.ts", + "../src/ParameterTypeMatcher.ts", + "../src/ParameterTypeRegistry.ts", + "../src/RegexExecArray.ts", + "../src/RegularExpression.ts", + "../src/TreeRegexp.ts", + "../src/index.ts", + "../src/web.ts", + "../test/ArgumentTest.ts", + "../test/CombinatorialGeneratedExpressionFactoryTest.ts", + "../test/CucumberExpressionGeneratorTest.ts", + "../test/CucumberExpressionParserTest.ts", + "../test/CucumberExpressionTest.ts", + "../test/CucumberExpressionTokenizerTest.ts", + "../test/CustomParameterTypeTest.ts", + "../test/ExpressionExamplesTest.ts", + "../test/ExpressionFactoryTest.ts", + "../test/ParameterTypeRegistryTest.ts", + "../test/ParameterTypeTest.ts", + "../test/RegularExpressionTest.ts", + "../test/TreeRegexpTest.ts", + "../../../node_modules/@types/anymatch/index.d.ts", + "../../../node_modules/@types/braces/index.d.ts", + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/index.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts", + "../../../node_modules/@types/color-name/index.d.ts", + "../../../node_modules/@types/color/index.d.ts", + "../../../node_modules/@types/cucumber/index.d.ts", + "../../../node_modules/@types/elasticlunr/index.d.ts", + "../../../node_modules/@types/eslint-scope/index.d.ts", + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/glob-base/index.d.ts", + "../../../node_modules/@types/glob/index.d.ts", + "../../../node_modules/@types/graceful-fs/index.d.ts", + "../../../node_modules/@types/hast/index.d.ts", + "../../../node_modules/@types/html-minifier-terser/index.d.ts", + "../../../node_modules/@types/is-function/index.d.ts", + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts", + "../../../node_modules/@types/istanbul-lib-report/index.d.ts", + "../../../node_modules/@types/istanbul-reports/index.d.ts", + "../../../node_modules/@types/js-yaml/index.d.ts", + "../../../node_modules/@types/jsdom/base.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/jsdom/ts4.0/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts", + "../../../node_modules/@types/json5/index.d.ts", + "../../../node_modules/@types/long/index.d.ts", + "../../../node_modules/@types/markdown-to-jsx/index.d.ts", + "../../../node_modules/@types/mdast/index.d.ts", + "../../../node_modules/@types/micromatch/index.d.ts", + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/mocha/index.d.ts", + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/index.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/base.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts", + "../../../node_modules/@types/normalize-package-data/index.d.ts", + "../../../node_modules/@types/npmlog/index.d.ts", + "../../../node_modules/@types/overlayscrollbars/index.d.ts", + "../../../node_modules/@types/parse-json/index.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts", + "../../../node_modules/@types/pretty-hrtime/index.d.ts", + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/qs/index.d.ts", + "../../../node_modules/@types/reach__router/index.d.ts", + "../../../node_modules/@types/react-dom/index.d.ts", + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/index.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts", + "../../../node_modules/@types/sinon-chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts", + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/stack-utils/index.d.ts", + "../../../node_modules/@types/stream-buffers/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/unist/index.d.ts", + "../../../node_modules/@types/uuid/index.d.ts", + "../../../node_modules/@types/webpack-env/index.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack/index.d.ts", + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/yargs-parser/index.d.ts", + "../../../node_modules/@types/yargs/index.d.ts", + "../../../node_modules/@types/yauzl/index.d.ts", + "../../../node_modules/anymatch/index.d.ts", + "../../../node_modules/typescript/lib/lib.dom.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts", + "../../../node_modules/typescript/lib/lib.es5.d.ts", + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts" + ] + }, + "version": "4.2.3" +} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber-expressions/examples.txt b/node_modules/@cucumber/cucumber-expressions/examples.txt new file mode 100644 index 0000000..3a8288d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/examples.txt @@ -0,0 +1,43 @@ +I have {int} cuke(s) +I have 22 cukes +[22] +--- +I have {int} cuke(s) and some \\[]^$.|?*+ +I have 1 cuke and some \[]^$.|?*+ +[1] +--- +/I have (\d+) cukes? in my (\w+) now/ +I have 22 cukes in my belly now +[22,"belly"] +--- +/I have (-?\d+) cukes? in my (.*) now/ +I have 1 cuke in my belly now +[1,"belly"] +--- +/^Something( with an optional argument)?$/ +Something +[null] +--- +Привет, {word}! +Привет, Мир! +["Мир"] +--- +/I have (.*) cukes? in my (.*) now/ +I have 22 cukes in my belly now +["22","belly"] +--- +I have {} cuke(s) in my {} now +I have 22 cukes in my belly now +["22","belly"] +--- +/^a (pre-commercial transaction |pre buyer fee model )?purchase(?: for \$(\d+))?$/ +a purchase for $33 +[null,33] +--- +Some ${float} of cukes at {int}° Celsius +Some $3.50 of cukes at 42° Celsius +[3.5,42] +--- +I select the {int}st/nd/rd/th Cucumber +I select the 3rd Cucumber +[3] diff --git a/node_modules/@cucumber/cucumber-expressions/mocha b/node_modules/@cucumber/cucumber-expressions/mocha new file mode 100755 index 0000000..a95378c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/mocha @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +node_modules/.bin/mocha "$@" diff --git a/node_modules/@cucumber/cucumber-expressions/package.json b/node_modules/@cucumber/cucumber-expressions/package.json new file mode 100644 index 0000000..ca0beea --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/package.json @@ -0,0 +1,71 @@ +{ + "_from": "@cucumber/cucumber-expressions@12.0.1", + "_id": "@cucumber/cucumber-expressions@12.0.1", + "_inBundle": false, + "_integrity": "sha512-ANzu80Mw9GzTQ5ImuLdBtHnQfG8MghVvvtud4GHBvlQ4Wzu1SvkUj3RsdtW9w3p7mATSw8SiSFj6Jel3cEWN6Q==", + "_location": "/@cucumber/cucumber-expressions", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@cucumber/cucumber-expressions@12.0.1", + "name": "@cucumber/cucumber-expressions", + "escapedName": "@cucumber%2fcucumber-expressions", + "scope": "@cucumber", + "rawSpec": "12.0.1", + "saveSpec": null, + "fetchSpec": "12.0.1" + }, + "_requiredBy": [ + "/@cucumber/cucumber" + ], + "_resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-12.0.1.tgz", + "_shasum": "7ab8936adb82d2bb45b86baa494e4e6e3dc9839f", + "_spec": "@cucumber/cucumber-expressions@12.0.1", + "_where": "/Users/ania/Projects/jan-molak/cucumber-js-1646/node_modules/@cucumber/cucumber", + "author": { + "name": "Cucumber Limited", + "email": "cukes@googlegroups.com" + }, + "bugs": { + "url": "https://github.com/cucumber/cucumber-expressions-javascript/issues" + }, + "bundleDependencies": false, + "dependencies": { + "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.4.0" + }, + "deprecated": false, + "description": "Cucumber Expressions - a simpler alternative to Regular Expressions", + "devDependencies": { + "@types/js-yaml": "^4.0.0", + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.37", + "js-yaml": "^4.0.0", + "mocha": "^8.3.2", + "ts-node": "^9.1.1", + "typescript": "^4.2.3" + }, + "directories": { + "test": "test" + }, + "homepage": "https://github.com/cucumber/cucumber-expressions-javascript#readme", + "keywords": [ + "cucumber", + "steps", + "regexp", + "regex" + ], + "license": "MIT", + "main": "dist/src/index.js", + "name": "@cucumber/cucumber-expressions", + "repository": { + "type": "git", + "url": "git://github.com/cucumber/cucumber-expressions-javascript.git" + }, + "scripts": { + "prepublishOnly": "tsc --build tsconfig.build.json", + "test": "mocha" + }, + "types": "dist/src/index.d.ts", + "version": "12.0.1" +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/Argument.ts b/node_modules/@cucumber/cucumber-expressions/src/Argument.ts new file mode 100644 index 0000000..2f2fda4 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/Argument.ts @@ -0,0 +1,52 @@ +import TreeRegexp from './TreeRegexp' +import ParameterType from './ParameterType' +import Group from './Group' +import CucumberExpressionError from './CucumberExpressionError' + +export default class Argument { + public static build( + treeRegexp: TreeRegexp, + text: string, + parameterTypes: ReadonlyArray> + ): ReadonlyArray> { + const group = treeRegexp.match(text) + if (!group) { + return null + } + + const argGroups = group.children + + if (argGroups.length !== parameterTypes.length) { + throw new CucumberExpressionError( + `Expression ${treeRegexp.regexp} has ${argGroups.length} capture groups (${argGroups.map( + (g) => g.value + )}), but there were ${parameterTypes.length} parameter types (${parameterTypes.map( + (p) => p.name + )})` + ) + } + + return parameterTypes.map((parameterType, i) => new Argument(argGroups[i], parameterType)) + } + + constructor(public readonly group: Group, public readonly parameterType: ParameterType) { + this.group = group + this.parameterType = parameterType + } + + /** + * Get the value returned by the parameter type's transformer function. + * + * @param thisObj the object in which the transformer function is applied. + */ + public getValue(thisObj: any): T { + const groupValues = this.group ? this.group.values : null + return this.parameterType.transform(thisObj, groupValues) + } + + public getParameterType() { + return this.parameterType + } +} + +module.exports = Argument diff --git a/node_modules/@cucumber/cucumber-expressions/src/Ast.ts b/node_modules/@cucumber/cucumber-expressions/src/Ast.ts new file mode 100644 index 0000000..07d4b51 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/Ast.ts @@ -0,0 +1,157 @@ +const escapeCharacter = '\\' +const alternationCharacter = '/' +const beginParameterCharacter = '{' +const endParameterCharacter = '}' +const beginOptionalCharacter = '(' +const endOptionalCharacter = ')' + +export function symbolOf(token: TokenType): string { + switch (token) { + case TokenType.beginOptional: + return beginOptionalCharacter + case TokenType.endOptional: + return endOptionalCharacter + case TokenType.beginParameter: + return beginParameterCharacter + case TokenType.endParameter: + return endParameterCharacter + case TokenType.alternation: + return alternationCharacter + } + return '' +} + +export function purposeOf(token: TokenType): string { + switch (token) { + case TokenType.beginOptional: + case TokenType.endOptional: + return 'optional text' + case TokenType.beginParameter: + case TokenType.endParameter: + return 'a parameter' + case TokenType.alternation: + return 'alternation' + } + return '' +} + +export interface Located { + readonly start: number + readonly end: number +} + +export class Node { + readonly type: NodeType + readonly nodes?: ReadonlyArray | undefined + readonly token?: string | undefined + readonly start: number + readonly end: number + + constructor( + type: NodeType, + nodes: ReadonlyArray = undefined, + token: string = undefined, + start: number, + end: number + ) { + if (nodes === undefined && token === undefined) { + throw new Error('Either nodes or token must be defined') + } + if (nodes === null || token === null) { + throw new Error('Either nodes or token may not be null') + } + this.type = type + this.nodes = nodes + this.token = token + this.start = start + this.end = end + } + + text(): string { + if (this.nodes) { + return this.nodes.map((value) => value.text()).join('') + } + return this.token + } +} + +export enum NodeType { + text = 'TEXT_NODE', + optional = 'OPTIONAL_NODE', + alternation = 'ALTERNATION_NODE', + alternative = 'ALTERNATIVE_NODE', + parameter = 'PARAMETER_NODE', + expression = 'EXPRESSION_NODE', +} + +export class Token { + readonly type: TokenType + readonly text: string + readonly start: number + readonly end: number + + constructor(type: TokenType, text: string, start: number, end: number) { + this.type = type + this.text = text + this.start = start + this.end = end + } + + static isEscapeCharacter(codePoint: string): boolean { + return codePoint == escapeCharacter + } + + static canEscape(codePoint: string): boolean { + if (codePoint == ' ') { + // TODO: Unicode whitespace? + return true + } + switch (codePoint) { + case escapeCharacter: + return true + case alternationCharacter: + return true + case beginParameterCharacter: + return true + case endParameterCharacter: + return true + case beginOptionalCharacter: + return true + case endOptionalCharacter: + return true + } + return false + } + + static typeOf(codePoint: string): TokenType { + if (codePoint == ' ') { + // TODO: Unicode whitespace? + return TokenType.whiteSpace + } + switch (codePoint) { + case alternationCharacter: + return TokenType.alternation + case beginParameterCharacter: + return TokenType.beginParameter + case endParameterCharacter: + return TokenType.endParameter + case beginOptionalCharacter: + return TokenType.beginOptional + case endOptionalCharacter: + return TokenType.endOptional + } + return TokenType.text + } +} + +export enum TokenType { + startOfLine = 'START_OF_LINE', + endOfLine = 'END_OF_LINE', + whiteSpace = 'WHITE_SPACE', + beginOptional = 'BEGIN_OPTIONAL', + endOptional = 'END_OPTIONAL', + beginParameter = 'BEGIN_PARAMETER', + endParameter = 'END_PARAMETER', + alternation = 'ALTERNATION', + text = 'TEXT', +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/CombinatorialGeneratedExpressionFactory.ts b/node_modules/@cucumber/cucumber-expressions/src/CombinatorialGeneratedExpressionFactory.ts new file mode 100644 index 0000000..2cfdd51 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/CombinatorialGeneratedExpressionFactory.ts @@ -0,0 +1,49 @@ +import GeneratedExpression from './GeneratedExpression' +import ParameterType from './ParameterType' + +// 256 generated expressions ought to be enough for anybody +const MAX_EXPRESSIONS = 256 + +export default class CombinatorialGeneratedExpressionFactory { + constructor( + private readonly expressionTemplate: string, + private readonly parameterTypeCombinations: Array>> + ) { + this.expressionTemplate = expressionTemplate + } + + public generateExpressions(): ReadonlyArray { + const generatedExpressions: GeneratedExpression[] = [] + this.generatePermutations(generatedExpressions, 0, []) + return generatedExpressions + } + + private generatePermutations( + generatedExpressions: GeneratedExpression[], + depth: number, + currentParameterTypes: Array> + ) { + if (generatedExpressions.length >= MAX_EXPRESSIONS) { + return + } + + if (depth === this.parameterTypeCombinations.length) { + generatedExpressions.push( + new GeneratedExpression(this.expressionTemplate, currentParameterTypes) + ) + return + } + + // tslint:disable-next-line:prefer-for-of + for (let i = 0; i < this.parameterTypeCombinations[depth].length; ++i) { + // Avoid recursion if no elements can be added. + if (generatedExpressions.length >= MAX_EXPRESSIONS) { + return + } + + const newCurrentParameterTypes = currentParameterTypes.slice() // clone + newCurrentParameterTypes.push(this.parameterTypeCombinations[depth][i]) + this.generatePermutations(generatedExpressions, depth + 1, newCurrentParameterTypes) + } + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/CucumberExpression.ts b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpression.ts new file mode 100644 index 0000000..bcd99f9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpression.ts @@ -0,0 +1,153 @@ +import ParameterTypeRegistry from './ParameterTypeRegistry' +import ParameterType from './ParameterType' +import TreeRegexp from './TreeRegexp' +import Argument from './Argument' +import { + createAlternativeMayNotBeEmpty, + createAlternativeMayNotExclusivelyContainOptionals, + createOptionalIsNotAllowedInOptional, + createOptionalMayNotBeEmpty, + createParameterIsNotAllowedInOptional, + createUndefinedParameterType, +} from './Errors' +import Expression from './Expression' +import CucumberExpressionParser from './CucumberExpressionParser' +import { Node, NodeType } from './Ast' +import CucumberExpressionError from './CucumberExpressionError' + +const ESCAPE_PATTERN = () => /([\\^[({$.|?*+})\]])/g + +export default class CucumberExpression implements Expression { + private readonly parameterTypes: Array> = [] + private readonly treeRegexp: TreeRegexp + + /** + * @param expression + * @param parameterTypeRegistry + */ + constructor( + private readonly expression: string, + private readonly parameterTypeRegistry: ParameterTypeRegistry + ) { + const parser = new CucumberExpressionParser() + const ast = parser.parse(expression) + const pattern = this.rewriteToRegex(ast) + this.treeRegexp = new TreeRegexp(pattern) + } + + private rewriteToRegex(node: Node): string { + switch (node.type) { + case NodeType.text: + return CucumberExpression.escapeRegex(node.text()) + case NodeType.optional: + return this.rewriteOptional(node) + case NodeType.alternation: + return this.rewriteAlternation(node) + case NodeType.alternative: + return this.rewriteAlternative(node) + case NodeType.parameter: + return this.rewriteParameter(node) + case NodeType.expression: + return this.rewriteExpression(node) + default: + // Can't happen as long as the switch case is exhaustive + throw new Error(node.type) + } + } + + private static escapeRegex(expression: string) { + return expression.replace(ESCAPE_PATTERN(), '\\$1') + } + + private rewriteOptional(node: Node): string { + this.assertNoParameters(node, (astNode) => + createParameterIsNotAllowedInOptional(astNode, this.expression) + ) + this.assertNoOptionals(node, (astNode) => + createOptionalIsNotAllowedInOptional(astNode, this.expression) + ) + this.assertNotEmpty(node, (astNode) => createOptionalMayNotBeEmpty(astNode, this.expression)) + const regex = node.nodes.map((node) => this.rewriteToRegex(node)).join('') + return `(?:${regex})?` + } + + private rewriteAlternation(node: Node) { + // Make sure the alternative parts aren't empty and don't contain parameter types + node.nodes.forEach((alternative) => { + if (alternative.nodes.length == 0) { + throw createAlternativeMayNotBeEmpty(alternative, this.expression) + } + this.assertNotEmpty(alternative, (astNode) => + createAlternativeMayNotExclusivelyContainOptionals(astNode, this.expression) + ) + }) + const regex = node.nodes.map((node) => this.rewriteToRegex(node)).join('|') + return `(?:${regex})` + } + + private rewriteAlternative(node: Node) { + return node.nodes.map((lastNode) => this.rewriteToRegex(lastNode)).join('') + } + + private rewriteParameter(node: Node) { + const name = node.text() + const parameterType = this.parameterTypeRegistry.lookupByTypeName(name) + if (!parameterType) { + throw createUndefinedParameterType(node, this.expression, name) + } + this.parameterTypes.push(parameterType) + const regexps = parameterType.regexpStrings + if (regexps.length == 1) { + return `(${regexps[0]})` + } + return `((?:${regexps.join(')|(?:')}))` + } + + private rewriteExpression(node: Node) { + const regex = node.nodes.map((node) => this.rewriteToRegex(node)).join('') + return `^${regex}$` + } + + private assertNotEmpty( + node: Node, + createNodeWasNotEmptyException: (astNode: Node) => CucumberExpressionError + ) { + const textNodes = node.nodes.filter((astNode) => NodeType.text == astNode.type) + + if (textNodes.length == 0) { + throw createNodeWasNotEmptyException(node) + } + } + + private assertNoParameters( + node: Node, + createNodeContainedAParameterError: (astNode: Node) => CucumberExpressionError + ) { + const parameterNodes = node.nodes.filter((astNode) => NodeType.parameter == astNode.type) + if (parameterNodes.length > 0) { + throw createNodeContainedAParameterError(parameterNodes[0]) + } + } + + private assertNoOptionals( + node: Node, + createNodeContainedAnOptionalError: (astNode: Node) => CucumberExpressionError + ) { + const parameterNodes = node.nodes.filter((astNode) => NodeType.optional == astNode.type) + if (parameterNodes.length > 0) { + throw createNodeContainedAnOptionalError(parameterNodes[0]) + } + } + + public match(text: string): ReadonlyArray> { + return Argument.build(this.treeRegexp, text, this.parameterTypes) + } + + get regexp(): RegExp { + return this.treeRegexp.regexp + } + + get source(): string { + return this.expression + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionError.ts b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionError.ts new file mode 100644 index 0000000..5fc12cf --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionError.ts @@ -0,0 +1 @@ +export default class CucumberExpressionError extends Error {} diff --git a/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionGenerator.ts b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionGenerator.ts new file mode 100644 index 0000000..ee894d7 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionGenerator.ts @@ -0,0 +1,118 @@ +import ParameterTypeMatcher from './ParameterTypeMatcher' +import ParameterType from './ParameterType' + +import util from 'util' +import CombinatorialGeneratedExpressionFactory from './CombinatorialGeneratedExpressionFactory' +import GeneratedExpression from './GeneratedExpression' + +export default class CucumberExpressionGenerator { + constructor(private readonly parameterTypes: () => Iterable>) {} + + public generateExpressions(text: string): ReadonlyArray { + const parameterTypeCombinations: Array>> = [] + const parameterTypeMatchers = this.createParameterTypeMatchers(text) + let expressionTemplate = '' + let pos = 0 + + // eslint-disable-next-line no-constant-condition + while (true) { + let matchingParameterTypeMatchers = [] + + for (const parameterTypeMatcher of parameterTypeMatchers) { + const advancedParameterTypeMatcher = parameterTypeMatcher.advanceTo(pos) + if (advancedParameterTypeMatcher.find) { + matchingParameterTypeMatchers.push(advancedParameterTypeMatcher) + } + } + + if (matchingParameterTypeMatchers.length > 0) { + matchingParameterTypeMatchers = matchingParameterTypeMatchers.sort( + ParameterTypeMatcher.compare + ) + + // Find all the best parameter type matchers, they are all candidates. + const bestParameterTypeMatcher = matchingParameterTypeMatchers[0] + const bestParameterTypeMatchers = matchingParameterTypeMatchers.filter( + (m) => ParameterTypeMatcher.compare(m, bestParameterTypeMatcher) === 0 + ) + + // Build a list of parameter types without duplicates. The reason there + // might be duplicates is that some parameter types have more than one regexp, + // which means multiple ParameterTypeMatcher objects will have a reference to the + // same ParameterType. + // We're sorting the list so preferential parameter types are listed first. + // Users are most likely to want these, so they should be listed at the top. + let parameterTypes = [] + for (const parameterTypeMatcher of bestParameterTypeMatchers) { + if (parameterTypes.indexOf(parameterTypeMatcher.parameterType) === -1) { + parameterTypes.push(parameterTypeMatcher.parameterType) + } + } + parameterTypes = parameterTypes.sort(ParameterType.compare) + + parameterTypeCombinations.push(parameterTypes) + + expressionTemplate += escape(text.slice(pos, bestParameterTypeMatcher.start)) + expressionTemplate += '{%s}' + + pos = bestParameterTypeMatcher.start + bestParameterTypeMatcher.group.length + } else { + break + } + + if (pos >= text.length) { + break + } + } + + expressionTemplate += escape(text.slice(pos)) + return new CombinatorialGeneratedExpressionFactory( + expressionTemplate, + parameterTypeCombinations + ).generateExpressions() + } + + /** + * @deprecated + */ + public generateExpression(text: string): GeneratedExpression { + return util.deprecate( + () => this.generateExpressions(text)[0], + 'CucumberExpressionGenerator.generateExpression: Use CucumberExpressionGenerator.generateExpressions instead' + )() + } + + private createParameterTypeMatchers(text: string): ParameterTypeMatcher[] { + let parameterMatchers: ParameterTypeMatcher[] = [] + for (const parameterType of this.parameterTypes()) { + if (parameterType.useForSnippets) { + parameterMatchers = parameterMatchers.concat( + CucumberExpressionGenerator.createParameterTypeMatchers2(parameterType, text) + ) + } + } + return parameterMatchers + } + + private static createParameterTypeMatchers2( + parameterType: ParameterType, + text: string + ): ParameterTypeMatcher[] { + // TODO: [].map + const result = [] + for (const regexp of parameterType.regexpStrings) { + result.push(new ParameterTypeMatcher(parameterType, regexp, text)) + } + return result + } +} + +function escape(s: string): string { + return s + .replace(/%/g, '%%') // for util.format + .replace(/\(/g, '\\(') + .replace(/{/g, '\\{') + .replace(/\//g, '\\/') +} + +module.exports = CucumberExpressionGenerator diff --git a/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionParser.ts b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionParser.ts new file mode 100644 index 0000000..1f7760d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionParser.ts @@ -0,0 +1,321 @@ +import { Node, NodeType, Token, TokenType } from './Ast' +import CucumberExpressionTokenizer from './CucumberExpressionTokenizer' +import { + createAlternationNotAllowedInOptional, + createInvalidParameterTypeNameInNode, + createMissingEndToken, +} from './Errors' + +/* + * text := whitespace | ')' | '}' | . + */ +function parseText(expression: string, tokens: ReadonlyArray, current: number) { + const token = tokens[current] + switch (token.type) { + case TokenType.whiteSpace: + case TokenType.text: + case TokenType.endParameter: + case TokenType.endOptional: + return { + consumed: 1, + ast: [new Node(NodeType.text, undefined, token.text, token.start, token.end)], + } + case TokenType.alternation: + throw createAlternationNotAllowedInOptional(expression, token) + case TokenType.startOfLine: + case TokenType.endOfLine: + case TokenType.beginOptional: + case TokenType.beginParameter: + default: + // If configured correctly this will never happen + return { consumed: 0 } + } +} + +/* + * parameter := '{' + name* + '}' + */ +function parseName(expression: string, tokens: ReadonlyArray, current: number) { + const token = tokens[current] + switch (token.type) { + case TokenType.whiteSpace: + case TokenType.text: + return { + consumed: 1, + ast: [new Node(NodeType.text, undefined, token.text, token.start, token.end)], + } + case TokenType.beginOptional: + case TokenType.endOptional: + case TokenType.beginParameter: + case TokenType.endParameter: + case TokenType.alternation: + throw createInvalidParameterTypeNameInNode(token, expression) + case TokenType.startOfLine: + case TokenType.endOfLine: + default: + // If configured correctly this will never happen + return { consumed: 0 } + } +} + +/* + * parameter := '{' + text* + '}' + */ +const parseParameter = parseBetween( + NodeType.parameter, + TokenType.beginParameter, + TokenType.endParameter, + [parseName] +) + +/* + * optional := '(' + option* + ')' + * option := optional | parameter | text + */ +const optionalSubParsers: Array = [] +const parseOptional = parseBetween( + NodeType.optional, + TokenType.beginOptional, + TokenType.endOptional, + optionalSubParsers +) +optionalSubParsers.push(parseOptional, parseParameter, parseText) + +/* + * alternation := alternative* + ( '/' + alternative* )+ + */ +function parseAlternativeSeparator( + expression: string, + tokens: ReadonlyArray, + current: number +) { + if (!lookingAt(tokens, current, TokenType.alternation)) { + return { consumed: 0 } + } + const token = tokens[current] + return { + consumed: 1, + ast: [new Node(NodeType.alternative, undefined, token.text, token.start, token.end)], + } +} + +const alternativeParsers: ReadonlyArray = [ + parseAlternativeSeparator, + parseOptional, + parseParameter, + parseText, +] + +/* + * alternation := (?<=left-boundary) + alternative* + ( '/' + alternative* )+ + (?=right-boundary) + * left-boundary := whitespace | } | ^ + * right-boundary := whitespace | { | $ + * alternative: = optional | parameter | text + */ +const parseAlternation: Parser = (expression, tokens, current) => { + const previous = current - 1 + if ( + !lookingAtAny(tokens, previous, [ + TokenType.startOfLine, + TokenType.whiteSpace, + TokenType.endParameter, + ]) + ) { + return { consumed: 0 } + } + + const result = parseTokensUntil(expression, alternativeParsers, tokens, current, [ + TokenType.whiteSpace, + TokenType.endOfLine, + TokenType.beginParameter, + ]) + const subCurrent = current + result.consumed + if (!result.ast.some((astNode) => astNode.type == NodeType.alternative)) { + return { consumed: 0 } + } + + const start = tokens[current].start + const end = tokens[subCurrent].start + // Does not consume right hand boundary token + return { + consumed: result.consumed, + ast: [ + new Node( + NodeType.alternation, + splitAlternatives(start, end, result.ast), + undefined, + start, + end + ), + ], + } +} + +/* + * cucumber-expression := ( alternation | optional | parameter | text )* + */ +const parseCucumberExpression = parseBetween( + NodeType.expression, + TokenType.startOfLine, + TokenType.endOfLine, + [parseAlternation, parseOptional, parseParameter, parseText] +) + +export default class CucumberExpressionParser { + parse(expression: string): Node { + const tokenizer = new CucumberExpressionTokenizer() + const tokens = tokenizer.tokenize(expression) + const result = parseCucumberExpression(expression, tokens, 0) + return result.ast[0] + } +} + +interface Parser { + (expression: string, tokens: ReadonlyArray, current: number): Result +} + +interface Result { + readonly consumed: number + readonly ast?: ReadonlyArray +} + +function parseBetween( + type: NodeType, + beginToken: TokenType, + endToken: TokenType, + parsers: Array +): Parser { + return (expression, tokens, current) => { + if (!lookingAt(tokens, current, beginToken)) { + return { consumed: 0 } + } + let subCurrent = current + 1 + const result = parseTokensUntil(expression, parsers, tokens, subCurrent, [ + endToken, + TokenType.endOfLine, + ]) + subCurrent += result.consumed + + // endToken not found + if (!lookingAt(tokens, subCurrent, endToken)) { + throw createMissingEndToken(expression, beginToken, endToken, tokens[current]) + } + // consumes endToken + const start = tokens[current].start + const end = tokens[subCurrent].end + const consumed = subCurrent + 1 - current + const ast = [new Node(type, result.ast, undefined, start, end)] + return { consumed, ast } + } +} + +function parseToken( + expression: string, + parsers: ReadonlyArray, + tokens: ReadonlyArray, + startAt: number +): Result { + for (let i = 0; i < parsers.length; i++) { + const parse = parsers[i] + const result = parse(expression, tokens, startAt) + if (result.consumed != 0) { + return result + } + } + // If configured correctly this will never happen + throw new Error('No eligible parsers for ' + tokens) +} + +function parseTokensUntil( + expression: string, + parsers: ReadonlyArray, + tokens: ReadonlyArray, + startAt: number, + endTokens: ReadonlyArray +): Result { + let current = startAt + const size = tokens.length + const ast: Node[] = [] + while (current < size) { + if (lookingAtAny(tokens, current, endTokens)) { + break + } + const result = parseToken(expression, parsers, tokens, current) + if (result.consumed == 0) { + // If configured correctly this will never happen + // Keep to avoid infinite loops + throw new Error('No eligible parsers for ' + tokens) + } + current += result.consumed + ast.push(...result.ast) + } + return { consumed: current - startAt, ast } +} + +function lookingAtAny( + tokens: ReadonlyArray, + at: number, + tokenTypes: ReadonlyArray +): boolean { + return tokenTypes.some((tokenType) => lookingAt(tokens, at, tokenType)) +} + +function lookingAt(tokens: ReadonlyArray, at: number, token: TokenType): boolean { + if (at < 0) { + // If configured correctly this will never happen + // Keep for completeness + return token == TokenType.startOfLine + } + if (at >= tokens.length) { + return token == TokenType.endOfLine + } + return tokens[at].type == token +} + +function splitAlternatives( + start: number, + end: number, + alternation: ReadonlyArray +): ReadonlyArray { + const separators: Node[] = [] + const alternatives: Node[][] = [] + let alternative: Node[] = [] + alternation.forEach((n) => { + if (NodeType.alternative == n.type) { + separators.push(n) + alternatives.push(alternative) + alternative = [] + } else { + alternative.push(n) + } + }) + alternatives.push(alternative) + return createAlternativeNodes(start, end, separators, alternatives) +} + +function createAlternativeNodes( + start: number, + end: number, + separators: ReadonlyArray, + alternatives: ReadonlyArray> +): ReadonlyArray { + const nodes: Node[] = [] + + for (let i = 0; i < alternatives.length; i++) { + const n = alternatives[i] + if (i == 0) { + const rightSeparator = separators[i] + nodes.push(new Node(NodeType.alternative, n, undefined, start, rightSeparator.start)) + } else if (i == alternatives.length - 1) { + const leftSeparator = separators[i - 1] + nodes.push(new Node(NodeType.alternative, n, undefined, leftSeparator.end, end)) + } else { + const leftSeparator = separators[i - 1] + const rightSeparator = separators[i] + nodes.push( + new Node(NodeType.alternative, n, undefined, leftSeparator.end, rightSeparator.start) + ) + } + } + return nodes +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionTokenizer.ts b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionTokenizer.ts new file mode 100644 index 0000000..993e0e6 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/CucumberExpressionTokenizer.ts @@ -0,0 +1,81 @@ +import { Token, TokenType } from './Ast' +import { createCantEscaped, createTheEndOfLIneCanNotBeEscaped } from './Errors' + +export default class CucumberExpressionTokenizer { + tokenize(expression: string): ReadonlyArray { + const codePoints = Array.from(expression) + const tokens: Array = [] + let buffer: Array = [] + let previousTokenType = TokenType.startOfLine + let treatAsText = false + let escaped = 0 + let bufferStartIndex = 0 + + function convertBufferToToken(tokenType: TokenType): Token { + let escapeTokens = 0 + if (tokenType == TokenType.text) { + escapeTokens = escaped + escaped = 0 + } + + const consumedIndex = bufferStartIndex + buffer.length + escapeTokens + const t = new Token(tokenType, buffer.join(''), bufferStartIndex, consumedIndex) + buffer = [] + bufferStartIndex = consumedIndex + return t + } + + function tokenTypeOf(codePoint: string, treatAsText: boolean): TokenType { + if (!treatAsText) { + return Token.typeOf(codePoint) + } + if (Token.canEscape(codePoint)) { + return TokenType.text + } + throw createCantEscaped(expression, bufferStartIndex + buffer.length + escaped) + } + + function shouldCreateNewToken(previousTokenType: TokenType, currentTokenType: TokenType) { + if (currentTokenType != previousTokenType) { + return true + } + return currentTokenType != TokenType.whiteSpace && currentTokenType != TokenType.text + } + + if (codePoints.length == 0) { + tokens.push(new Token(TokenType.startOfLine, '', 0, 0)) + } + + codePoints.forEach((codePoint) => { + if (!treatAsText && Token.isEscapeCharacter(codePoint)) { + escaped++ + treatAsText = true + return + } + const currentTokenType = tokenTypeOf(codePoint, treatAsText) + treatAsText = false + + if (shouldCreateNewToken(previousTokenType, currentTokenType)) { + const token = convertBufferToToken(previousTokenType) + previousTokenType = currentTokenType + buffer.push(codePoint) + tokens.push(token) + } else { + previousTokenType = currentTokenType + buffer.push(codePoint) + } + }) + + if (buffer.length > 0) { + const token = convertBufferToToken(previousTokenType) + tokens.push(token) + } + + if (treatAsText) { + throw createTheEndOfLIneCanNotBeEscaped(expression) + } + + tokens.push(new Token(TokenType.endOfLine, '', codePoints.length, codePoints.length)) + return tokens + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/Errors.ts b/node_modules/@cucumber/cucumber-expressions/src/Errors.ts new file mode 100644 index 0000000..c74795b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/Errors.ts @@ -0,0 +1,245 @@ +import ParameterType from './ParameterType' +import GeneratedExpression from './GeneratedExpression' +import { Located, Node, purposeOf, symbolOf, Token, TokenType } from './Ast' +import CucumberExpressionError from './CucumberExpressionError' + +export function createAlternativeMayNotExclusivelyContainOptionals( + node: Node, + expression: string +): CucumberExpressionError { + return new CucumberExpressionError( + message( + node.start, + expression, + pointAtLocated(node), + 'An alternative may not exclusively contain optionals', + "If you did not mean to use an optional you can use '\\(' to escape the the '('" + ) + ) +} +export function createAlternativeMayNotBeEmpty( + node: Node, + expression: string +): CucumberExpressionError { + return new CucumberExpressionError( + message( + node.start, + expression, + pointAtLocated(node), + 'Alternative may not be empty', + "If you did not mean to use an alternative you can use '\\/' to escape the the '/'" + ) + ) +} +export function createOptionalMayNotBeEmpty( + node: Node, + expression: string +): CucumberExpressionError { + return new CucumberExpressionError( + message( + node.start, + expression, + pointAtLocated(node), + 'An optional must contain some text', + "If you did not mean to use an optional you can use '\\(' to escape the the '('" + ) + ) +} +export function createParameterIsNotAllowedInOptional( + node: Node, + expression: string +): CucumberExpressionError { + return new CucumberExpressionError( + message( + node.start, + expression, + pointAtLocated(node), + 'An optional may not contain a parameter type', + "If you did not mean to use an parameter type you can use '\\{' to escape the the '{'" + ) + ) +} + +export function createOptionalIsNotAllowedInOptional( + node: Node, + expression: string +): CucumberExpressionError { + return new CucumberExpressionError( + message( + node.start, + expression, + pointAtLocated(node), + 'An optional may not contain an other optional', + "If you did not mean to use an optional type you can use '\\(' to escape the the '('. For more complicated expressions consider using a regular expression instead." + ) + ) +} + +export function createTheEndOfLIneCanNotBeEscaped(expression: string): CucumberExpressionError { + const index = Array.from(expression).length - 1 + return new CucumberExpressionError( + message( + index, + expression, + pointAt(index), + 'The end of line can not be escaped', + "You can use '\\\\' to escape the the '\\'" + ) + ) +} + +export function createMissingEndToken( + expression: string, + beginToken: TokenType, + endToken: TokenType, + current: Token +) { + const beginSymbol = symbolOf(beginToken) + const endSymbol = symbolOf(endToken) + const purpose = purposeOf(beginToken) + return new CucumberExpressionError( + message( + current.start, + expression, + pointAtLocated(current), + `The '${beginSymbol}' does not have a matching '${endSymbol}'`, + `If you did not intend to use ${purpose} you can use '\\${beginSymbol}' to escape the ${purpose}` + ) + ) +} + +export function createAlternationNotAllowedInOptional(expression: string, current: Token) { + return new CucumberExpressionError( + message( + current.start, + expression, + pointAtLocated(current), + 'An alternation can not be used inside an optional', + "You can use '\\/' to escape the the '/'" + ) + ) +} + +export function createCantEscaped(expression: string, index: number) { + return new CucumberExpressionError( + message( + index, + expression, + pointAt(index), + "Only the characters '{', '}', '(', ')', '\\', '/' and whitespace can be escaped", + "If you did mean to use an '\\' you can use '\\\\' to escape it" + ) + ) +} + +export function createInvalidParameterTypeNameInNode(token: Token, expression: string) { + return new CucumberExpressionError( + message( + token.start, + expression, + pointAtLocated(token), + "Parameter names may not contain '{', '}', '(', ')', '\\' or '/'", + 'Did you mean to use a regular expression?' + ) + ) +} + +function message( + index: number, + expression: string, + pointer: any, + problem: string, + solution: string +): string { + return `This Cucumber Expression has a problem at column ${index + 1}: + +${expression} +${pointer} +${problem}. +${solution}` +} + +function pointAt(index: number): string { + const pointer: Array = [] + for (let i = 0; i < index; i++) { + pointer.push(' ') + } + pointer.push('^') + return pointer.join('') +} + +function pointAtLocated(node: Located): string { + const pointer = [pointAt(node.start)] + if (node.start + 1 < node.end) { + for (let i = node.start + 1; i < node.end - 1; i++) { + pointer.push('-') + } + pointer.push('^') + } + return pointer.join('') +} + +export class AmbiguousParameterTypeError extends CucumberExpressionError { + public static forConstructor( + keyName: string, + keyValue: string, + parameterTypes: ReadonlyArray>, + generatedExpressions: ReadonlyArray + ) { + return new this( + `parameter type with ${keyName}=${keyValue} is used by several parameter types: ${parameterTypes}, ${generatedExpressions}` + ) + } + + public static forRegExp( + parameterTypeRegexp: string, + expressionRegexp: RegExp, + parameterTypes: ReadonlyArray>, + generatedExpressions: ReadonlyArray + ) { + return new this( + `Your Regular Expression ${expressionRegexp} +matches multiple parameter types with regexp ${parameterTypeRegexp}: + ${this._parameterTypeNames(parameterTypes)} + +I couldn't decide which one to use. You have two options: + +1) Use a Cucumber Expression instead of a Regular Expression. Try one of these: + ${this._expressions(generatedExpressions)} + +2) Make one of the parameter types preferential and continue to use a Regular Expression. +` + ) + } + + public static _parameterTypeNames(parameterTypes: ReadonlyArray>) { + return parameterTypes.map((p) => `{${p.name}}`).join('\n ') + } + + public static _expressions(generatedExpressions: ReadonlyArray) { + return generatedExpressions.map((e) => e.source).join('\n ') + } +} + +export class UndefinedParameterTypeError extends CucumberExpressionError { + constructor(public readonly undefinedParameterTypeName: string, message: string) { + super(message) + } +} + +export function createUndefinedParameterType( + node: Node, + expression: string, + undefinedParameterTypeName: string +) { + return new UndefinedParameterTypeError( + undefinedParameterTypeName, + message( + node.start, + expression, + pointAtLocated(node), + `Undefined parameter type '${undefinedParameterTypeName}'`, + `Please register a ParameterType for '${undefinedParameterTypeName}'` + ) + ) +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/Expression.ts b/node_modules/@cucumber/cucumber-expressions/src/Expression.ts new file mode 100644 index 0000000..44d974f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/Expression.ts @@ -0,0 +1,6 @@ +import Argument from './Argument' + +export default interface Expression { + readonly source: string + match(text: string): ReadonlyArray> +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/ExpressionFactory.ts b/node_modules/@cucumber/cucumber-expressions/src/ExpressionFactory.ts new file mode 100644 index 0000000..04e53e5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/ExpressionFactory.ts @@ -0,0 +1,14 @@ +import Expression from './Expression' +import CucumberExpression from './CucumberExpression' +import RegularExpression from './RegularExpression' +import ParameterTypeRegistry from './ParameterTypeRegistry' + +export default class ExpressionFactory { + public constructor(private readonly parameterTypeRegistry: ParameterTypeRegistry) {} + + public createExpression(expression: string | RegExp): Expression { + return typeof expression === 'string' + ? new CucumberExpression(expression, this.parameterTypeRegistry) + : new RegularExpression(expression, this.parameterTypeRegistry) + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/GeneratedExpression.ts b/node_modules/@cucumber/cucumber-expressions/src/GeneratedExpression.ts new file mode 100644 index 0000000..3a2054f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/GeneratedExpression.ts @@ -0,0 +1,31 @@ +import util from 'util' +import ParameterType from './ParameterType' + +export default class GeneratedExpression { + constructor( + private readonly expressionTemplate: string, + public readonly parameterTypes: ReadonlyArray> + ) {} + + get source() { + return util.format(this.expressionTemplate, ...this.parameterTypes.map((t) => t.name)) + } + + /** + * Returns an array of parameter names to use in generated function/method signatures + * + * @returns {ReadonlyArray.} + */ + get parameterNames(): ReadonlyArray { + const usageByTypeName: { [key: string]: number } = {} + return this.parameterTypes.map((t) => getParameterName(t.name, usageByTypeName)) + } +} + +function getParameterName(typeName: string, usageByTypeName: { [key: string]: number }) { + let count = usageByTypeName[typeName] + count = count ? count + 1 : 1 + usageByTypeName[typeName] = count + + return count === 1 ? typeName : `${typeName}${count}` +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/Group.ts b/node_modules/@cucumber/cucumber-expressions/src/Group.ts new file mode 100644 index 0000000..fe641a9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/Group.ts @@ -0,0 +1,12 @@ +export default class Group { + constructor( + public readonly value: string | undefined, + public readonly start: number, + public readonly end: number, + public readonly children: ReadonlyArray + ) {} + + get values(): string[] { + return (this.children.length === 0 ? [this] : this.children).map((g) => g.value) + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/GroupBuilder.ts b/node_modules/@cucumber/cucumber-expressions/src/GroupBuilder.ts new file mode 100644 index 0000000..75df661 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/GroupBuilder.ts @@ -0,0 +1,35 @@ +import Group from './Group' +import RegexExecArray from './RegexExecArray' + +export default class GroupBuilder { + public source: string + public capturing = true + private readonly groupBuilders: GroupBuilder[] = [] + + public add(groupBuilder: GroupBuilder) { + this.groupBuilders.push(groupBuilder) + } + + public build(match: RegexExecArray, nextGroupIndex: () => number): Group { + const groupIndex = nextGroupIndex() + const children = this.groupBuilders.map((gb) => gb.build(match, nextGroupIndex)) + return new Group( + match[groupIndex] || undefined, + match.index[groupIndex], + match.index[groupIndex] + (match[groupIndex] || '').length, + children + ) + } + + public setNonCapturing() { + this.capturing = false + } + + get children() { + return this.groupBuilders + } + + public moveChildrenTo(groupBuilder: GroupBuilder) { + this.groupBuilders.forEach((child) => groupBuilder.add(child)) + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/ParameterType.ts b/node_modules/@cucumber/cucumber-expressions/src/ParameterType.ts new file mode 100644 index 0000000..129c448 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/ParameterType.ts @@ -0,0 +1,109 @@ +import CucumberExpressionError from './CucumberExpressionError' + +const ILLEGAL_PARAMETER_NAME_PATTERN = /([[\]()$.|?*+])/ +const UNESCAPE_PATTERN = () => /(\\([[$.|?*+\]]))/g + +export default class ParameterType { + private transformFn: (...match: readonly string[]) => T + + public static compare(pt1: ParameterType, pt2: ParameterType) { + if (pt1.preferForRegexpMatch && !pt2.preferForRegexpMatch) { + return -1 + } + if (pt2.preferForRegexpMatch && !pt1.preferForRegexpMatch) { + return 1 + } + return pt1.name.localeCompare(pt2.name) + } + + public static checkParameterTypeName(typeName: string) { + if (!this.isValidParameterTypeName(typeName)) { + throw new CucumberExpressionError( + `Illegal character in parameter name {${typeName}}. Parameter names may not contain '{', '}', '(', ')', '\\' or '/'` + ) + } + } + + public static isValidParameterTypeName(typeName: string) { + const unescapedTypeName = typeName.replace(UNESCAPE_PATTERN(), '$2') + return !unescapedTypeName.match(ILLEGAL_PARAMETER_NAME_PATTERN) + } + + public regexpStrings: ReadonlyArray + + /** + * @param name {String} the name of the type + * @param regexps {Array.,RegExp,Array.,String} that matches the type + * @param type {Function} the prototype (constructor) of the type. May be null. + * @param transform {Function} function transforming string to another type. May be null. + * @param useForSnippets {boolean} true if this should be used for snippets. Defaults to true. + * @param preferForRegexpMatch {boolean} true if this is a preferential type. Defaults to false. + */ + constructor( + public readonly name: string, + regexps: ReadonlyArray | ReadonlyArray | RegExp | string, + private readonly type: any, + transform: (...match: string[]) => T, + public readonly useForSnippets: boolean, + public readonly preferForRegexpMatch: boolean + ) { + if (transform === undefined) { + transform = (s) => (s as unknown) as T + } + if (useForSnippets === undefined) { + this.useForSnippets = true + } + if (preferForRegexpMatch === undefined) { + this.preferForRegexpMatch = false + } + + if (name) { + ParameterType.checkParameterTypeName(name) + } + + this.regexpStrings = stringArray(regexps) + this.transformFn = transform + } + + public transform(thisObj: any, groupValues: string[]) { + return this.transformFn.apply(thisObj, groupValues) + } +} + +type StringOrRegexp = string | RegExp + +function stringArray(regexps: readonly StringOrRegexp[] | StringOrRegexp): string[] { + // @ts-ignore + const array: StringOrRegexp[] = Array.isArray(regexps) ? regexps : [regexps] + return array.map((r) => (r instanceof RegExp ? regexpSource(r) : r)) +} + +function regexpSource(regexp: RegExp): string { + const flags = regexpFlags(regexp) + + for (const flag of ['g', 'i', 'm', 'y']) { + if (flags.indexOf(flag) !== -1) { + throw new CucumberExpressionError(`ParameterType Regexps can't use flag '${flag}'`) + } + } + return regexp.source +} + +// Backport RegExp.flags for Node 4.x +// https://github.com/nodejs/node/issues/8390 +function regexpFlags(regexp: RegExp) { + let flags = regexp.flags + if (flags === undefined) { + flags = '' + if (regexp.ignoreCase) { + flags += 'i' + } + if (regexp.global) { + flags += 'g' + } + if (regexp.multiline) { + flags += 'm' + } + } + return flags +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/ParameterTypeMatcher.ts b/node_modules/@cucumber/cucumber-expressions/src/ParameterTypeMatcher.ts new file mode 100644 index 0000000..56ea43c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/ParameterTypeMatcher.ts @@ -0,0 +1,79 @@ +import ParameterType from './ParameterType' + +export default class ParameterTypeMatcher { + private readonly match: RegExpExecArray + + constructor( + public readonly parameterType: ParameterType, + private readonly regexpString: string, + private readonly text: string, + private matchPosition: number = 0 + ) { + const captureGroupRegexp = new RegExp(`(${regexpString})`) + this.match = captureGroupRegexp.exec(text.slice(this.matchPosition)) + } + + public advanceTo(newMatchPosition: number) { + for (let advancedPos = newMatchPosition; advancedPos < this.text.length; advancedPos++) { + const matcher = new ParameterTypeMatcher( + this.parameterType, + this.regexpString, + this.text, + advancedPos + ) + + if (matcher.find) { + return matcher + } + } + + return new ParameterTypeMatcher( + this.parameterType, + this.regexpString, + this.text, + this.text.length + ) + } + + get find() { + return this.match && this.group !== '' && this.fullWord + } + + get start() { + return this.matchPosition + this.match.index + } + + get fullWord() { + return this.matchStartWord && this.matchEndWord + } + + get matchStartWord() { + return this.start === 0 || this.text[this.start - 1].match(/\p{Z}|\p{P}|\p{S}/u) + } + + get matchEndWord() { + const nextCharacterIndex = this.start + this.group.length + return ( + nextCharacterIndex === this.text.length || + this.text[nextCharacterIndex].match(/\p{Z}|\p{P}|\p{S}/u) + ) + } + + get group() { + return this.match[0] + } + + public static compare(a: ParameterTypeMatcher, b: ParameterTypeMatcher) { + const posComparison = a.start - b.start + if (posComparison !== 0) { + return posComparison + } + const lengthComparison = b.group.length - a.group.length + if (lengthComparison !== 0) { + return lengthComparison + } + return 0 + } +} + +module.exports = ParameterTypeMatcher diff --git a/node_modules/@cucumber/cucumber-expressions/src/ParameterTypeRegistry.ts b/node_modules/@cucumber/cucumber-expressions/src/ParameterTypeRegistry.ts new file mode 100644 index 0000000..5bdc5a9 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/ParameterTypeRegistry.ts @@ -0,0 +1,129 @@ +import ParameterType from './ParameterType' + +import CucumberExpressionGenerator from './CucumberExpressionGenerator' +import { AmbiguousParameterTypeError } from './Errors' +import CucumberExpressionError from './CucumberExpressionError' + +export default class ParameterTypeRegistry { + public static readonly INTEGER_REGEXPS = [/-?\d+/, /\d+/] + public static readonly FLOAT_REGEXP = /(?=.*\d.*)[-+]?\d*(?:\.(?=\d.*))?\d*(?:\d+[E][+-]?\d+)?/ + public static readonly WORD_REGEXP = /[^\s]+/ + public static readonly STRING_REGEXP = /"([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)'/ + public static readonly ANONYMOUS_REGEXP = /.*/ + + private readonly parameterTypeByName = new Map>() + private readonly parameterTypesByRegexp = new Map>>() + + constructor() { + this.defineParameterType( + new ParameterType( + 'int', + ParameterTypeRegistry.INTEGER_REGEXPS, + Number, + (s) => (s === undefined ? null : Number(s)), + true, + true + ) + ) + this.defineParameterType( + new ParameterType( + 'float', + ParameterTypeRegistry.FLOAT_REGEXP, + Number, + (s) => (s === undefined ? null : parseFloat(s)), + true, + false + ) + ) + this.defineParameterType( + new ParameterType('word', ParameterTypeRegistry.WORD_REGEXP, String, (s) => s, false, false) + ) + this.defineParameterType( + new ParameterType( + 'string', + ParameterTypeRegistry.STRING_REGEXP, + String, + (s1, s2) => (s1 || s2 || '').replace(/\\"/g, '"').replace(/\\'/g, "'"), + true, + false + ) + ) + this.defineParameterType( + new ParameterType('', ParameterTypeRegistry.ANONYMOUS_REGEXP, String, (s) => s, false, true) + ) + } + + get parameterTypes(): IterableIterator> { + return this.parameterTypeByName.values() + } + + public lookupByTypeName(typeName: string) { + return this.parameterTypeByName.get(typeName) + } + + public lookupByRegexp( + parameterTypeRegexp: string, + expressionRegexp: RegExp, + text: string + ): ParameterType { + const parameterTypes = this.parameterTypesByRegexp.get(parameterTypeRegexp) + if (!parameterTypes) { + return null + } + if (parameterTypes.length > 1 && !parameterTypes[0].preferForRegexpMatch) { + // We don't do this check on insertion because we only want to restrict + // ambiguity when we look up by Regexp. Users of CucumberExpression should + // not be restricted. + const generatedExpressions = new CucumberExpressionGenerator( + () => this.parameterTypes + ).generateExpressions(text) + throw AmbiguousParameterTypeError.forRegExp( + parameterTypeRegexp, + expressionRegexp, + parameterTypes, + generatedExpressions + ) + } + return parameterTypes[0] + } + + public defineParameterType(parameterType: ParameterType) { + if (parameterType.name !== undefined) { + if (this.parameterTypeByName.has(parameterType.name)) { + if (parameterType.name.length === 0) { + throw new Error(`The anonymous parameter type has already been defined`) + } else { + throw new Error(`There is already a parameter type with name ${parameterType.name}`) + } + } + this.parameterTypeByName.set(parameterType.name, parameterType) + } + + for (const parameterTypeRegexp of parameterType.regexpStrings) { + if (!this.parameterTypesByRegexp.has(parameterTypeRegexp)) { + this.parameterTypesByRegexp.set(parameterTypeRegexp, []) + } + const parameterTypes = this.parameterTypesByRegexp.get(parameterTypeRegexp) + const existingParameterType = parameterTypes[0] + if ( + parameterTypes.length > 0 && + existingParameterType.preferForRegexpMatch && + parameterType.preferForRegexpMatch + ) { + throw new CucumberExpressionError( + 'There can only be one preferential parameter type per regexp. ' + + `The regexp /${parameterTypeRegexp}/ is used for two preferential parameter types, {${existingParameterType.name}} and {${parameterType.name}}` + ) + } + if (parameterTypes.indexOf(parameterType) === -1) { + parameterTypes.push(parameterType) + this.parameterTypesByRegexp.set( + parameterTypeRegexp, + parameterTypes.sort(ParameterType.compare) + ) + } + } + } +} + +module.exports = ParameterTypeRegistry diff --git a/node_modules/@cucumber/cucumber-expressions/src/RegexExecArray.ts b/node_modules/@cucumber/cucumber-expressions/src/RegexExecArray.ts new file mode 100644 index 0000000..968885f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/RegexExecArray.ts @@ -0,0 +1,4 @@ +export default interface RegexExecArray extends ReadonlyArray { + index: ReadonlyArray + input: string +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/RegularExpression.ts b/node_modules/@cucumber/cucumber-expressions/src/RegularExpression.ts new file mode 100644 index 0000000..687b37e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/RegularExpression.ts @@ -0,0 +1,40 @@ +import Argument from './Argument' +import TreeRegexp from './TreeRegexp' +import ParameterType from './ParameterType' +import ParameterTypeRegistry from './ParameterTypeRegistry' +import Expression from './Expression' + +export default class RegularExpression implements Expression { + private readonly treeRegexp: TreeRegexp + + constructor( + public readonly regexp: RegExp, + private readonly parameterTypeRegistry: ParameterTypeRegistry + ) { + this.treeRegexp = new TreeRegexp(regexp) + } + + public match(text: string): ReadonlyArray> { + const parameterTypes = this.treeRegexp.groupBuilder.children.map((groupBuilder) => { + const parameterTypeRegexp = groupBuilder.source + + return ( + this.parameterTypeRegistry.lookupByRegexp(parameterTypeRegexp, this.regexp, text) || + new ParameterType( + null, + parameterTypeRegexp, + String, + (s) => (s === undefined ? null : s), + false, + false + ) + ) + }) + + return Argument.build(this.treeRegexp, text, parameterTypes) + } + + get source(): string { + return this.regexp.source + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/TreeRegexp.ts b/node_modules/@cucumber/cucumber-expressions/src/TreeRegexp.ts new file mode 100644 index 0000000..2cb0c9d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/TreeRegexp.ts @@ -0,0 +1,79 @@ +import GroupBuilder from './GroupBuilder' +// @ts-ignore +import Regex from 'becke-ch--regex--s0-0-v1--base--pl--lib' +import RegexExecArray from './RegexExecArray' +import Group from './Group' + +export default class TreeRegexp { + public regexp: RegExp + private regex: any + public groupBuilder: GroupBuilder + + constructor(regexp: RegExp | string) { + this.regexp = 'string' === typeof regexp ? new RegExp(regexp) : regexp + this.regex = new Regex(this.regexp.source, this.regexp.flags) + this.groupBuilder = TreeRegexp.createGroupBuilder(this.regex) + } + + private static createGroupBuilder(regexp: RegExp) { + const source = regexp.source + const stack: GroupBuilder[] = [new GroupBuilder()] + const groupStartStack: number[] = [] + let escaping = false + let charClass = false + + for (let i = 0; i < source.length; i++) { + const c = source[i] + if (c === '[' && !escaping) { + charClass = true + } else if (c === ']' && !escaping) { + charClass = false + } else if (c === '(' && !escaping && !charClass) { + groupStartStack.push(i) + const nonCapturing = TreeRegexp.isNonCapturing(source, i) + const groupBuilder = new GroupBuilder() + if (nonCapturing) { + groupBuilder.setNonCapturing() + } + stack.push(groupBuilder) + } else if (c === ')' && !escaping && !charClass) { + const gb = stack.pop() + const groupStart = groupStartStack.pop() + if (gb.capturing) { + gb.source = source.substring(groupStart + 1, i) + stack[stack.length - 1].add(gb) + } else { + gb.moveChildrenTo(stack[stack.length - 1]) + } + } + escaping = c === '\\' && !escaping + } + return stack.pop() + } + + private static isNonCapturing(source: string, i: number): boolean { + // Regex is valid. Bounds check not required. + if (source[i + 1] != '?') { + // (X) + return false + } + if (source[i + 2] != '<') { + // (?:X) + // (?=X) + // (?!X) + return true + } + // (?<=X) or (?X) + return source[i + 3] == '=' || source[i + 3] == '!' + } + + public match(s: string): Group | null { + const match: RegexExecArray = this.regex.exec(s) + if (!match) { + return null + } + let groupIndex = 0 + const nextGroupIndex = () => groupIndex++ + return this.groupBuilder.build(match, nextGroupIndex) + } +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/index.ts b/node_modules/@cucumber/cucumber-expressions/src/index.ts new file mode 100644 index 0000000..10175f8 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/index.ts @@ -0,0 +1,23 @@ +import Argument from './Argument' +import Expression from './Expression' +import CucumberExpression from './CucumberExpression' +import RegularExpression from './RegularExpression' +import Group from './Group' +import ExpressionFactory from './ExpressionFactory' +import CucumberExpressionGenerator from './CucumberExpressionGenerator' +import ParameterTypeRegistry from './ParameterTypeRegistry' +import ParameterType from './ParameterType' +import GeneratedExpression from './GeneratedExpression' + +export { + Argument, + Group, + Expression, + CucumberExpression, + RegularExpression, + ExpressionFactory, + CucumberExpressionGenerator, + GeneratedExpression, + ParameterTypeRegistry, + ParameterType, +} diff --git a/node_modules/@cucumber/cucumber-expressions/src/web.ts b/node_modules/@cucumber/cucumber-expressions/src/web.ts new file mode 100644 index 0000000..4ede3a3 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/src/web.ts @@ -0,0 +1,4 @@ +import * as CucumberExpressions from './index' + +// @ts-ignore +window.CucumberExpressions = CucumberExpressions diff --git a/node_modules/@cucumber/cucumber-expressions/test/ArgumentTest.ts b/node_modules/@cucumber/cucumber-expressions/test/ArgumentTest.ts new file mode 100644 index 0000000..3baa61d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/ArgumentTest.ts @@ -0,0 +1,16 @@ +import TreeRegexp from '../src/TreeRegexp' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' +import Argument from '../src/Argument' +import * as assert from 'assert' + +describe('Argument', () => { + it('exposes getParameterTypeName()', () => { + const treeRegexp = new TreeRegexp('three (.*) mice') + const parameterTypeRegistry = new ParameterTypeRegistry() + const args = Argument.build(treeRegexp, 'three blind mice', [ + parameterTypeRegistry.lookupByTypeName('string'), + ]) + const argument = args[0] + assert.strictEqual(argument.getParameterType().name, 'string') + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/CombinatorialGeneratedExpressionFactoryTest.ts b/node_modules/@cucumber/cucumber-expressions/test/CombinatorialGeneratedExpressionFactoryTest.ts new file mode 100644 index 0000000..65b18ec --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/CombinatorialGeneratedExpressionFactoryTest.ts @@ -0,0 +1,33 @@ +import assert from 'assert' +import ParameterType from '../src/ParameterType' +import CombinatorialGeneratedExpressionFactory from '../src/CombinatorialGeneratedExpressionFactory' + +describe('CucumberExpressionGenerator', () => { + it('generates multiple expressions', () => { + const parameterTypeCombinations = [ + [ + new ParameterType('color', /red|blue|yellow/, null, (s) => s, false, true), + new ParameterType('csscolor', /red|blue|yellow/, null, (s) => s, false, true), + ], + [ + new ParameterType('date', /\d{4}-\d{2}-\d{2}/, null, (s) => s, false, true), + new ParameterType('datetime', /\d{4}-\d{2}-\d{2}/, null, (s) => s, false, true), + new ParameterType('timestamp', /\d{4}-\d{2}-\d{2}/, null, (s) => s, false, true), + ], + ] + + const factory = new CombinatorialGeneratedExpressionFactory( + 'I bought a {%s} ball on {%s}', + parameterTypeCombinations + ) + const expressions = factory.generateExpressions().map((ge) => ge.source) + assert.deepStrictEqual(expressions, [ + 'I bought a {color} ball on {date}', + 'I bought a {color} ball on {datetime}', + 'I bought a {color} ball on {timestamp}', + 'I bought a {csscolor} ball on {date}', + 'I bought a {csscolor} ball on {datetime}', + 'I bought a {csscolor} ball on {timestamp}', + ]) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionGeneratorTest.ts b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionGeneratorTest.ts new file mode 100644 index 0000000..6f19d5c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionGeneratorTest.ts @@ -0,0 +1,257 @@ +import assert from 'assert' +import CucumberExpressionGenerator from '../src/CucumberExpressionGenerator' +import CucumberExpression from '../src/CucumberExpression' +import ParameterType from '../src/ParameterType' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' + +class Currency { + constructor(public readonly s: string) {} +} + +describe('CucumberExpressionGenerator', () => { + let parameterTypeRegistry: ParameterTypeRegistry + let generator: CucumberExpressionGenerator + + function assertExpression( + expectedExpression: string, + expectedArgumentNames: string[], + text: string + ) { + const generatedExpression = generator.generateExpressions(text)[0] + assert.deepStrictEqual(generatedExpression.parameterNames, expectedArgumentNames) + assert.strictEqual(generatedExpression.source, expectedExpression) + + const cucumberExpression = new CucumberExpression( + generatedExpression.source, + parameterTypeRegistry + ) + const match = cucumberExpression.match(text) + if (match === null) { + assert.fail( + `Expected text '${text}' to match generated expression '${generatedExpression.source}'` + ) + } + assert.strictEqual(match.length, expectedArgumentNames.length) + } + + beforeEach(() => { + parameterTypeRegistry = new ParameterTypeRegistry() + generator = new CucumberExpressionGenerator(() => parameterTypeRegistry.parameterTypes) + }) + + it('documents expression generation', () => { + parameterTypeRegistry = new ParameterTypeRegistry() + generator = new CucumberExpressionGenerator(() => parameterTypeRegistry.parameterTypes) + const undefinedStepText = 'I have 2 cucumbers and 1.5 tomato' + const generatedExpression = generator.generateExpressions(undefinedStepText)[0] + assert.strictEqual(generatedExpression.source, 'I have {int} cucumbers and {float} tomato') + assert.strictEqual(generatedExpression.parameterNames[0], 'int') + assert.strictEqual(generatedExpression.parameterTypes[1].name, 'float') + }) + + it('generates expression for no args', () => { + assertExpression('hello', [], 'hello') + }) + + it('generates expression with escaped left parenthesis', () => { + assertExpression('\\(iii)', [], '(iii)') + }) + + it('generates expression with escaped left curly brace', () => { + assertExpression('\\{iii}', [], '{iii}') + }) + + it('generates expression with escaped slashes', () => { + assertExpression('The {int}\\/{int}\\/{int} hey', ['int', 'int2', 'int3'], 'The 1814/05/17 hey') + }) + + it('generates expression for int float arg', () => { + assertExpression( + 'I have {int} cukes and {float} euro', + ['int', 'float'], + 'I have 2 cukes and 1.5 euro' + ) + }) + + it('generates expression for strings', () => { + assertExpression( + 'I like {string} and {string}', + ['string', 'string2'], + 'I like "bangers" and \'mash\'' + ) + }) + + it('generates expression with % sign', () => { + assertExpression('I am {int}%% foobar', ['int'], 'I am 20%% foobar') + }) + + it('generates expression for just int', () => { + assertExpression('{int}', ['int'], '99999') + }) + + it('numbers only second argument when builtin type is not reserved keyword', () => { + assertExpression( + 'I have {float} cukes and {float} euro', + ['float', 'float2'], + 'I have 2.5 cukes and 1.5 euro' + ) + }) + + it('generates expression for custom type', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('currency', /[A-Z]{3}/, Currency, (s) => new Currency(s), true, false) + ) + + assertExpression('I have a {currency} account', ['currency'], 'I have a EUR account') + }) + + it('prefers leftmost match when there is overlap', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('currency', /c d/, Currency, (s) => new Currency(s), true, false) + ) + parameterTypeRegistry.defineParameterType( + new ParameterType('date', /b c/, Date, (s) => new Date(s), true, false) + ) + + assertExpression('a {date} d e f g', ['date'], 'a b c d e f g') + }) + + // TODO: prefers widest match + + it('generates all combinations of expressions when several parameter types match', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('currency', /x/, null, (s) => new Currency(s), true, false) + ) + parameterTypeRegistry.defineParameterType( + new ParameterType('date', /x/, null, (s) => new Date(s), true, false) + ) + + const generatedExpressions = generator.generateExpressions('I have x and x and another x') + const expressions = generatedExpressions.map((e) => e.source) + assert.deepStrictEqual(expressions, [ + 'I have {currency} and {currency} and another {currency}', + 'I have {currency} and {currency} and another {date}', + 'I have {currency} and {date} and another {currency}', + 'I have {currency} and {date} and another {date}', + 'I have {date} and {currency} and another {currency}', + 'I have {date} and {currency} and another {date}', + 'I have {date} and {date} and another {currency}', + 'I have {date} and {date} and another {date}', + ]) + }) + + it('exposes parameter type names in generated expression', () => { + const expression = generator.generateExpressions('I have 2 cukes and 1.5 euro')[0] + const typeNames = expression.parameterTypes.map((parameter) => parameter.name) + assert.deepStrictEqual(typeNames, ['int', 'float']) + }) + + it('matches parameter types with optional capture groups', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('optional-flight', /(1st flight)?/, null, (s) => s, true, false) + ) + parameterTypeRegistry.defineParameterType( + new ParameterType('optional-hotel', /(1 hotel)?/, null, (s) => s, true, false) + ) + + const expression = generator.generateExpressions('I reach Stage 4: 1st flight -1 hotel')[0] + // While you would expect this to be `I reach Stage {int}: {optional-flight} -{optional-hotel}` the `-1` causes + // {int} to match just before {optional-hotel}. + assert.strictEqual(expression.source, 'I reach Stage {int}: {optional-flight} {int} hotel') + }) + + it('generates at most 256 expressions', () => { + for (let i = 0; i < 4; i++) { + parameterTypeRegistry.defineParameterType( + new ParameterType('my-type-' + i, /([a-z] )*?[a-z]/, null, (s) => s, true, false) + ) + } + // This would otherwise generate 4^11=419430 expressions and consume just shy of 1.5GB. + const expressions = generator.generateExpressions('a s i m p l e s t e p') + assert.strictEqual(expressions.length, 256) + }) + + it('prefers expression with longest non empty match', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('zero-or-more', /[a-z]*/, null, (s) => s, true, false) + ) + parameterTypeRegistry.defineParameterType( + new ParameterType('exactly-one', /[a-z]/, null, (s) => s, true, false) + ) + + const expressions = generator.generateExpressions('a simple step') + assert.strictEqual(expressions.length, 2) + assert.strictEqual(expressions[0].source, '{exactly-one} {zero-or-more} {zero-or-more}') + assert.strictEqual(expressions[1].source, '{zero-or-more} {zero-or-more} {zero-or-more}') + }) + + it('does not suggest parameter included at the beginning of a word', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('direction', /(up|down)/, null, (s) => s, true, false) + ) + + const expressions = generator.generateExpressions('I download a picture') + assert.strictEqual(expressions.length, 1) + assert.notStrictEqual(expressions[0].source, 'I {direction}load a picture') + assert.strictEqual(expressions[0].source, 'I download a picture') + }) + + it('does not suggest parameter included inside a word', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('direction', /(up|down)/, null, (s) => s, true, false) + ) + + const expressions = generator.generateExpressions('I watch the muppet show') + assert.strictEqual(expressions.length, 1) + assert.notStrictEqual(expressions[0].source, 'I watch the m{direction}pet show') + assert.strictEqual(expressions[0].source, 'I watch the muppet show') + }) + + it('does not suggest parameter at the end of a word', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('direction', /(up|down)/, null, (s) => s, true, false) + ) + + const expressions = generator.generateExpressions('I create a group') + assert.strictEqual(expressions.length, 1) + assert.notStrictEqual(expressions[0].source, 'I create a gro{direction}') + assert.strictEqual(expressions[0].source, 'I create a group') + }) + + it('does suggest parameter that are a full word', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('direction', /(up|down)/, null, (s) => s, true, false) + ) + + assert.strictEqual( + generator.generateExpressions('When I go down the road')[0].source, + 'When I go {direction} the road' + ) + + assert.strictEqual( + generator.generateExpressions('When I walk up the hill')[0].source, + 'When I walk {direction} the hill' + ) + + assert.strictEqual( + generator.generateExpressions('up the hill, the road goes down')[0].source, + '{direction} the hill, the road goes {direction}' + ) + }) + + it('does not consider punctuation as being part of a word', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('direction', /(up|down)/, null, (s) => s, true, false) + ) + + assert.strictEqual( + generator.generateExpressions('direction is:down')[0].source, + 'direction is:{direction}' + ) + + assert.strictEqual( + generator.generateExpressions('direction is down.')[0].source, + 'direction is {direction}.' + ) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionParserTest.ts b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionParserTest.ts new file mode 100644 index 0000000..4d3ccfe --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionParserTest.ts @@ -0,0 +1,32 @@ +import fs from 'fs' +import yaml from 'js-yaml' +import assert from 'assert' +import CucumberExpressionParser from '../src/CucumberExpressionParser' +import CucumberExpressionError from '../src/CucumberExpressionError' + +interface Expectation { + expression: string + expected?: string + exception?: string +} + +describe('Cucumber expression parser', () => { + fs.readdirSync('testdata/ast').forEach((testcase) => { + const testCaseData = fs.readFileSync(`testdata/ast/${testcase}`, 'utf-8') + const expectation = yaml.load(testCaseData) as Expectation + it(`${testcase}`, () => { + const parser = new CucumberExpressionParser() + if (expectation.exception == undefined) { + const node = parser.parse(expectation.expression) + assert.deepStrictEqual( + JSON.parse(JSON.stringify(node)), // Removes type information. + JSON.parse(expectation.expected) + ) + } else { + assert.throws(() => { + parser.parse(expectation.expression) + }, new CucumberExpressionError(expectation.exception)) + } + }) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionTest.ts b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionTest.ts new file mode 100644 index 0000000..0573671 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionTest.ts @@ -0,0 +1,161 @@ +import assert from 'assert' +import CucumberExpression from '../src/CucumberExpression' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' +import ParameterType from '../src/ParameterType' +import fs from 'fs' +import yaml from 'js-yaml' +import CucumberExpressionError from '../src/CucumberExpressionError' + +interface Expectation { + expression: string + text: string + expected?: string + exception?: string +} + +describe('CucumberExpression', () => { + fs.readdirSync('testdata/expression').forEach((testcase) => { + const testCaseData = fs.readFileSync(`testdata/expression/${testcase}`, 'utf-8') + const expectation = yaml.load(testCaseData) as Expectation + it(`${testcase}`, () => { + const parameterTypeRegistry = new ParameterTypeRegistry() + if (expectation.exception == undefined) { + const expression = new CucumberExpression(expectation.expression, parameterTypeRegistry) + const matches = expression.match(expectation.text) + assert.deepStrictEqual( + JSON.parse(JSON.stringify(matches ? matches.map((value) => value.getValue(null)) : null)), // Removes type information. + JSON.parse(expectation.expected) + ) + } else { + assert.throws(() => { + const expression = new CucumberExpression(expectation.expression, parameterTypeRegistry) + expression.match(expectation.text) + }, new CucumberExpressionError(expectation.exception)) + } + }) + }) + + fs.readdirSync('testdata/regex').forEach((testcase) => { + const testCaseData = fs.readFileSync(`testdata/regex/${testcase}`, 'utf-8') + const expectation = yaml.load(testCaseData) as Expectation + it(`${testcase}`, () => { + const parameterTypeRegistry = new ParameterTypeRegistry() + const expression = new CucumberExpression(expectation.expression, parameterTypeRegistry) + assert.deepStrictEqual(expression.regexp.source, expectation.expected) + }) + }) + + it('documents match arguments', () => { + const parameterTypeRegistry = new ParameterTypeRegistry() + + /// [capture-match-arguments] + const expr = 'I have {int} cuke(s)' + const expression = new CucumberExpression(expr, parameterTypeRegistry) + const args = expression.match('I have 7 cukes') + assert.strictEqual(7, args[0].getValue(null)) + /// [capture-match-arguments] + }) + + it('matches float', () => { + assert.deepStrictEqual(match('{float}', ''), null) + assert.deepStrictEqual(match('{float}', '.'), null) + assert.deepStrictEqual(match('{float}', ','), null) + assert.deepStrictEqual(match('{float}', '-'), null) + assert.deepStrictEqual(match('{float}', 'E'), null) + assert.deepStrictEqual(match('{float}', '1,'), null) + assert.deepStrictEqual(match('{float}', ',1'), null) + assert.deepStrictEqual(match('{float}', '1.'), null) + + assert.deepStrictEqual(match('{float}', '1'), [1]) + assert.deepStrictEqual(match('{float}', '-1'), [-1]) + assert.deepStrictEqual(match('{float}', '1.1'), [1.1]) + assert.deepStrictEqual(match('{float}', '1,000'), null) + assert.deepStrictEqual(match('{float}', '1,000,0'), null) + assert.deepStrictEqual(match('{float}', '1,000.1'), null) + assert.deepStrictEqual(match('{float}', '1,000,10'), null) + assert.deepStrictEqual(match('{float}', '1,0.1'), null) + assert.deepStrictEqual(match('{float}', '1,000,000.1'), null) + assert.deepStrictEqual(match('{float}', '-1.1'), [-1.1]) + + assert.deepStrictEqual(match('{float}', '.1'), [0.1]) + assert.deepStrictEqual(match('{float}', '-.1'), [-0.1]) + assert.deepStrictEqual(match('{float}', '-.10000001'), [-0.10000001]) + assert.deepStrictEqual(match('{float}', '1E1'), [1e1]) // precision 1 with scale -1, can not be expressed as a decimal + assert.deepStrictEqual(match('{float}', '.1E1'), [1]) + assert.deepStrictEqual(match('{float}', 'E1'), null) + assert.deepStrictEqual(match('{float}', '-.1E-1'), [-0.01]) + assert.deepStrictEqual(match('{float}', '-.1E-2'), [-0.001]) + assert.deepStrictEqual(match('{float}', '-.1E+1'), [-1]) + assert.deepStrictEqual(match('{float}', '-.1E+2'), [-10]) + assert.deepStrictEqual(match('{float}', '-.1E1'), [-1]) + assert.deepStrictEqual(match('{float}', '-.10E2'), [-10]) + }) + + it('matches float with zero', () => { + assert.deepEqual(match('{float}', '0'), [0]) + }) + + it('exposes source', () => { + const expr = 'I have {int} cuke(s)' + assert.strictEqual(new CucumberExpression(expr, new ParameterTypeRegistry()).source, expr) + }) + + it('unmatched optional groups have undefined values', () => { + const parameterTypeRegistry = new ParameterTypeRegistry() + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'textAndOrNumber', + /([A-Z]+)?(?: )?([0-9]+)?/, + null, + function (s1, s2) { + return [s1, s2] + }, + false, + true + ) + ) + const expression = new CucumberExpression('{textAndOrNumber}', parameterTypeRegistry) + + const world = {} + + assert.deepStrictEqual(expression.match(`TLA`)[0].getValue(world), ['TLA', undefined]) + assert.deepStrictEqual(expression.match(`123`)[0].getValue(world), [undefined, '123']) + }) + + // JavaScript-specific + + it('delegates transform to custom object', () => { + const parameterTypeRegistry = new ParameterTypeRegistry() + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'widget', + /\w+/, + null, + function (s: string) { + return this.createWidget(s) + }, + false, + true + ) + ) + const expression = new CucumberExpression('I have a {widget}', parameterTypeRegistry) + + const world = { + createWidget(s: string) { + return `widget:${s}` + }, + } + + const args = expression.match(`I have a bolt`) + assert.strictEqual(args[0].getValue(world), 'widget:bolt') + }) +}) + +const match = (expression: string, text: string) => { + const cucumberExpression = new CucumberExpression(expression, new ParameterTypeRegistry()) + const args = cucumberExpression.match(text) + if (!args) { + return null + } + return args.map((arg) => arg.getValue(null)) +} diff --git a/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionTokenizerTest.ts b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionTokenizerTest.ts new file mode 100644 index 0000000..7378627 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/CucumberExpressionTokenizerTest.ts @@ -0,0 +1,32 @@ +import fs from 'fs' +import yaml from 'js-yaml' +import CucumberExpressionTokenizer from '../src/CucumberExpressionTokenizer' +import assert from 'assert' +import CucumberExpressionError from '../src/CucumberExpressionError' + +interface Expectation { + expression: string + expected?: string + exception?: string +} + +describe('Cucumber expression tokenizer', () => { + fs.readdirSync('testdata/tokens').forEach((testcase) => { + const testCaseData = fs.readFileSync(`testdata/tokens/${testcase}`, 'utf-8') + const expectation = yaml.load(testCaseData) as Expectation + it(`${testcase}`, () => { + const tokenizer = new CucumberExpressionTokenizer() + if (expectation.exception == undefined) { + const tokens = tokenizer.tokenize(expectation.expression) + assert.deepStrictEqual( + JSON.parse(JSON.stringify(tokens)), // Removes type information. + JSON.parse(expectation.expected) + ) + } else { + assert.throws(() => { + tokenizer.tokenize(expectation.expression) + }, new CucumberExpressionError(expectation.exception)) + } + }) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/CustomParameterTypeTest.ts b/node_modules/@cucumber/cucumber-expressions/test/CustomParameterTypeTest.ts new file mode 100644 index 0000000..686e86f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/CustomParameterTypeTest.ts @@ -0,0 +1,224 @@ +'use strict' + +import assert from 'assert' +import CucumberExpression from '../src/CucumberExpression' +import RegularExpression from '../src/RegularExpression' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' +import ParameterType from '../src/ParameterType' + +class Color { + /// [color-constructor] + constructor(public readonly name: string) {} + /// [color-constructor] +} + +class CssColor { + constructor(public readonly name: string) {} +} + +describe('Custom parameter type', () => { + let parameterTypeRegistry: ParameterTypeRegistry + + beforeEach(() => { + parameterTypeRegistry = new ParameterTypeRegistry() + /* eslint-disable prettier/prettier */ + /// [add-color-parameter-type] + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'color', // name + /red|blue|yellow/, // regexp + Color, // type + s => new Color(s), // transformer + false, // useForSnippets + true // preferForRegexpMatch + ) + ) + /// [add-color-parameter-type] + /* eslint-enable prettier/prettier */ + }) + + describe('CucumberExpression', () => { + it('throws exception for illegal character in parameter name', () => { + assert.throws(() => new ParameterType('[string]', /.*/, String, (s) => s, false, true), { + message: + "Illegal character in parameter name {[string]}. Parameter names may not contain '{', '}', '(', ')', '\\' or '/'", + }) + }) + + it('matches parameters with custom parameter type', () => { + const expression = new CucumberExpression('I have a {color} ball', parameterTypeRegistry) + const value = expression.match('I have a red ball')[0].getValue(null) + assert.strictEqual(value.name, 'red') + }) + + it('matches parameters with multiple capture groups', () => { + class Coordinate { + constructor( + public readonly x: number, + public readonly y: number, + public readonly z: number + ) {} + } + + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'coordinate', + /(\d+),\s*(\d+),\s*(\d+)/, + Coordinate, + (x: string, y: string, z: string) => new Coordinate(Number(x), Number(y), Number(z)), + true, + true + ) + ) + const expression = new CucumberExpression( + 'A {int} thick line from {coordinate} to {coordinate}', + parameterTypeRegistry + ) + const args = expression.match('A 5 thick line from 10,20,30 to 40,50,60') + + const thick = args[0].getValue(null) + assert.strictEqual(thick, 5) + + const from = args[1].getValue(null) + assert.strictEqual(from.x, 10) + assert.strictEqual(from.y, 20) + assert.strictEqual(from.z, 30) + + const to = args[2].getValue(null) + assert.strictEqual(to.x, 40) + assert.strictEqual(to.y, 50) + assert.strictEqual(to.z, 60) + }) + + it('matches parameters with custom parameter type using optional capture group', () => { + parameterTypeRegistry = new ParameterTypeRegistry() + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'color', + [/red|blue|yellow/, /(?:dark|light) (?:red|blue|yellow)/], + Color, + (s) => new Color(s), + false, + true + ) + ) + const expression = new CucumberExpression('I have a {color} ball', parameterTypeRegistry) + const value = expression.match('I have a dark red ball')[0].getValue(null) + assert.strictEqual(value.name, 'dark red') + }) + + it('defers transformation until queried from argument', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'throwing', + /bad/, + null, + (s) => { + throw new Error(`Can't transform [${s}]`) + }, + false, + true + ) + ) + + const expression = new CucumberExpression( + 'I have a {throwing} parameter', + parameterTypeRegistry + ) + const args = expression.match('I have a bad parameter') + assert.throws(() => args[0].getValue(null), { + message: "Can't transform [bad]", + }) + }) + + describe('conflicting parameter type', () => { + it('is detected for type name', () => { + assert.throws( + () => + parameterTypeRegistry.defineParameterType( + new ParameterType('color', /.*/, CssColor, (s) => new CssColor(s), false, true) + ), + { message: 'There is already a parameter type with name color' } + ) + }) + + it('is not detected for type', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType('whatever', /.*/, Color, (s) => new Color(s), false, false) + ) + }) + + it('is not detected for regexp', () => { + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'css-color', + /red|blue|yellow/, + CssColor, + (s) => new CssColor(s), + true, + false + ) + ) + + assert.strictEqual( + new CucumberExpression('I have a {css-color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).constructor, + CssColor + ) + assert.strictEqual( + new CucumberExpression('I have a {css-color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).name, + 'blue' + ) + assert.strictEqual( + new CucumberExpression('I have a {color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).constructor, + Color + ) + assert.strictEqual( + new CucumberExpression('I have a {color} ball', parameterTypeRegistry) + .match('I have a blue ball')[0] + .getValue(null).name, + 'blue' + ) + }) + }) + + // JavaScript-specific + it('creates arguments using async transform', async () => { + parameterTypeRegistry = new ParameterTypeRegistry() + /// [add-async-parameter-type] + parameterTypeRegistry.defineParameterType( + new ParameterType( + 'asyncColor', + /red|blue|yellow/, + Color, + async (s) => new Color(s), + false, + true + ) + ) + /// [add-async-parameter-type] + + const expression = new CucumberExpression('I have a {asyncColor} ball', parameterTypeRegistry) + const args = await expression.match('I have a red ball') + const value = await args[0].getValue(null) + assert.strictEqual(value.name, 'red') + }) + }) + + describe('RegularExpression', () => { + it('matches arguments with custom parameter type', () => { + const expression = new RegularExpression( + /I have a (red|blue|yellow) ball/, + parameterTypeRegistry + ) + const value = expression.match('I have a red ball')[0].getValue(null) + assert.strictEqual(value.constructor, Color) + assert.strictEqual(value.name, 'red') + }) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/ExpressionExamplesTest.ts b/node_modules/@cucumber/cucumber-expressions/test/ExpressionExamplesTest.ts new file mode 100644 index 0000000..864ac18 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/ExpressionExamplesTest.ts @@ -0,0 +1,28 @@ +import fs from 'fs' +import assert from 'assert' +import CucumberExpression from '../src/CucumberExpression' +import RegularExpression from '../src/RegularExpression' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' + +describe('examples.txt', () => { + const match = (expressionText: string, text: string) => { + const m = /^\/(.*)\/$/.exec(expressionText) + const expression = m + ? new RegularExpression(new RegExp(m[1]), new ParameterTypeRegistry()) + : new CucumberExpression(expressionText, new ParameterTypeRegistry()) + const args = expression.match(text) + if (!args) { + return null + } + return args.map((arg) => arg.getValue(null)) + } + + const examples = fs.readFileSync('examples.txt', 'utf-8') + const chunks = examples.split(/^---/m) + for (const chunk of chunks) { + const [expressionText, text, expectedArgs] = chunk.trim().split(/\n/m) + it(`Works with: ${expressionText}`, () => { + assert.deepStrictEqual(JSON.stringify(match(expressionText, text)), expectedArgs) + }) + } +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/ExpressionFactoryTest.ts b/node_modules/@cucumber/cucumber-expressions/test/ExpressionFactoryTest.ts new file mode 100644 index 0000000..a370b78 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/ExpressionFactoryTest.ts @@ -0,0 +1,20 @@ +import * as assert from 'assert' +import ExpressionFactory from '../src/ExpressionFactory' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' +import RegularExpression from '../src/RegularExpression' +import CucumberExpression from '../src/CucumberExpression' + +describe('ExpressionFactory', () => { + let expressionFactory: ExpressionFactory + beforeEach(() => { + expressionFactory = new ExpressionFactory(new ParameterTypeRegistry()) + }) + + it('creates a RegularExpression', () => { + assert.equal(expressionFactory.createExpression(/x/).constructor, RegularExpression) + }) + + it('creates a CucumberExpression', () => { + assert.equal(expressionFactory.createExpression('x').constructor, CucumberExpression) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/ParameterTypeRegistryTest.ts b/node_modules/@cucumber/cucumber-expressions/test/ParameterTypeRegistryTest.ts new file mode 100644 index 0000000..93dce44 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/ParameterTypeRegistryTest.ts @@ -0,0 +1,57 @@ +import assert from 'assert' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' +import ParameterType from '../src/ParameterType' + +class Name { + constructor(public readonly name: string) {} +} +class Person { + constructor(public readonly name: string) {} +} +class Place { + constructor(public readonly name: string) {} +} + +const CAPITALISED_WORD = /[A-Z]+\w+/ + +describe('ParameterTypeRegistry', () => { + let registry: ParameterTypeRegistry + beforeEach(() => { + registry = new ParameterTypeRegistry() + }) + + it('does not allow more than one preferential parameter type for each regexp', () => { + registry.defineParameterType( + new ParameterType('name', CAPITALISED_WORD, Name, (s) => new Name(s), true, true) + ) + registry.defineParameterType( + new ParameterType('person', CAPITALISED_WORD, Person, (s) => new Person(s), true, false) + ) + try { + registry.defineParameterType( + new ParameterType('place', CAPITALISED_WORD, Place, (s) => new Place(s), true, true) + ) + throw new Error('Should have failed') + } catch (err) { + assert.strictEqual( + err.message, + `There can only be one preferential parameter type per regexp. The regexp ${CAPITALISED_WORD} is used for two preferential parameter types, {name} and {place}` + ) + } + }) + + it('looks up preferential parameter type by regexp', () => { + const name = new ParameterType('name', /[A-Z]+\w+/, null, (s) => new Name(s), true, false) + const person = new ParameterType('person', /[A-Z]+\w+/, null, (s) => new Person(s), true, true) + const place = new ParameterType('place', /[A-Z]+\w+/, null, (s) => new Place(s), true, false) + + registry.defineParameterType(name) + registry.defineParameterType(person) + registry.defineParameterType(place) + + assert.strictEqual( + registry.lookupByRegexp('[A-Z]+\\w+', /([A-Z]+\w+) and ([A-Z]+\w+)/, 'Lisa and Bob'), + person + ) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/ParameterTypeTest.ts b/node_modules/@cucumber/cucumber-expressions/test/ParameterTypeTest.ts new file mode 100644 index 0000000..ba0a4d5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/ParameterTypeTest.ts @@ -0,0 +1,11 @@ +import ParameterType from '../src/ParameterType' +import * as assert from 'assert' + +describe('ParameterType', () => { + it('does not allow ignore flag on regexp', () => { + assert.throws( + () => new ParameterType('case-insensitive', /[a-z]+/i, String, (s) => s, true, true), + { message: "ParameterType Regexps can't use flag 'i'" } + ) + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/test/RegularExpressionTest.ts b/node_modules/@cucumber/cucumber-expressions/test/RegularExpressionTest.ts new file mode 100644 index 0000000..399700b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/RegularExpressionTest.ts @@ -0,0 +1,112 @@ +import assert from 'assert' +import RegularExpression from '../src/RegularExpression' +import ParameterTypeRegistry from '../src/ParameterTypeRegistry' + +describe('RegularExpression', () => { + it('documents match arguments', () => { + const parameterRegistry = new ParameterTypeRegistry() + + /// [capture-match-arguments] + const expr = /I have (\d+) cukes? in my (\w+) now/ + const expression = new RegularExpression(expr, parameterRegistry) + const args = expression.match('I have 7 cukes in my belly now') + assert.strictEqual(7, args[0].getValue(null)) + assert.strictEqual('belly', args[1].getValue(null)) + /// [capture-match-arguments] + }) + + it('does no transform by default', () => { + assert.deepStrictEqual(match(/(\d\d)/, '22')[0], '22') + }) + + it('does not transform anonymous', () => { + assert.deepStrictEqual(match(/(.*)/, '22')[0], '22') + }) + + it('transforms negative int', () => { + assert.deepStrictEqual(match(/(-?\d+)/, '-22')[0], -22) + }) + + it('transforms positive int', () => { + assert.deepStrictEqual(match(/(\d+)/, '22')[0], 22) + }) + + it('transforms float without integer part', () => { + assert.deepStrictEqual( + match(new RegExp(`(${ParameterTypeRegistry.FLOAT_REGEXP.source})`), '.22')[0], + 0.22 + ) + }) + + it('transforms float with sign', () => { + assert.deepStrictEqual( + match(new RegExp(`(${ParameterTypeRegistry.FLOAT_REGEXP.source})`), '-1.22')[0], + -1.22 + ) + }) + + it('returns null when there is no match', () => { + assert.strictEqual(match(/hello/, 'world'), null) + }) + + it('matches nested capture group without match', () => { + assert.deepStrictEqual(match(/^a user( named "([^"]*)")?$/, 'a user'), [null]) + }) + + it('matches nested capture group with match', () => { + assert.deepStrictEqual(match(/^a user( named "([^"]*)")?$/, 'a user named "Charlie"'), [ + 'Charlie', + ]) + }) + + it('matches capture group nested in optional one', () => { + const regexp = /^a (pre-commercial transaction |pre buyer fee model )?purchase(?: for \$(\d+))?$/ + assert.deepStrictEqual(match(regexp, 'a purchase'), [null, null]) + assert.deepStrictEqual(match(regexp, 'a purchase for $33'), [null, 33]) + assert.deepStrictEqual(match(regexp, 'a pre buyer fee model purchase'), [ + 'pre buyer fee model ', + null, + ]) + }) + + it('ignores non capturing groups', () => { + assert.deepStrictEqual( + match( + /(\S+) ?(can|cannot)? (?:delete|cancel) the (\d+)(?:st|nd|rd|th) (attachment|slide) ?(?:upload)?/, + 'I can cancel the 1st slide upload' + ), + ['I', 'can', 1, 'slide'] + ) + }) + + it('works with escaped parenthesis', () => { + assert.deepStrictEqual(match(/Across the line\(s\)/, 'Across the line(s)'), []) + }) + + it('exposes regexp and source', () => { + const regexp = /I have (\d+) cukes? in my (.+) now/ + const expression = new RegularExpression(regexp, new ParameterTypeRegistry()) + assert.deepStrictEqual(expression.regexp, regexp) + assert.deepStrictEqual(expression.source, regexp.source) + }) + + it('does not take consider parenthesis in character class as group', function () { + const expression = new RegularExpression( + /^drawings: ([A-Z_, ()]+)$/, + new ParameterTypeRegistry() + ) + const args = expression.match('drawings: ONE, TWO(ABC)') + + assert.strictEqual(args[0].getValue(this), 'ONE, TWO(ABC)') + }) +}) + +const match = (regexp: RegExp, text: string) => { + const parameterRegistry = new ParameterTypeRegistry() + const regularExpression = new RegularExpression(regexp, parameterRegistry) + const args = regularExpression.match(text) + if (!args) { + return null + } + return args.map((arg) => arg.getValue(null)) +} diff --git a/node_modules/@cucumber/cucumber-expressions/test/TreeRegexpTest.ts b/node_modules/@cucumber/cucumber-expressions/test/TreeRegexpTest.ts new file mode 100644 index 0000000..5993b86 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/test/TreeRegexpTest.ts @@ -0,0 +1,152 @@ +import assert from 'assert' +import TreeRegexp from '../src/TreeRegexp' + +describe('TreeRegexp', () => { + it('exposes group source', () => { + const tr = new TreeRegexp(/(a(?:b)?)(c)/) + assert.deepStrictEqual( + tr.groupBuilder.children.map((gb) => gb.source), + ['a(?:b)?', 'c'] + ) + }) + + it('builds tree', () => { + const tr = new TreeRegexp(/(a(?:b)?)(c)/) + const group = tr.match('ac') + assert.strictEqual(group.value, 'ac') + assert.strictEqual(group.children[0].value, 'a') + assert.deepStrictEqual(group.children[0].children, []) + assert.strictEqual(group.children[1].value, 'c') + }) + + it('ignores `?:` as a non-capturing group', () => { + const tr = new TreeRegexp(/a(?:b)(c)/) + const group = tr.match('abc') + assert.strictEqual(group.value, 'abc') + assert.strictEqual(group.children.length, 1) + }) + + it('ignores `?!` as a non-capturing group', () => { + const tr = new TreeRegexp(/a(?!b)(.+)/) + const group = tr.match('aBc') + assert.strictEqual(group.value, 'aBc') + assert.strictEqual(group.children.length, 1) + }) + + it('ignores `?=` as a non-capturing group', () => { + const tr = new TreeRegexp(/a(?=[b])(.+)/) + const group = tr.match('abc') + assert.strictEqual(group.value, 'abc') + assert.strictEqual(group.children.length, 1) + assert.strictEqual(group.children[0].value, 'bc') + }) + + it('ignores `?<=` as a non-capturing group', () => { + const tr = new TreeRegexp(/a(.+)(?<=c)$/) + const group = tr.match('abc') + assert.strictEqual(group.value, 'abc') + assert.strictEqual(group.children.length, 1) + assert.strictEqual(group.children[0].value, 'bc') + }) + + it('ignores `? { + const tr = new TreeRegexp(/a(.+?)(? { + const tr = new TreeRegexp(/a(?b)c/) + const group = tr.match('abc') + assert.strictEqual(group.value, 'abc') + assert.strictEqual(group.children.length, 1) + assert.strictEqual(group.children[0].value, 'b') + }) + + it('matches optional group', () => { + const tr = new TreeRegexp(/^Something( with an optional argument)?/) + const group = tr.match('Something') + assert.strictEqual(group.children[0].value, undefined) + }) + + it('matches nested groups', () => { + const tr = new TreeRegexp( + /^A (\d+) thick line from ((\d+),\s*(\d+),\s*(\d+)) to ((\d+),\s*(\d+),\s*(\d+))/ + ) + const group = tr.match('A 5 thick line from 10,20,30 to 40,50,60') + + assert.strictEqual(group.children[0].value, '5') + assert.strictEqual(group.children[1].value, '10,20,30') + assert.strictEqual(group.children[1].children[0].value, '10') + assert.strictEqual(group.children[1].children[1].value, '20') + assert.strictEqual(group.children[1].children[2].value, '30') + assert.strictEqual(group.children[2].value, '40,50,60') + assert.strictEqual(group.children[2].children[0].value, '40') + assert.strictEqual(group.children[2].children[1].value, '50') + assert.strictEqual(group.children[2].children[2].value, '60') + }) + + it('detects multiple non capturing groups', () => { + const tr = new TreeRegexp(/(?:a)(:b)(\?c)(d)/) + const group = tr.match('a:b?cd') + assert.strictEqual(group.children.length, 3) + }) + + it('works with escaped backslash', () => { + const tr = new TreeRegexp(/foo\\(bar|baz)/) + const group = tr.match('foo\\bar') + assert.strictEqual(group.children.length, 1) + }) + + it('works with escaped slash', () => { + const tr = new TreeRegexp(/^I go to '\/(.+)'$/) + const group = tr.match("I go to '/hello'") + assert.strictEqual(group.children.length, 1) + }) + + it('works with digit and word', () => { + const tr = new TreeRegexp(/^(\d) (\w+)$/) + const group = tr.match('2 you') + assert.strictEqual(group.children.length, 2) + }) + + it('captures non capturing groups with capturing groups inside', () => { + const tr = new TreeRegexp('the stdout(?: from "(.*?)")?') + const group = tr.match('the stdout') + assert.strictEqual(group.value, 'the stdout') + assert.strictEqual(group.children[0].value, undefined) + assert.strictEqual(group.children.length, 1) + }) + + it('works with flags', () => { + const tr = new TreeRegexp(/HELLO/i) + const group = tr.match('hello') + assert.strictEqual(group.value, 'hello') + }) + + it('empty capturing group', () => { + const tr = new TreeRegexp(/()/) + const group = tr.match('') + // TODO: Would expect the empty string here + assert.strictEqual(group.value, undefined) + assert.strictEqual(group.children.length, 1) + }) + + it('empty look ahead', () => { + const tr = new TreeRegexp(/(?<=)/) + const group = tr.match('') + // TODO: Would expect the empty string here + assert.strictEqual(group.value, undefined) + assert.strictEqual(group.children.length, 0) + }) + + it('does not consider parenthesis in character class as group', () => { + const tr = new TreeRegexp(/^drawings: ([A-Z, ()]+)$/) + const group = tr.match('drawings: ONE(TWO)') + assert.strictEqual(group.value, 'drawings: ONE(TWO)') + assert.strictEqual(group.children.length, 1) + assert.strictEqual(group.children[0].value, 'ONE(TWO)') + }) +}) diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-followed-by-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-followed-by-optional.yaml new file mode 100644 index 0000000..0bfb53a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-followed-by-optional.yaml @@ -0,0 +1,17 @@ +expression: three blind\ rat/cat(s) +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 23, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "ALTERNATION_NODE", "start": 6, "end": 23, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 6, "end": 16, "nodes": [ + {"type": "TEXT_NODE", "start": 6, "end": 16, "token": "blind rat"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 17, "end": 23, "nodes": [ + {"type": "TEXT_NODE", "start": 17, "end": 20, "token": "cat"}, + {"type": "OPTIONAL_NODE", "start": 20, "end": 23, "nodes": [ + {"type": "TEXT_NODE", "start": 21, "end": 22, "token": "s"} + ]} + ]} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-phrase.yaml new file mode 100644 index 0000000..9a24382 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-phrase.yaml @@ -0,0 +1,16 @@ +expression: three hungry/blind mice +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 23, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "ALTERNATION_NODE", "start": 6, "end": 18, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 6, "end": 12, "nodes": [ + {"type": "TEXT_NODE", "start": 6, "end": 12, "token": "hungry"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 13, "end": 18, "nodes": [ + {"type": "TEXT_NODE", "start": 13, "end": 18, "token": "blind"} + ]} + ]}, + {"type": "TEXT_NODE", "start": 18, "end": 19, "token": " "}, + {"type": "TEXT_NODE", "start": 19, "end": 23, "token": "mice"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-parameter.yaml new file mode 100644 index 0000000..c5daf32 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-parameter.yaml @@ -0,0 +1,27 @@ +expression: I select the {int}st/nd/rd/th +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 29, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 1, "token": "I"}, + {"type": "TEXT_NODE", "start": 1, "end": 2, "token": " "}, + {"type": "TEXT_NODE", "start": 2, "end": 8, "token": "select"}, + {"type": "TEXT_NODE", "start": 8, "end": 9, "token": " "}, + {"type": "TEXT_NODE", "start": 9, "end": 12, "token": "the"}, + {"type": "TEXT_NODE", "start": 12, "end": 13, "token": " "}, + {"type": "PARAMETER_NODE", "start": 13, "end": 18, "nodes": [ + {"type": "TEXT_NODE", "start": 14, "end": 17, "token": "int"} + ]}, + {"type": "ALTERNATION_NODE", "start": 18, "end": 29, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 18, "end": 20, "nodes": [ + {"type": "TEXT_NODE", "start": 18, "end": 20, "token": "st"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 21, "end": 23, "nodes": [ + {"type": "TEXT_NODE", "start": 21, "end": 23, "token": "nd"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 24, "end": 26, "nodes": [ + {"type": "TEXT_NODE", "start": 24, "end": 26, "token": "rd"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 27, "end": 29, "nodes": [ + {"type": "TEXT_NODE", "start": 27, "end": 29, "token": "th"} + ]} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-unused-end-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-unused-end-optional.yaml new file mode 100644 index 0000000..842838b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-unused-end-optional.yaml @@ -0,0 +1,15 @@ +expression: three )blind\ mice/rats +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 23, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "ALTERNATION_NODE", "start": 6, "end": 23, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 6, "end": 18, "nodes": [ + {"type": "TEXT_NODE", "start": 6, "end": 7, "token": ")"}, + {"type": "TEXT_NODE", "start": 7, "end": 18, "token": "blind mice"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 19, "end": 23, "nodes": [ + {"type": "TEXT_NODE", "start": 19, "end": 23, "token": "rats"} + ]} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-unused-start-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-unused-start-optional.yaml new file mode 100644 index 0000000..e2f0584 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-unused-start-optional.yaml @@ -0,0 +1,8 @@ +expression: three blind\ mice/rats( +exception: |- + This Cucumber Expression has a problem at column 23: + + three blind\ mice/rats( + ^ + The '(' does not have a matching ')'. + If you did not intend to use optional text you can use '\(' to escape the optional text diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-white-space.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-white-space.yaml new file mode 100644 index 0000000..eedd57d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation-with-white-space.yaml @@ -0,0 +1,12 @@ +expression: '\ three\ hungry/blind\ mice\ ' +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 29, "nodes": [ + {"type": "ALTERNATION_NODE", "start": 0, "end": 29, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 0, "end": 15, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 15, "token": " three hungry"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 16, "end": 29, "nodes": [ + {"type": "TEXT_NODE", "start": 16, "end": 29, "token": "blind mice "} + ]} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation.yaml new file mode 100644 index 0000000..88df832 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/alternation.yaml @@ -0,0 +1,12 @@ +expression: mice/rats +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 9, "nodes": [ + {"type": "ALTERNATION_NODE", "start": 0, "end": 9, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 0, "end": 4, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 4, "token": "mice"} + ]}, + {"type": "ALTERNATIVE_NODE", "start": 5, "end": 9, "nodes": [ + {"type": "TEXT_NODE", "start": 5, "end": 9, "token": "rats"} + ]} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/anonymous-parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/anonymous-parameter.yaml new file mode 100644 index 0000000..2c4d339 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/anonymous-parameter.yaml @@ -0,0 +1,5 @@ +expression: "{}" +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 2, "nodes": [ + {"type": "PARAMETER_NODE", "start": 0, "end": 2, "nodes": []} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/closing-brace.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/closing-brace.yaml new file mode 100644 index 0000000..1bafd9c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/closing-brace.yaml @@ -0,0 +1,5 @@ +expression: "}" +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 1, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 1, "token": "}"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/closing-parenthesis.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/closing-parenthesis.yaml new file mode 100644 index 0000000..23daf7b --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/closing-parenthesis.yaml @@ -0,0 +1,5 @@ +expression: ) +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 1, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 1, "token": ")"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-alternation.yaml new file mode 100644 index 0000000..6d810fc --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-alternation.yaml @@ -0,0 +1,8 @@ +expression: / +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 1, "nodes": [ + {"type": "ALTERNATION_NODE", "start": 0, "end": 1, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 0, "end": 0, "nodes": []}, + {"type": "ALTERNATIVE_NODE", "start": 1, "end": 1, "nodes": []} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-alternations.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-alternations.yaml new file mode 100644 index 0000000..f8d4dd4 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-alternations.yaml @@ -0,0 +1,9 @@ +expression: '//' +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 2, "nodes": [ + {"type": "ALTERNATION_NODE", "start": 0, "end": 2, "nodes": [ + {"type": "ALTERNATIVE_NODE", "start": 0, "end": 0, "nodes": []}, + {"type": "ALTERNATIVE_NODE", "start": 1, "end": 1, "nodes": []}, + {"type": "ALTERNATIVE_NODE", "start": 2, "end": 2, "nodes": []} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-string.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-string.yaml new file mode 100644 index 0000000..4d33c2d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/empty-string.yaml @@ -0,0 +1,3 @@ +expression: "" +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 0, "nodes": []} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-alternation.yaml new file mode 100644 index 0000000..3ed9c37 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-alternation.yaml @@ -0,0 +1,5 @@ +expression: 'mice\/rats' +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 10, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 10, "token": "mice/rats"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-backslash.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-backslash.yaml new file mode 100644 index 0000000..da2d008 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-backslash.yaml @@ -0,0 +1,5 @@ +expression: '\\' +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 2, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 2, "token": "\\"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-opening-parenthesis.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-opening-parenthesis.yaml new file mode 100644 index 0000000..afafc59 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-opening-parenthesis.yaml @@ -0,0 +1,5 @@ +expression: '\(' +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 2, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 2, "token": "("} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional-followed-by-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional-followed-by-optional.yaml new file mode 100644 index 0000000..1e47462 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional-followed-by-optional.yaml @@ -0,0 +1,15 @@ +expression: three \((very) blind) mice +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 26, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "TEXT_NODE", "start": 6, "end": 8, "token": "("}, + {"type": "OPTIONAL_NODE", "start": 8, "end": 14, "nodes": [ + {"type": "TEXT_NODE", "start": 9, "end": 13, "token": "very"} + ]}, + {"type": "TEXT_NODE", "start": 14, "end": 15, "token": " "}, + {"type": "TEXT_NODE", "start": 15, "end": 20, "token": "blind"}, + {"type": "TEXT_NODE", "start": 20, "end": 21, "token": ")"}, + {"type": "TEXT_NODE", "start": 21, "end": 22, "token": " "}, + {"type": "TEXT_NODE", "start": 22, "end": 26, "token": "mice"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional-phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional-phrase.yaml new file mode 100644 index 0000000..832249e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional-phrase.yaml @@ -0,0 +1,10 @@ +expression: three \(blind) mice +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 19, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "TEXT_NODE", "start": 6, "end": 13, "token": "(blind"}, + {"type": "TEXT_NODE", "start": 13, "end": 14, "token": ")"}, + {"type": "TEXT_NODE", "start": 14, "end": 15, "token": " "}, + {"type": "TEXT_NODE", "start": 15, "end": 19, "token": "mice"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional.yaml new file mode 100644 index 0000000..4c2b457 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/escaped-optional.yaml @@ -0,0 +1,7 @@ +expression: '\(blind)' + +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 8, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 7, "token": "(blind"}, + {"type": "TEXT_NODE", "start": 7, "end": 8, "token": ")"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/opening-brace.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/opening-brace.yaml new file mode 100644 index 0000000..916a674 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/opening-brace.yaml @@ -0,0 +1,8 @@ +expression: '{' +exception: |- + This Cucumber Expression has a problem at column 1: + + { + ^ + The '{' does not have a matching '}'. + If you did not intend to use a parameter you can use '\{' to escape the a parameter diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/opening-parenthesis.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/opening-parenthesis.yaml new file mode 100644 index 0000000..929d6ae --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/opening-parenthesis.yaml @@ -0,0 +1,8 @@ +expression: ( +exception: |- + This Cucumber Expression has a problem at column 1: + + ( + ^ + The '(' does not have a matching ')'. + If you did not intend to use optional text you can use '\(' to escape the optional text diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional-containing-nested-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional-containing-nested-optional.yaml new file mode 100644 index 0000000..0fdd55d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional-containing-nested-optional.yaml @@ -0,0 +1,15 @@ +expression: three ((very) blind) mice +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 25, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "OPTIONAL_NODE", "start": 6, "end": 20, "nodes": [ + {"type": "OPTIONAL_NODE", "start": 7, "end": 13, "nodes": [ + {"type": "TEXT_NODE", "start": 8, "end": 12, "token": "very"} + ]}, + {"type": "TEXT_NODE", "start": 13, "end": 14, "token": " "}, + {"type": "TEXT_NODE", "start": 14, "end": 19, "token": "blind"} + ]}, + {"type": "TEXT_NODE", "start": 20, "end": 21, "token": " "}, + {"type": "TEXT_NODE", "start": 21, "end": 25, "token": "mice"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional-phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional-phrase.yaml new file mode 100644 index 0000000..0ef4fb3 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional-phrase.yaml @@ -0,0 +1,12 @@ +expression: three (blind) mice + +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 18, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "OPTIONAL_NODE", "start": 6, "end": 13, "nodes": [ + {"type": "TEXT_NODE", "start": 7, "end": 12, "token": "blind"} + ]}, + {"type": "TEXT_NODE", "start": 13, "end": 14, "token": " "}, + {"type": "TEXT_NODE", "start": 14, "end": 18, "token": "mice"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional.yaml new file mode 100644 index 0000000..6ce2b63 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/optional.yaml @@ -0,0 +1,7 @@ +expression: (blind) +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 7, "nodes": [ + {"type": "OPTIONAL_NODE", "start": 0, "end": 7, "nodes": [ + {"type": "TEXT_NODE", "start": 1, "end": 6, "token": "blind"} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/parameter.yaml new file mode 100644 index 0000000..92ac8c1 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/parameter.yaml @@ -0,0 +1,7 @@ +expression: "{string}" +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 8, "nodes": [ + {"type": "PARAMETER_NODE", "start": 0, "end": 8, "nodes": [ + {"type": "TEXT_NODE", "start": 1, "end": 7, "token": "string"} + ]} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/phrase.yaml new file mode 100644 index 0000000..ba340d0 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/phrase.yaml @@ -0,0 +1,9 @@ +expression: three blind mice +expected: |- + {"type": "EXPRESSION_NODE", "start": 0, "end": 16, "nodes": [ + {"type": "TEXT_NODE", "start": 0, "end": 5, "token": "three"}, + {"type": "TEXT_NODE", "start": 5, "end": 6, "token": " "}, + {"type": "TEXT_NODE", "start": 6, "end": 11, "token": "blind"}, + {"type": "TEXT_NODE", "start": 11, "end": 12, "token": " "}, + {"type": "TEXT_NODE", "start": 12, "end": 16, "token": "mice"} + ]} diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/ast/unfinished-parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/ast/unfinished-parameter.yaml new file mode 100644 index 0000000..d02f9b4 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/ast/unfinished-parameter.yaml @@ -0,0 +1,8 @@ +expression: "{string" +exception: |- + This Cucumber Expression has a problem at column 1: + + {string + ^ + The '{' does not have a matching '}'. + If you did not intend to use a parameter you can use '\{' to escape the a parameter diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-escaped-optional-parameter-types.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-escaped-optional-parameter-types.yaml new file mode 100644 index 0000000..a00b45a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-escaped-optional-parameter-types.yaml @@ -0,0 +1,4 @@ +expression: \({int}) +text: (3) +expected: |- + [3] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-parameter-type-in-alternation-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-parameter-type-in-alternation-1.yaml new file mode 100644 index 0000000..bb1a6f2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-parameter-type-in-alternation-1.yaml @@ -0,0 +1,4 @@ +expression: a/i{int}n/y +text: i18n +expected: |- + [18] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-parameter-type-in-alternation-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-parameter-type-in-alternation-2.yaml new file mode 100644 index 0000000..cdddce7 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/allows-parameter-type-in-alternation-2.yaml @@ -0,0 +1,4 @@ +expression: a/i{int}n/y +text: a11y +expected: |- + [11] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-allow-parameter-adjacent-to-alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-allow-parameter-adjacent-to-alternation.yaml new file mode 100644 index 0000000..9e2ecdf --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-allow-parameter-adjacent-to-alternation.yaml @@ -0,0 +1,5 @@ +expression: |- + {int}st/nd/rd/th +text: 3rd +expected: |- + [3] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-in-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-in-optional.yaml new file mode 100644 index 0000000..b507e27 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-in-optional.yaml @@ -0,0 +1,9 @@ +expression: three( brown/black) mice +text: three brown/black mice +exception: |- + This Cucumber Expression has a problem at column 13: + + three( brown/black) mice + ^ + An alternation can not be used inside an optional. + You can use '\/' to escape the the '/' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-left-parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-left-parameter.yaml new file mode 100644 index 0000000..b32540a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-left-parameter.yaml @@ -0,0 +1,10 @@ +expression: |- + {int}/x +text: '3' +exception: |- + This Cucumber Expression has a problem at column 6: + + {int}/x + ^ + Alternative may not be empty. + If you did not mean to use an alternative you can use '\/' to escape the the '/' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-optional.yaml new file mode 100644 index 0000000..a0aab0e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-optional.yaml @@ -0,0 +1,9 @@ +expression: three (brown)/black mice +text: three brown mice +exception: |- + This Cucumber Expression has a problem at column 7: + + three (brown)/black mice + ^-----^ + An alternative may not exclusively contain optionals. + If you did not mean to use an optional you can use '\(' to escape the the '(' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-right-parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-right-parameter.yaml new file mode 100644 index 0000000..50250f0 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative-by-adjacent-right-parameter.yaml @@ -0,0 +1,9 @@ +expression: x/{int} +text: '3' +exception: |- + This Cucumber Expression has a problem at column 3: + + x/{int} + ^ + Alternative may not be empty. + If you did not mean to use an alternative you can use '\/' to escape the the '/' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative.yaml new file mode 100644 index 0000000..b724cfa --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-alternation-with-empty-alternative.yaml @@ -0,0 +1,9 @@ +expression: three brown//black mice +text: three brown mice +exception: |- + This Cucumber Expression has a problem at column 13: + + three brown//black mice + ^ + Alternative may not be empty. + If you did not mean to use an alternative you can use '\/' to escape the the '/' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-empty-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-empty-optional.yaml new file mode 100644 index 0000000..00e341a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-empty-optional.yaml @@ -0,0 +1,9 @@ +expression: three () mice +text: three brown mice +exception: |- + This Cucumber Expression has a problem at column 7: + + three () mice + ^^ + An optional must contain some text. + If you did not mean to use an optional you can use '\(' to escape the the '(' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-nested-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-nested-optional.yaml new file mode 100644 index 0000000..017c3be --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-nested-optional.yaml @@ -0,0 +1,8 @@ +expression: "(a(b))" +exception: |- + This Cucumber Expression has a problem at column 3: + + (a(b)) + ^-^ + An optional may not contain an other optional. + If you did not mean to use an optional type you can use '\(' to escape the the '('. For more complicated expressions consider using a regular expression instead. diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-optional-parameter-types.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-optional-parameter-types.yaml new file mode 100644 index 0000000..b88061e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-optional-parameter-types.yaml @@ -0,0 +1,9 @@ +expression: ({int}) +text: '3' +exception: |- + This Cucumber Expression has a problem at column 2: + + ({int}) + ^---^ + An optional may not contain a parameter type. + If you did not mean to use an parameter type you can use '\{' to escape the the '{' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-parameter-name-with-reserved-characters.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-parameter-name-with-reserved-characters.yaml new file mode 100644 index 0000000..d1c8968 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-parameter-name-with-reserved-characters.yaml @@ -0,0 +1,10 @@ +expression: |- + {(string)} +text: something +exception: |- + This Cucumber Expression has a problem at column 2: + + {(string)} + ^ + Parameter names may not contain '{', '}', '(', ')', '\' or '/'. + Did you mean to use a regular expression? diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-1.yaml new file mode 100644 index 0000000..e033648 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-1.yaml @@ -0,0 +1,8 @@ +expression: three (exceptionally\) {string\} mice +exception: |- + This Cucumber Expression has a problem at column 24: + + three (exceptionally\) {string\} mice + ^ + The '{' does not have a matching '}'. + If you did not intend to use a parameter you can use '\{' to escape the a parameter diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-2.yaml new file mode 100644 index 0000000..7cb9c6d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-2.yaml @@ -0,0 +1,8 @@ +expression: three (exceptionally\) {string} mice +exception: |- + This Cucumber Expression has a problem at column 7: + + three (exceptionally\) {string} mice + ^ + The '(' does not have a matching ')'. + If you did not intend to use optional text you can use '\(' to escape the optional text diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-3.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-3.yaml new file mode 100644 index 0000000..029c4e6 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-allow-unfinished-parenthesis-3.yaml @@ -0,0 +1,8 @@ +expression: three ((exceptionally\) strong) mice +exception: |- + This Cucumber Expression has a problem at column 7: + + three ((exceptionally\) strong) mice + ^ + The '(' does not have a matching ')'. + If you did not intend to use optional text you can use '\(' to escape the optional text diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-match-misquoted-string.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-match-misquoted-string.yaml new file mode 100644 index 0000000..1802318 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/does-not-match-misquoted-string.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three "blind' mice +expected: |- + null diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/doesnt-match-float-as-int.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/doesnt-match-float-as-int.yaml new file mode 100644 index 0000000..d66b586 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/doesnt-match-float-as-int.yaml @@ -0,0 +1,5 @@ +expression: |- + {int} +text: '1.22' +expected: |- + null diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-alternation.yaml new file mode 100644 index 0000000..20a9b9a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-alternation.yaml @@ -0,0 +1,4 @@ +expression: mice/rats and rats\/mice +text: rats and rats/mice +expected: |- + [] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-anonymous-parameter-type.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-anonymous-parameter-type.yaml new file mode 100644 index 0000000..fc95496 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-anonymous-parameter-type.yaml @@ -0,0 +1,5 @@ +expression: |- + {} +text: '0.22' +expected: |- + ["0.22"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-empty-string-as-empty-string-along-with-other-strings.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-empty-string-as-empty-string-along-with-other-strings.yaml new file mode 100644 index 0000000..c3e1962 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-empty-string-as-empty-string-along-with-other-strings.yaml @@ -0,0 +1,4 @@ +expression: three {string} and {string} mice +text: three "" and "handsome" mice +expected: |- + ["","handsome"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-empty-string-as-empty-string.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-empty-string-as-empty-string.yaml new file mode 100644 index 0000000..89315b6 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-empty-string-as-empty-string.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three "" mice +expected: |- + [""] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string-with-escaped-double-quote.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string-with-escaped-double-quote.yaml new file mode 100644 index 0000000..fe30a04 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string-with-escaped-double-quote.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three "bl\"nd" mice +expected: |- + ["bl\"nd"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string-with-single-quotes.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string-with-single-quotes.yaml new file mode 100644 index 0000000..25fcf30 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string-with-single-quotes.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three "'blind'" mice +expected: |- + ["'blind'"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string.yaml new file mode 100644 index 0000000..8b0560f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-double-quoted-string.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three "blind" mice +expected: |- + ["blind"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-parenthesis.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-parenthesis.yaml new file mode 100644 index 0000000..902a084 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-parenthesis.yaml @@ -0,0 +1,4 @@ +expression: three \\(exceptionally) \\{string} mice +text: three \exceptionally \"blind" mice +expected: |- + ["blind"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-slash-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-slash-1.yaml new file mode 100644 index 0000000..94e531e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-slash-1.yaml @@ -0,0 +1,4 @@ +expression: 12\\/2020 +text: 12\ +expected: |- + [] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-slash-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-slash-2.yaml new file mode 100644 index 0000000..9c9c735 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-doubly-escaped-slash-2.yaml @@ -0,0 +1,4 @@ +expression: 12\\/2020 +text: '2020' +expected: |- + [] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-1.yaml new file mode 100644 index 0000000..171df89 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-1.yaml @@ -0,0 +1,4 @@ +expression: three \(exceptionally) \{string} mice +text: three (exceptionally) {string} mice +expected: |- + [] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-2.yaml new file mode 100644 index 0000000..340c63e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-2.yaml @@ -0,0 +1,4 @@ +expression: three \((exceptionally)) \{{string}} mice +text: three (exceptionally) {"blind"} mice +expected: |- + ["blind"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-3.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-3.yaml new file mode 100644 index 0000000..340c63e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-parenthesis-3.yaml @@ -0,0 +1,4 @@ +expression: three \((exceptionally)) \{{string}} mice +text: three (exceptionally) {"blind"} mice +expected: |- + ["blind"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-slash.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-slash.yaml new file mode 100644 index 0000000..d8b3933 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-escaped-slash.yaml @@ -0,0 +1,4 @@ +expression: 12\/2020 +text: 12/2020 +expected: |- + [] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-float-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-float-1.yaml new file mode 100644 index 0000000..fe7e8b1 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-float-1.yaml @@ -0,0 +1,5 @@ +expression: |- + {float} +text: '0.22' +expected: |- + [0.22] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-float-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-float-2.yaml new file mode 100644 index 0000000..c1e5894 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-float-2.yaml @@ -0,0 +1,5 @@ +expression: |- + {float} +text: '.22' +expected: |- + [0.22] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-int.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-int.yaml new file mode 100644 index 0000000..bcd3763 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-int.yaml @@ -0,0 +1,5 @@ +expression: |- + {int} +text: '22' +expected: |- + [22] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-multiple-double-quoted-strings.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-multiple-double-quoted-strings.yaml new file mode 100644 index 0000000..6c74bc2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-multiple-double-quoted-strings.yaml @@ -0,0 +1,4 @@ +expression: three {string} and {string} mice +text: three "blind" and "crippled" mice +expected: |- + ["blind","crippled"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-multiple-single-quoted-strings.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-multiple-single-quoted-strings.yaml new file mode 100644 index 0000000..5037821 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-multiple-single-quoted-strings.yaml @@ -0,0 +1,4 @@ +expression: three {string} and {string} mice +text: three 'blind' and 'crippled' mice +expected: |- + ["blind","crippled"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-1.yaml new file mode 100644 index 0000000..8217767 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-1.yaml @@ -0,0 +1,4 @@ +expression: three (brown )mice/rats +text: three brown mice +expected: |- + [] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-2.yaml new file mode 100644 index 0000000..71b3a34 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-2.yaml @@ -0,0 +1,4 @@ +expression: three (brown )mice/rats +text: three rats +expected: |- + [] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-with-regex-characters-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-with-regex-characters-1.yaml new file mode 100644 index 0000000..2632f41 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-with-regex-characters-1.yaml @@ -0,0 +1,4 @@ +expression: I wait {int} second(s)./second(s)? +text: I wait 2 seconds? +expected: |- + [2] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-with-regex-characters-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-with-regex-characters-2.yaml new file mode 100644 index 0000000..7b30f66 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-before-alternation-with-regex-characters-2.yaml @@ -0,0 +1,4 @@ +expression: I wait {int} second(s)./second(s)? +text: I wait 1 second. +expected: |- + [1] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-1.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-1.yaml new file mode 100644 index 0000000..6574bb4 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-1.yaml @@ -0,0 +1,5 @@ +expression: |- + {int} rat(s)/mouse/mice +text: 3 rats +expected: |- + [3] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-2.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-2.yaml new file mode 100644 index 0000000..4eb0f0e --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-2.yaml @@ -0,0 +1,5 @@ +expression: |- + {int} rat(s)/mouse/mice +text: 2 mice +expected: |- + [2] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-3.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-3.yaml new file mode 100644 index 0000000..964fa64 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-optional-in-alternation-3.yaml @@ -0,0 +1,5 @@ +expression: |- + {int} rat(s)/mouse/mice +text: 1 mouse +expected: |- + [1] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-empty-string-as-empty-string-along-with-other-strings.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-empty-string-as-empty-string-along-with-other-strings.yaml new file mode 100644 index 0000000..c963dcf --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-empty-string-as-empty-string-along-with-other-strings.yaml @@ -0,0 +1,4 @@ +expression: three {string} and {string} mice +text: three '' and 'handsome' mice +expected: |- + ["","handsome"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-empty-string-as-empty-string.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-empty-string-as-empty-string.yaml new file mode 100644 index 0000000..cff2a2d --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-empty-string-as-empty-string.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three '' mice +expected: |- + [""] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string-with-double-quotes.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string-with-double-quotes.yaml new file mode 100644 index 0000000..eb9ed53 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string-with-double-quotes.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three '"blind"' mice +expected: |- + ["\"blind\""] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string-with-escaped-single-quote.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string-with-escaped-single-quote.yaml new file mode 100644 index 0000000..4c2b005 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string-with-escaped-single-quote.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three 'bl\'nd' mice +expected: |- + ["bl'nd"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string.yaml new file mode 100644 index 0000000..6c8f465 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-single-quoted-string.yaml @@ -0,0 +1,4 @@ +expression: three {string} mice +text: three 'blind' mice +expected: |- + ["blind"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-word.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-word.yaml new file mode 100644 index 0000000..358fd3a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/matches-word.yaml @@ -0,0 +1,4 @@ +expression: three {word} mice +text: three blind mice +expected: |- + ["blind"] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/expression/throws-unknown-parameter-type.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/expression/throws-unknown-parameter-type.yaml new file mode 100644 index 0000000..384e3a4 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/expression/throws-unknown-parameter-type.yaml @@ -0,0 +1,10 @@ +expression: |- + {unknown} +text: something +exception: |- + This Cucumber Expression has a problem at column 1: + + {unknown} + ^-------^ + Undefined parameter type 'unknown'. + Please register a ParameterType for 'unknown' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/alternation-with-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/alternation-with-optional.yaml new file mode 100644 index 0000000..73787b2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/alternation-with-optional.yaml @@ -0,0 +1,2 @@ +expression: "a/b(c)" +expected: ^(?:a|b(?:c)?)$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/alternation.yaml new file mode 100644 index 0000000..1dc293f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/alternation.yaml @@ -0,0 +1,2 @@ +expression: "a/b c/d/e" +expected: ^(?:a|b) (?:c|d|e)$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/empty.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/empty.yaml new file mode 100644 index 0000000..bb9a819 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/empty.yaml @@ -0,0 +1,2 @@ +expression: "" +expected: ^$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/escape-regex-characters.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/escape-regex-characters.yaml new file mode 100644 index 0000000..c8ea8c5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/escape-regex-characters.yaml @@ -0,0 +1,2 @@ +expression: '^$[]\(\){}\\.|?*+' +expected: ^\^\$\[\]\(\)(.*)\\\.\|\?\*\+$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/optional.yaml new file mode 100644 index 0000000..7d6d84c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/optional.yaml @@ -0,0 +1,2 @@ +expression: "(a)" +expected: ^(?:a)?$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/parameter.yaml new file mode 100644 index 0000000..f793b21 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/parameter.yaml @@ -0,0 +1,2 @@ +expression: "{int}" +expected: ^((?:-?\d+)|(?:\d+))$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/text.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/text.yaml new file mode 100644 index 0000000..2af3e41 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/text.yaml @@ -0,0 +1,2 @@ +expression: "a" +expected: ^a$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/regex/unicode.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/regex/unicode.yaml new file mode 100644 index 0000000..f93fe35 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/regex/unicode.yaml @@ -0,0 +1,2 @@ +expression: "Привет, Мир(ы)!" +expected: ^Привет, Мир(?:ы)?!$ diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/alternation-phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/alternation-phrase.yaml new file mode 100644 index 0000000..48b107f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/alternation-phrase.yaml @@ -0,0 +1,13 @@ +expression: three blind/cripple mice +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 5, "text": "three"}, + {"type": "WHITE_SPACE", "start": 5, "end": 6, "text": " "}, + {"type": "TEXT", "start": 6, "end": 11, "text": "blind"}, + {"type": "ALTERNATION", "start": 11, "end": 12, "text": "/"}, + {"type": "TEXT", "start": 12, "end": 19, "text": "cripple"}, + {"type": "WHITE_SPACE", "start": 19, "end": 20, "text": " "}, + {"type": "TEXT", "start": 20, "end": 24, "text": "mice"}, + {"type": "END_OF_LINE", "start": 24, "end": 24, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/alternation.yaml new file mode 100644 index 0000000..a4920f2 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/alternation.yaml @@ -0,0 +1,9 @@ +expression: blind/cripple +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 5, "text": "blind"}, + {"type": "ALTERNATION", "start": 5, "end": 6, "text": "/"}, + {"type": "TEXT", "start": 6, "end": 13, "text": "cripple"}, + {"type": "END_OF_LINE", "start": 13, "end": 13, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/empty-string.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/empty-string.yaml new file mode 100644 index 0000000..501f752 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/empty-string.yaml @@ -0,0 +1,6 @@ +expression: "" +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "END_OF_LINE", "start": 0, "end": 0, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escape-non-reserved-character.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escape-non-reserved-character.yaml new file mode 100644 index 0000000..5e206be --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escape-non-reserved-character.yaml @@ -0,0 +1,8 @@ +expression: \[ +exception: |- + This Cucumber Expression has a problem at column 2: + + \[ + ^ + Only the characters '{', '}', '(', ')', '\', '/' and whitespace can be escaped. + If you did mean to use an '\' you can use '\\' to escape it diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-alternation.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-alternation.yaml new file mode 100644 index 0000000..7e21f7a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-alternation.yaml @@ -0,0 +1,9 @@ +expression: blind\ and\ famished\/cripple mice +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 29, "text": "blind and famished/cripple"}, + {"type": "WHITE_SPACE", "start": 29, "end": 30, "text": " "}, + {"type": "TEXT", "start": 30, "end": 34, "text": "mice"}, + {"type": "END_OF_LINE", "start": 34, "end": 34, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-char-has-start-index-of-text-token.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-char-has-start-index-of-text-token.yaml new file mode 100644 index 0000000..6375ad5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-char-has-start-index-of-text-token.yaml @@ -0,0 +1,9 @@ +expression: ' \/ ' +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "WHITE_SPACE", "start": 0, "end": 1, "text": " "}, + {"type": "TEXT", "start": 1, "end": 3, "text": "/"}, + {"type": "WHITE_SPACE", "start": 3, "end": 4, "text": " "}, + {"type": "END_OF_LINE", "start": 4, "end": 4, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-end-of-line.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-end-of-line.yaml new file mode 100644 index 0000000..a1bd00f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-end-of-line.yaml @@ -0,0 +1,8 @@ +expression: \ +exception: |- + This Cucumber Expression has a problem at column 1: + + \ + ^ + The end of line can not be escaped. + You can use '\\' to escape the the '\' diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-optional.yaml new file mode 100644 index 0000000..2b365b5 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-optional.yaml @@ -0,0 +1,7 @@ +expression: \(blind\) +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 9, "text": "(blind)"}, + {"type": "END_OF_LINE", "start": 9, "end": 9, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-parameter.yaml new file mode 100644 index 0000000..2cdac4f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-parameter.yaml @@ -0,0 +1,7 @@ +expression: \{string\} +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 10, "text": "{string}"}, + {"type": "END_OF_LINE", "start": 10, "end": 10, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-space.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-space.yaml new file mode 100644 index 0000000..912827a --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/escaped-space.yaml @@ -0,0 +1,7 @@ +expression: '\ ' +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 2, "text": " "}, + {"type": "END_OF_LINE", "start": 2, "end": 2, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/optional-phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/optional-phrase.yaml new file mode 100644 index 0000000..2ddc6bb --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/optional-phrase.yaml @@ -0,0 +1,13 @@ +expression: three (blind) mice +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 5, "text": "three"}, + {"type": "WHITE_SPACE", "start": 5, "end": 6, "text": " "}, + {"type": "BEGIN_OPTIONAL", "start": 6, "end": 7, "text": "("}, + {"type": "TEXT", "start": 7, "end": 12, "text": "blind"}, + {"type": "END_OPTIONAL", "start": 12, "end": 13, "text": ")"}, + {"type": "WHITE_SPACE", "start": 13, "end": 14, "text": " "}, + {"type": "TEXT", "start": 14, "end": 18, "text": "mice"}, + {"type": "END_OF_LINE", "start": 18, "end": 18, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/optional.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/optional.yaml new file mode 100644 index 0000000..35b1474 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/optional.yaml @@ -0,0 +1,9 @@ +expression: (blind) +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "BEGIN_OPTIONAL", "start": 0, "end": 1, "text": "("}, + {"type": "TEXT", "start": 1, "end": 6, "text": "blind"}, + {"type": "END_OPTIONAL", "start": 6, "end": 7, "text": ")"}, + {"type": "END_OF_LINE", "start": 7, "end": 7, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/parameter-phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/parameter-phrase.yaml new file mode 100644 index 0000000..5e98055 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/parameter-phrase.yaml @@ -0,0 +1,13 @@ +expression: three {string} mice +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 5, "text": "three"}, + {"type": "WHITE_SPACE", "start": 5, "end": 6, "text": " "}, + {"type": "BEGIN_PARAMETER", "start": 6, "end": 7, "text": "{"}, + {"type": "TEXT", "start": 7, "end": 13, "text": "string"}, + {"type": "END_PARAMETER", "start": 13, "end": 14, "text": "}"}, + {"type": "WHITE_SPACE", "start": 14, "end": 15, "text": " "}, + {"type": "TEXT", "start": 15, "end": 19, "text": "mice"}, + {"type": "END_OF_LINE", "start": 19, "end": 19, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/parameter.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/parameter.yaml new file mode 100644 index 0000000..460363c --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/parameter.yaml @@ -0,0 +1,9 @@ +expression: "{string}" +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "BEGIN_PARAMETER", "start": 0, "end": 1, "text": "{"}, + {"type": "TEXT", "start": 1, "end": 7, "text": "string"}, + {"type": "END_PARAMETER", "start": 7, "end": 8, "text": "}"}, + {"type": "END_OF_LINE", "start": 8, "end": 8, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/testdata/tokens/phrase.yaml b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/phrase.yaml new file mode 100644 index 0000000..e2cfccf --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/testdata/tokens/phrase.yaml @@ -0,0 +1,11 @@ +expression: three blind mice +expected: |- + [ + {"type": "START_OF_LINE", "start": 0, "end": 0, "text": ""}, + {"type": "TEXT", "start": 0, "end": 5, "text": "three"}, + {"type": "WHITE_SPACE", "start": 5, "end": 6, "text": " "}, + {"type": "TEXT", "start": 6, "end": 11, "text": "blind"}, + {"type": "WHITE_SPACE", "start": 11, "end": 12, "text": " "}, + {"type": "TEXT", "start": 12, "end": 16, "text": "mice"}, + {"type": "END_OF_LINE", "start": 16, "end": 16, "text": ""} + ] diff --git a/node_modules/@cucumber/cucumber-expressions/tsconfig.build.json b/node_modules/@cucumber/cucumber-expressions/tsconfig.build.json new file mode 100644 index 0000000..98f530f --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/tsconfig.build.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist" + }, + "include": [ + "package.json", + "src", + "test" + ] +} diff --git a/node_modules/@cucumber/cucumber-expressions/tsconfig.json b/node_modules/@cucumber/cucumber-expressions/tsconfig.json new file mode 100644 index 0000000..4082f16 --- /dev/null +++ b/node_modules/@cucumber/cucumber-expressions/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/node_modules/@cucumber/cucumber/CHANGELOG.md b/node_modules/@cucumber/cucumber/CHANGELOG.md new file mode 100644 index 0000000..f827f56 --- /dev/null +++ b/node_modules/@cucumber/cucumber/CHANGELOG.md @@ -0,0 +1,1874 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/) +and this project adheres to [Semantic Versioning](http://semver.org/). + +Please see [CONTRIBUTING.md](https://github.com/cucumber/cucumber/blob/master/CONTRIBUTING.md) on how to contribute to Cucumber. + +---- +## [Unreleased] (In Git) + +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + +## [7.2.0] (2021-04-20) + +### Added + +* Experimental support for native ES modules via the [`--esm` flag](./docs/cli.md#es-modules-experimental-nodejs-12) ([#1589](https://github.com/cucumber/cucumber-js/pull/1589)) + +## [7.1.0] (2021-04-06) + +### Added + +- Support attachments that are already base64-encoded via a prefix on the MIME type e.g. `this.attach(base64String, 'base64:image/png')` ([#1552](https://github.com/cucumber/cucumber-js/pull/1552)) +- Support tagged rules ([cucumber#1123](https://github.com/cucumber/cucumber/issues/1123)) + +### Fixed + +* Fix types for hook functions so they can return e.g. `'skipped'` ([#1542](https://github.com/cucumber/cucumber-js/pull/1542)) +* Display the response of the reports server when an error is returned before failing. ([#1608](https://github.com/cucumber/cucumber-js/pull/1608)) +* Remove unnecessary implicit dependency on `long` package ([cucumber#1313](https://github.com/cucumber/cucumber/pull/1313)) +* Remove unnecessary transitive dependencies on `react` etc ([cucumber#1308](https://github.com/cucumber/cucumber/pull/1308)) + +## [7.0.0] (2020-12-21) + +### Added + +* Add a built in `html` formatter for rich HTML reports output as a standalone page ([#1432](https://github.com/cucumber/cucumber-js/pull/1432)) +* Add support for `BeforeStep` and `AfterStep` hooks ([#1416](https://github.com/cucumber/cucumber-js/pull/1416)) +* Custom formatters can now be resolved by a module name (as well as by a relative path), enabling use of Yarn PnP ([#1413](https://github.com/cucumber/cucumber-js/pull/1413)) + +### Removed + +* Support for running Cucumber in web browsers has been removed ([#1508](https://github.com/cucumber/cucumber-js/pull/1508)). This feature was increasingly difficult to support and seldom used. Node.js will now be the only support runtime for Cucumber itself; of course as before you can still use tools like WebDriver and Puppeteer to instrument testing of browser-based software. See [the discussion in #1437](https://github.com/cucumber/cucumber-js/issues/1437) for more about why this change is happening. + +### Fixed + +* Wrong version in meta message [#1439](https://github.com/cucumber/cucumber-js/issues/1439) [#1442](https://github.com/cucumber/cucumber-js/pull/1442) + +## [7.0.0-rc.0] (2020-09-14) + +See the [migration guide](./docs/migration.md) for details of how to migrate from 6.x.x. + +### New Features + +* Add `--publish` option to publish reports to [reports.cucumber.io](https://reports.cucumber.io) [#1423](https://github.com/cucumber/cucumber-js/issues/1423), [#1424](https://github.com/cucumber/cucumber-js/pull/1424) +* Add support for Gherkin's [Rule/Example syntax](https://cucumber.io/docs/gherkin/reference/#rule) +* Add `transpose` method to [data table interface](docs/support_files/data_table_interface.md) +* Add `log` function to world, providing a shorthand to log plain text as [attachment(s)](docs/support_files/attachments.md) +* Now includes [TypeScript](https://www.typescriptlang.org/) type definitions, deprecating the need for `@types/cucumber` in TypeScript projects + +### Breaking changes + +* The npm module has changed name from `cucumber` to `@cucumber/cucumber` - `require`/`import` statements must be changed from `cucumber` to `@cucumber/cucumber` +* TypeScript users must rename `TableDefinition` to `DataTable` +* Drop support for Node.js 8, add support for Node.js 14 +* Formatters + * Events are now based on [cucumber-messages](https://github.com/cucumber/cucumber/tree/master/messages) + * `event-protocol` formatter has been removed and replaced with `message` +* Remove long-deprecated `typeName` from options object for `defineParameterType` in favour of `name` +* Parallel runtime environment variables renamed for inclusivity: + * `CUCUMBER_TOTAL_SLAVES` is now `CUCUMBER_TOTAL_WORKERS` + * `CUCUMBER_SLAVE_ID` is now `CUCUMBER_WORKER_ID` +* Custom formatters are now loaded via the regular require paths relative to the current directory, unless it begins with a dot (e.g. `--format=./relpath/to/formatter`). Previously this was always loaded as a file relative to the current directory. + +### Deprecations + +* `json` formatter is deprecated and will be removed in next major release. Custom formatters should migrate to use the `message` formatter, or the [standalone JSON formatter](https://github.com/cucumber/cucumber/tree/master/json-formatter) as a stopgap. + +### Bug fixes + +* don't execute BeforeAll and AfterAll hooks when in dry-run +* support correct case for `--retry-tag-filter` CLI argument + +## [6.0.5] (2019-11-13) + +### Bug fixes + +* json formatter: fix duration to be nanoseconds (was femtoseconds) + +## [6.0.4] (2019-11-10) + +### Bug fixes + +* retry: create a new World instance for every attempt + +## [6.0.3] (2019-10-27) + +* Revert JSON formatter changes to be backward compatible + +## [6.0.2] (2019-10-07) + +* Upgrade to cucumber-expressions 8.0.1 to fix failure on multiple installs + +## [6.0.1] (2019-10-06) + +* Release to fix missing lib + +## [6.0.0] (2019-10-06) + +### BREAKING CHANGES + +* Drop support for Node.js 6 +* JSON formatter has major breaking changes. View some sample outputs [here](/features/fixtures/formatters/). The `*.json.js` files contain the js objects the json parses to. (UPDATE - reverted in 6.0.3) +* Duration is now in nanoseconds in event-protocol formatter and in events sent to custom formatters +* Custom formatters: Formatter helpers and EventDataCollector had breaking changes to support retry + +### Bug fixes + +* Prevent after hooks from updating skipped scenarios to passed +* Parallel: beforeAll / afterAll errors fail the suite +* Fix CLI help link + +### New features + +* Add ability to retry flaky tests + * Use `--retry ` and limit what tests will be retried with `--retryTagFilter ` + * Event-protocol added an `attemptNumber` to test case started, test case finished, and all test step events and a `retried` boolean to the test case result to signify if the test case was retried +* usage-json formatter: add code and patternType +* Add support for Node.js 12 + +## [5.1.0] (2018-12-28) + +### Internals + +* Upgrade to babel 7 + +## [5.0.3] (2018-12-03) + +### Speed Improvements + +* Only create Cucumber Expressions once + +## [5.0.2] (2018-10-06) + +### Bug Fixes + +* Update default of formatters' colors enabled to be true only if the stream is a TTY +* Allow writing to stdout when running in parallel +* Skip other before hooks if one returns skipped + +## [5.0.1] (2018-04-09) + +### Bug Fixes + +* Update dependencies to avoid licensing problems + +## [5.0.0] (2018-04-09) + +### BREAKING CHANGES + +* Drop support for Node.js 4 + +### Bug Fixes + +* Update dependencies to avoid licensing problems +* Provide better error message when trying to attach data after the scenario has finished. This is possible if not waiting for the attach to finish. + +### New features + +* Add support for Node.js 10 + +## [4.2.1] (2018-04-09) + +### Bug Fixes + +* improve the error message for gherkin parse errors + +## [4.2.0] (2018-04-03) + +* add cli option `--order ` to run scenarios in the specified order. Type should be `defined` or `random` + +## [4.1.0] (2018-03-27) + +### New Features + +* update step timeout error message for each interface ([#1028](https://github.com/cucumber/cucumber-js/pull/1028), Bruce Lindsay) +* default to synchronous snippets +* print text step attachments ([#1041](https://github.com/cucumber/cucumber-js/pull/1041), DevSide) + +### Bug Fixes + +* cucumber-expressions: Upgrade from 5.0.7 to [5.0.13](https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/CHANGELOG.md#5013---2018-01-21) +* fix error serialization in parallel mode + +## [4.0.0] (2018-01-24) + +### BREAKING CHANGES + +* cucumber now waits for the event loop to drain before exiting. To exit immediately when the tests finish running use `--exit`. Use of this flag is discouraged. See [here](/docs/cli.md#exiting) for more information +* remove `--compiler` option. See [here](/docs/cli.md#transpilers) for the new way to use transpilers +* remove binaries `cucumber.js` and `cucumberjs`. Use `cucumber-js` + +### New Features + +* can now use glob patterns for selecting what features to run +* update `--require` to support glob patterns +* add `--require-module ` to require node modules before support code is loaded +* add snippet interface "async-await" +* add `--parallel ` option to run tests in parallel. Note this is an experimental feature. See [here](/docs/cli.md#parallel-experimental) for more information + +### Bug Fixes + +* revert json formatter duration to nanoseconds + +### Deprecations + +* `defineSupportCode` is deprecated. Require/import the individual methods instead + ```js + var {defineSupportCode} = require('cucumber'); + + defineSupportCode(function({Given}) { + Given(/^a step$/, function() {}); + }); + + // Should be updated to + + var {Given} = require('cucumber'); + + Given(/^a step$/, function() {}); + ``` + +## [3.2.1] (2018-01-03) + +### Bug Fixes +* revert json formatter mime type ([#995](https://github.com/cucumber/cucumber-js/pull/995) + +## [3.2.0] (2017-12-08) + +### New Features +* add exception to `test-case-finished` event ([#952](https://github.com/cucumber/cucumber-js/pull/952) Giuseppe DiBella) +* compiler option - allow `:` in module name to support specifying an absolute path on Windows ([#958](https://github.com/cucumber/cucumber-js/pull/958) Darrin Holst) +* json formatter: format step result exception ([#973](https://github.com/cucumber/cucumber-js/pull/973) Valerio Innocenti Sedili) + +### Bug Fixes +* cucumber-expressions: Upgrade from 5.0.3 to [5.0.6](https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/CHANGELOG.md#506---2017-11-28) +* tag-expressions: Upgrade from 1.0.1 to [1.1.1](https://github.com/cucumber/cucumber/blob/master/tag-expressions/CHANGELOG.md#111---2017-12-01) + +## [3.1.0] (2017-10-25) + +### New Features +* add `--language` cli option to provide the default language for feature files + +### Bug Fixes +* pickle filter: support relative paths ([#962](https://github.com/cucumber/cucumber-js/pull/962) Marco Muller) + +## [3.0.6] (2017-10-18) + +* cli: fix `--format` option parsing on Windows ([#954](https://github.com/cucumber/cucumber-js/pull/954) Darrin Holst) + +## [3.0.5] (2017-10-14) + +### New Features + +* `defineParameterType`: The `transformer` function's `this` object is now the current World (as long as it's not an arrow function). ([#948](https://github.com/cucumber/cucumber-js/pull/948) Aslak Hellesøy) +* `Before` / `After`: The first argument now includes a `pickle` property which can +be used to get the name / tags of the running scenario. ([#947](https://github.com/cucumber/cucumber-js/pull/947) Giuseppe DiBella) + +## [3.0.4] (2017-10-04) + +### New Features + +* cli: make `--tags` option repeatable (joined with `and`) ([#940](https://github.com/cucumber/cucumber-js/issues/940), Ilya Kozhevnikov) +* rerun formatter: make separator configurable. See docs [here](https://github.com/cucumber/cucumber-js/blob/fb9e8fc2e68d4395b9b0a124d18e036d00a8c69f/docs/cli.md) ([#930](https://github.com/cucumber/cucumber-js/issues/930), Máté Karácsony) + +## [3.0.3] (2017-09-23) + +### New Features + +* support to imperatively skip steps. See documentation [here](/docs/support_files/step_definitions.md#skipped-steps) ([#912](https://github.com/cucumber/cucumber-js/issues/912), jshifflet) + +## [3.0.2] (2017-09-13) + +### New Features + +* `defineParameterType`: new options `useForSnippets` and `preferForRegexpMatch`. Please see documentation for usage. + +### Bug Fixes + +* fix `usage` and `usage-json` formatters when there are undefined steps + +### Deprecations + +* `defineParameterType`: `typeName` option is deprecated in favor of `name` + +## [3.0.1] (2017-08-28) + +### Bug Fixes + +* JSON formatter: add type to scenario ([#893](https://github.com/cucumber/cucumber-js/issues/893), szymonprz) +* BeforeAll/AfterAll hooks: fix timeout support ([#899](https://github.com/cucumber/cucumber-js/issues/899)) +* format output paths: allow absolute paths ([#906](https://github.com/cucumber/cucumber-js/issues/906), Darrin Holst) +* Before/After: fix undefined hook parameter ([#919](https://github.com/cucumber/cucumber-js/issues/919)) + +### Documentation + +* update nodejs example +([#898](https://github.com/cucumber/cucumber-js/issues/898), João Guilherme Farias Duda) +* fix typo and make punctuation consistent +([#909](https://github.com/cucumber/cucumber-js/issues/909), Dmitry Shirokov) +* normalize CHANGELOG +([#915](https://github.com/cucumber/cucumber-js/issues/915), Jayson Smith) + +## [3.0.0] (2017-08-08) + +### BREAKING CHANGES + +* `pretty` formatter has been removed. All errors are now reported in a `pretty` format instead. The `progress` formatter is now the default. +* Major changes to [custom formatter](/docs/custom_formatters.md) and [custom snippet syntax](/docs/custom_snippet_syntaxes.md) APIs due to rewrite in support of the event protocol. Please see the updated documentation. +* Remove `registerHandler` and `registerListener`. Use `BeforeAll` / `AfterAll` for setup code. Use the event protocol formatter if used for reporting. Please open an issue if you have another use case. +* Remove deprecated `addTransform`. Use `defineParameterType` instead. +* `cucumber-expressions`: + * using an undefined parameter type now results in an error + * `{stringInDoubleQuotes}` is now `{string}` which works for strings in single or double quotes +* Undefined steps fail the build in non-strict mode. Non-strict mode only allows pending steps now. + +### New Features + +* Add `--i18n-languages` and `--i18n-keywords ` CLI options +* Add `BeforeAll` / `AfterAll` hooks for suite level setup / teardown +* Add event protocol formatter +* `cucumber-expressions`: + * Add built in `{word}` parameter type which is equivalent to `[A-Za-z0-9_]+` + * Allow multiple parameter types to use the same regular expression +* Improve error message when using multiple asynchronous interfaces + +### Bug Fixes + +* Fix support code line and uri references when using direct imports + +## [2.3.1] (2017-06-09) + +### New Features + +* pass step specific options to definition function wrapper ([#838](https://github.com/cucumber/cucumber-js/issues/838), Łukasz Gandecki) + +## [2.3.0] (2017-06-01) + +### New Features + +* Add support code aliases for every method in the [support code API](./docs/support_files/api_reference.md). The following are now equivalent: + ```javascript + // Using defineSupportCode + var {defineSupportCode} = require('cucumber'); + + defineSupportCode(function({Given}) { + Given(/^a step$/, function() {}); + }); + + // Using aliases + var {Given} = require('cucumber'); + + Given(/^a step$/, function() {}); + ``` + (Nico Jansen and Łukasz Gandecki) + +## [2.2.0] (2017-05-20) + +### New Features + +* Add `progress-bar` formatter inspired by [fuubar-cucumber]( https://github.com/martinciu/fuubar-cucumber) and [fuubar](https://github.com/thekompanee/fuubar) which outputs a progress bar and errors as they happen + +## [2.1.0](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.9...v2.1.0) (2017-05-12) + +### Bug Fixes + +* throw descriptive error message when running a global install + +## [1.3.3] (2016-04-26) + +### Bug Fixes + +* fix unhandled rejections in handlers ([#792](https://github.com/cucumber/cucumber-js/issues/792), yaronassa) + +## [1.3.2] (2016-03-20) + +### Bug Fixes + +* dependency: fix use of gherkin to not rely on removed field + +## [2.0.0-rc.9](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.8...v2.0.0-rc.9) (2017-03-16) + +### Bug Fixes + +* dependency: fix use of gherkin to not rely on removed field + +## [2.0.0-rc.8](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.7...v2.0.0-rc.8) (2017-03-10) + +### Bug Fixes + +* generated step definition snippets are not found ([#732](https://github.com/cucumber/cucumber-js/issues/732), Aslak Hellesøy) +* catch attempt to define duplicate parameter type regular expression ([#780](https://github.com/cucumber/cucumber-js/issues/780), Aslak Hellesøy) +* catch errors in parameter type transform functions (Aslak Hellesøy) + +### New Features + +* all async parameter type transform functions (Aslak Hellesøy) +* make all formatters available when requiring + +### Deprecations + +* `addTransform` was deprecated in favor of `defineParameterType` + +### Documentation + +* normalize syntax highlighting ([#726](https://github.com/cucumber/cucumber-js/issues/726), Martin Delille) +* fix setWorldConstructor example + +## [2.0.0-rc.7](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.6...v2.0.0-rc.7) (2017-01-30) + +### Bug Fixes + +* fix after hook run order ([#743](https://github.com/cucumber/cucumber-js/issues/743)) + +### Documentation + +* normalize syntax highlighting ([#726](https://github.com/cucumber/cucumber-js/issues/726), (Martin Delille) +* fix addTransform parameter name ([#738](https://github.com/cucumber/cucumber-js/issues/738)) + +## [2.0.0-rc.6](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.5...v2.0.0-rc.6) (2017-01-06) + +### New Features + +* usage and usage-json formatters +* update error reporting for `registerHandler` errors +* add ability to disable timeout + +### Bug Fixes + +* update snippets to new support code interface + +## [2.0.0-rc.5](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.4...v2.0.0-rc.5) (2016-12-22) + +### Breaking Changes + +* Drop support for Node 0.12 +* format assertion errors to display diffs + +### Documentation + +* fix CLI format-options name ([#703](https://github.com/cucumber/cucumber-js/issues/703), Florian Ribon) +* add link on README.md to custom formatters documentation + +## [2.0.0-rc.4](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.3...v2.0.0-rc.4) (2016-12-19) + +### Breaking Changes + +* update support code library interface - instead of exporting a function and calling methods on `this`, require the `cucumber` module and call `defineSupportCode` which passes an object as the first argument whch exposes the methods. Overriding the world constructor has changed from overriding the World property to calling `setWorldConstructor`. + + ```javascript + // 1.3.1 + module.exports = function () { + this.Given(/^a step$/, function() {}); + this.World = CustomWorld + }); + + // 2.0.0 + var {defineSupportCode} = require('cucumber'); + + defineSupportCode(function({Given, setWorldConstructor}) { + Given(/^a step$/, function() {}); + setWorldConstructor(CustomWorld); + }); + ``` + +## [2.0.0-rc.3](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.2...v2.0.0-rc.3) (2016-12-19) + +### Breaking Changes + +* make strict the default + * previously pending and undefined steps did not cause an exit code of 1. This could be overridden with `--strict`. Strict is now the default and you can use `--no-strict` to return to the previous behavior. +* update automatically required files + * if the features live in a `features` directory at any level, all support files in the `features` directory are loaded. + +### Bug Fixes + +* prevent crash on empty feature file + +### New Features + +* validate argument types + +### Documentation + +* docs: fix tag expression migration guide ([#691](https://github.com/cucumber/cucumber-js/issues/691), Aslak Hellesøy) + +## [2.0.0-rc.2](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2016-12-04) + +### Breaking Changes + +* pass `attach` to world constructor instead of assigning it to world + * the world constructor now receives `{attach, parameters}` as the first argument instead of `parameters` + +### New Features + +* json formatter: add `isBackground` to steps + +### Bug Fixes + +* clear timeouts of asynchronous hooks/steps +* stop running features with no scenarios + +### Documentation + +* update node js example + +## [2.0.0-rc.1](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.0...v2.0.0-rc.1) (2016-11-25) + +### Bug Fixes + +* fix browser version + +## [2.0.0-rc.0](https://github.com/cucumber/cucumber-js/compare/v1.3.1...v2.0.0-rc.0) (2016-11-25) + +### Breaking Changes + +* Dropped support for Node 0.10 +* CLI + * `--colors / --no-colors` has moved to `--format-options '{"colorsEnabled": }'` + * `--require `: the required files are no longer reordered to require anything in a `support` directory first + * `--snippet-interface ` has moved to `--format-options '{"snippetInterface": ""}'` + * `--snippet-syntax ` has moved to `--format-options '{"snippetSyntax": ""}'` + * `--tags ` now uses [cucumber-tag-expressions](https://docs.cucumber.io/tag-expressions/). It is no longer repeatable and new values will override previous + * `--tags @dev` stays the same + * `--tags ~@dev` becomes `--tags 'not @dev'` + * `--tags @foo,@bar` becomes `--tags '@foo or @bar'` + * `--tags @foo --tags @bar` becomes `--tags '@foo and @bar'` +* Internals + * complete rewrite using ES2015 and promises +* JSON Formatter + * String attachments are no longer base64 encoded. Buffer and Stream attachments are still base64 encoded. +* Support Files + * Attachments + * The `attach` function used for adding attachments moved from the API scenario object to world. It is thus now available in step definitions without saving a reference to the scenario. + + ```javascript + // 1.3.0 + this.After(function(scenario, callback) { + scenario.attach(new Buffer([137, 80, 78, 71]), 'image/png') + }); + + // 2.0.0 + this.After(function() { + this.attach(new Buffer([137, 80, 78, 71]), 'image/png'); + }); + ``` + + * When attaching buffers or strings, the callback argument is ignored. + * Hooks + * Hooks now receive a [ScenarioResult](/src/models/scenario_result.js) instead of the Scenario + + ```javascript + // 1.3.0 + this.After(function(scenario) {}); + + // 2.0.0 + this.After(function(scenarioResult) {}); + ``` + + * The `tags` option for hook should now be a string instead of an array and uses [cucumber-tag-expressions](https://docs.cucumber.io/tag-expressions/) + + ```javascript + // 1.3.0 + this.Before({tags: ["@foo"]}, function (scenario) {}) + this.Before({tags: ["@foo,@bar"]}, function (scenario) {}) + this.Before({tags: ["@foo", "@bar"]}, function (scenario) {}) + + // 2.0.0 + this.Before({tags: "@foo"}, function (scenario) {}) + this.Before({tags: "@foo and @bar"}, function (scenario) {}) + this.Before({tags: "@foo or @bar"}, function (scenario) {}) + ``` + + * Step Definitions + * String patterns were removed in favor [cucumber-expressions](https://docs.cucumber.io/cucumber-expressions/) + * Regular Expressions + * capture groups matching `(-?\d+)` will be automatically converted to an integer using `parseInt` + * capture groups matching `(-?\d*\.?\d+)` will be automatically converted to a float using `parseFloat` + * Generator functions are no longer automatically run with `co`. To retain the previous functionality, use [this.setDefinitionFunctionWrapper](/docs/support_files/step_definitions.md#definition-function-wrapper) + * Event Handlers + * Objects no longer have `get*` methods and instead have exposed properties + * For example: `scenario.getName()` is now just `scenario.name` + * `StepResult` duration is now in milliseconds instead of nanoseconds + +### Bug Fixes + +* remove empty lines from `@rerun` files ([#660](https://github.com/cucumber/cucumber-js/issues/660), Cody Ray Hoeft) +* catch uncaught errors in the browser (Charlie Rudolph) + +### New Features + +* Support Files + * Attachments: + * When attaching a stream, the interface can either accept a callback as a third argument or will return a promise if not passed a callback + * Step Definitions + * Ability to add custom argument transformations +* Fail fast / rerun formatter + * When used together rerun formatter will output all skipped scenarios that didn't run due to a failure + +### Documentation + +* fix typo ([#659](https://github.com/cucumber/cucumber-js/issues/659), gforceg) +* update support files api reference ([#661](https://github.com/cucumber/cucumber-js/issues/661), Zearin) + +## [1.3.1] (2016-09-30) + +### Bug Fixes + +* pass formatter options to listener ([#641](https://github.com/cucumber/cucumber-js/issues/641), Charlie Rudolph) +* rerun formatter: output any scenario that doesn't pass (Charlie Rudolph) +* populate scenario definition ([#647](https://github.com/cucumber/cucumber-js/issues/647), Charlie Rudolph) +* handle empty stacktraces ([#605](https://github.com/cucumber/cucumber-js/issues/605), Hugues Malphettes) +* use cross-platform symbols ([#635](https://github.com/cucumber/cucumber-js/issues/635), Kevin Goslar) + +### Documentation + +* fix node.js example ([#637](https://github.com/cucumber/cucumber-js/issues/637), Jonathan Gomez) +* fix links in event_handlers.md ([#638](https://github.com/cucumber/cucumber-js/issues/638), Oliver Rogers) +* fix hooks example ([#644](https://github.com/cucumber/cucumber-js/issues/644), John McLaughlin) + +## [1.3.0] (2016-09-08) + +### New Features + +* add `--snippet-interface ` CLI option (Charlie Rudolph) +* add `--world-parameters ` CLI option (Charlie Rudolph) +* add snippets formatter (Charlie Rudolph) +* add support for ES6 default module syntax (dbillingham) +* pretty formatter: add symbols (Charlie Rudolph) +* add simplified hook parameters (Charlie Rudolph) + +### Bug Fixes + +* step definition snippets internationalization (Charlie Rudolph) + +### Documentation + +* document order of execution for multiple hooks (John McLaughlin) +* breakup README.md, organize docs (Charlie Rudolph) + +## [1.2.2] (2016-08-05) + +### Bug Fixes + +* Fix error when stack trace has no frames ([#610](https://github.com/cucumber/cucumber-js/issues/610), Jan Molak) + +## [1.2.1] (2016-07-01) + +### Bug Fixes + +* Fix hook / step definition location and stacktraces in the browser ([#567](https://github.com/cucumber/cucumber-js/issues/567), [#538](https://github.com/cucumber/cucumber-js/issues/538), Charlie Rudolph) + +## [1.2.0] (2016-06-24) + +### Bug Fixes + +* Attachments + * Remove intermediate conversion to string (Charlie Rudolph) + * Use native base64 encoding which can encode binary ([#589](https://github.com/cucumber/cucumber-js/issues/589), Benjamín Eidelman) + +## [1.1.0] (2016-06-23) + +### New Features + +* Add full support to `registerHandler` (Charlie Rudolph) + * Can now use all supported functions interfaces (synchronous, callback, promise, generators) + * Will throw any error received and immediately kill the test suite + * Supports handler specific timeouts + * Updated documentation + +### Bug Fixes + +* CLI format: support absolute path on windows (Charlie Rudolph) +* Fix typo in event name. ([#590](https://github.com/cucumber/cucumber-js/issues/590), Artur Pomadowski) +* Don't run hooks in dry run mode (Charlie Rudolph) + +## [1.0.0] (2016-05-30) + +### Bug Fixes + +* Escape all instances of special characters in example / data table (Charlie Rudolph) + +## [0.10.4] (2016-05-30) + +### New Features + +* Allow time to be faked by utilities such as `sinon.useFakeTimers` (John McLaughlin) + +## [0.10.3] (2016-05-19) + +### Bug Fixes + +* Escape newlines in table cells in pretty formatter (Julien Biezemans) +* Fix handling of unusual error objects (efokschaner) + +## [0.10.2] (2016-04-07) + +### New Features + +* Add match location to JSON formatter output (Charlie Rudolph) + +### Bug Fixes + +* Undefined background step (Scott Deakin) + +## [0.10.1] (2016-04-01) + +### New Features + +* Support generators for hooks/step definitions (Ádám Gólya) + +## [0.10.0] (2016-04-01) + +### Breaking changes + +* removed around hooks (Charlie Rudolph) + * how to update: use separate before and after hooks. If this is not sufficient, please create an issue. + +* updated pending step interface (Charlie Rudolph) + * how to update: change `callback.pending()` to `callback(null, 'pending')` or use one of the new pending step interfaces + +* updated tagged hook interface (Charlie Rudolph) + * how to update: + + ```javascript + this.Before('@tagA', function() { ... }) + // becomes + this.Before({tags: ['@tagA']}, function() { ... }) + + this.Before('@tagA', '@tagB,@tagC', function() { ... }) + // becomes + this.Before({tags: ['@tagA', '@tagB,@tagC']}, function() { ... }) + ``` + + +### New Features + +* support hook specific timeouts (Charlie Rudolph) +* reworked formatter error reporting (Charlie Rudolph) + +## [0.9.5] (2016-02-16) + +### Bug Fixes + +* Fix rerun formatter output (Charlie Rudolph) + +### New Features + +* Allow rerun file to be in subfolder (Charlie Rudolph) + +## [0.9.4] (2016-01-28) + +### Bug Fixes + +* Publish release folder to npm (Charlie Rudolph) + +## [0.9.3] (2016-01-27) + +### New Features + +* Run scenario by name (Charlie Rudolph) + +### Bug Fixes + +* Prevent maximum call stack from being exceeded (John Krull) + +### Documentation + +* Add documentation of profiles (Charlie Rudolph) +* README improvements (Miika Hänninen, Kevin Goslar, Maxim Koretskiy) + +## [0.9.2] + +### New Features + +* Bump stack-chain (Rick Lee-Morlang) + +## [0.9.1] + +### New Features + +* Add rerun formatter (Charlie Rudolph) + +### Fixes + +* Add ability to execute scenario outline example (Charlie Rudolph) +* Support tags on scenario outline examples (Charlie Rudolph) + +### Documentation + +* Fix invalid hook documentation (Charlie Rudolph) + +## [0.9.0] + +### Breaking changes + +* catch ambiguous step definitions (Charlie Rudolph) +* remove use of domain (Charlie Rudolph) + +### New Features + +* pretty formatter: source shows step definition location (Charlie Rudolph) +* support node 5 (Charlie Rudolph) + +### Fixes + +* Fix `Api.Scenario#attach` callback handling (Julien Biezemans) + +### Documentation + +* Add async example to README (Artem Bronitsky) +* Document hooks sync/async protocols (Julien Biezemans) +* Remove useless callbacks in documentation (Julien Biezemans) +* Fix browser example (Karine Pires) + +## [v0.8.1] + +### Documentation, internals and tests + +* Update World constructor documentation (Charlie Rudolph) +* Remove badges from README.md (Charlie Rudolph) + +## [v0.8.0] + +### Breaking changes + +* Add strict function length checking to hooks and step definitions (Charlie Rudolph) +* Make World constructors strictly synchronous (Julien Biezemans) + +### New features + +* Add cli option to fail fast (Charlie Rudolph) +* Add cli for specifying multiple formatters (Charlie Rudolph) +* Add support for passing multiple line numbers (Charlie Rudolph) +* Add ability to disable colors (Charlie Rudolph) +* Add support for custom snippet syntaxes (Charlie Rudolph) + +### Changed features + +* Hide errors in pretty formatter summary (Charlie Rudolph) +* Remove unnecessary whitespaces in pretty formatter output (Charlie Rudolph) + +### Fixes + +* Properly ask configurations for strict mode (Julien Biezemans) + +### Documentation, internals and tests + +* Document data table interface (Charlie Rudolph) +* Refactor: statuses (Charlie Rudolph) +* Refactor: cleanup step definitions (Charlie Rudolph) +* Cleanup: remove log to console from listeners (Charlie Rudolph) +* Use svg badges (Charlie Rudolph) +* Rename CONTRIBUTE.md to CONTRIBUTING.md (Julien Biezemans) +* Require maintainers to document API changes in release tag descriptions (Julien Biezemans) +* Add build-release NPM script (Julien Biezemans) + +## [v0.7.0] + +### New features + +* Time out steps that take too long (Charles Rudolph) +* Print execution time (Charles Rudolph) + +### Changed features + +* Remove callback.fail() (Charles Rudolph) +* Update hooks interface (Charles Rudolph) + +### Fixes + +* Don't try to handle empty features (Julien Biezemans) +* Fix unpredictable nopt behavior (Charles Rudolph) +* Fix pretty formatter step indentation after doc string (Charles Rudolph) + +### Documentation, internals and tests + +* Rename Collection functions: forEach/syncForEach -> asyncForEach/forEach (Charles Rudolph) +* Simplify installation instructions (Charles Rudolph) +* Fix spec on Windows (Marcel Hoyer) +* Simplify World examples in README (Charles Rudolph) +* Update license in package.json (Charles Rudolph) +* Convert test framework from jasmine-node to jasmine (Charles Rudolph) +* Separate test output (Charles Rudolph) +* Remove ruby, legacy features, cucumber-tck (Charles Rudolph) + +## [v0.6.0] + +### New features + +* Add --no-source to hide uris (Eddie Loeffen) +* Add dry run capability (Karthik Viswanath) +* Introduce --compiler CLI option (Charles Rudolph) + +### Documentation, internals and tests + +* Stop IRC and email notifications from Travis (Julien Biezemans) +* Remove Node.js 0.11 explicit support (Julien Biezemans) +* Use basic for loop for array iterations (Charles Rudolph) +* Bump browserify (Charles Rudolph) +* Add CLI help for --profile (Charles Rudolph) +* Use colors library (Charles Rudolph) +* Improve --compiler help (Julien Biezemans) +* Fix loading of external compiler modules (Julien Biezemans) +* Document a few common compiler usages (Julien Biezemans) + +## [v0.5.3] + +### New features + +* Add support for profiles (Charles Rudolph) + +### Changed features + +* Allow for multiple instances of placeholder (Charles Rudolph) +* Print relative paths in summary output (Charles Rudolph) + +### Fixes + +* Remove duplicate line number from output (Charles Rudolph) +* Return clone of array from DataTable.Row.raw() (Julien Biezemans) + +### Documentation, internals and tests + +* Update various urls (Dale Gardner) +* Bump CoffeeScript (Julien Biezemans) +* Bump PogoScript (Julien Biezemans) +* Bump underscore (Julien Biezemans) +* Bump underscore.string (Julien Biezemans) +* Bump stack-chain (Julien Biezemans) +* Bump nopt (Julien Biezemans) +* Bump connect (Julien Biezemans) +* Bump exorcist (Julien Biezemans) +* Bump uglifyify (Julien Biezemans) +* Bump through (Julien Biezemans) +* Bump serve-static (Julien Biezemans) +* Bump rimraf (Julien Biezemans) +* Bump mkdirp (Julien Biezemans) +* Bump jshint (Julien Biezemans) +* Remove extra bracket in README example (Julien Biezemans) +* Officially support Node.js 4.x (Julien Biezemans) +* Use a profile for own build (Julien Biezemans) + +## [v0.5.2] + +### New features + +* Add rowsHash method to data tables (Mark Amery) + +### Documentation, internals and tests + +* Remove CLI resource leak timeout (Julien Biezemans) +* Point to cucumber.io instead of cukes.info (Julien Biezemans) +* Fix mixed tabs and spaces (Mark Amery) +* Use hexadecimal values for console colours (Julien Biezemans) +* Update walkdir module to 0.0.10 (Artem Repko) +* Fix ruby tests on Windows (zs-zs) +* Fix npm test to run on Windows (zs-zs) +* Normalize OS-specific path separators in output assertions (zs-zs) +* Relax check for promises in step definitions (zs-zs) +* Add Ast.Feature.getFeatureElements() (Mark Derbecker) +* Add Util.Collection.sort() (Mark Derbecker) +* Add waffle.io badge (Julien Biezemans) + +## [v0.5.1] + +### New features + +* Support placeholders in scenario outlines (chrismilleruk) +* Add failure exception to scenario object (Mateusz Derks) + +### Documentation, internals and tests + +* Fix World example in README (Julien Biezemans) +* Remove moot `version` property from bower.json (Kevin Kirsche) +* Remove obsolete release instruction for bower (Julien Biezemans) +* Add Gitter badge (Julien Biezemans) +* Rephrase spec example (Julien Biezemans) +* Add documentation for attachments (Simon Dean) +* Fix name of Cucumber.Api.Scenario in README (Simon Dean) + +## [v0.5.0] + +### New features + +* Support promises from step definitions (Will Farrell) +* Support synchronous step definitions (Julien Biezemans) + +### Documentation, internals and tests + +* Remove irrelevant feature file (Julien Biezemans) +* Reorganise callback feature (Julien Biezemans) +* Remove unused dependency (Julien Biezemans) +* Document new step definition styles (Julien Biezemans) +* Make step definitions synchronous in example app (Julien Biezemans) + +## [v0.4.9] + +### New features + +* Make pretty formatter the default (Julien Biezemans) +* Filter stack traces (close [#157](https://github.com/cucumber/cucumber-js/issues/157), Julien Biezemans) + +### Documentation, internals and tests + +* Separate source map from bundle (Julien Biezemans) +* Hint (Julien Biezemans) +* Fix misspelling io.js (Sonny Piers) +* Add 0.12 to supported engines in NPM manifest (Julien Biezemans) +* Fix test script to be more portable (Sam Saccone) +* Force Cucumber <2 for now (Julien Biezemans) +* Bump Cucumber gem to 2.0.0 (Julien Biezemans) +* Explicitly require json module in Ruby stepdefs (Julien Biezemans) +* Add CLI help section for --backtrace (Julien Biezemans) + +## [v0.4.8] + +### New features + +* Support IO.js (Sam Saccone) +* Support Node.js 0.12 (Julien Biezemans) + +### Fixes + +* Handle BOM and fix regexp for hyphenated languages ([#144](https://github.com/cucumber/cucumber-js/issues/144), Aslak Hellesøy) +* Fix attachment clean up in hooks ([#282](https://github.com/cucumber/cucumber-js/issues/282), nebehr) + +### Documentation, internals and tests + +* More thorough specs for GherkinLexer. Fix build? (Aslak Hellesøy) +* Add jshintrc (Jesse Harlin) +* Hint lib/ (Julien Biezemans) +* Hint bundler and bin (Julien Biezemans) +* Hint spec/ (Julien Biezemans) +* Be consistent in anonymous function syntax (Julien Biezemans) +* Use named functions for all constructors (Julien Biezemans) +* Indent (Julien Biezemans) +* Add more diagnostics to build (Julien Biezemans) +* Remove unnecessary spaces in shell commands (Julien Biezemans) + +## [v0.4.7] + +### Documentation, internals and tests + +* Do not dispose of step domains (Julien Biezemans) +* Refactor and add debug code (Julien Biezemans) +* Create a single domain per run (Julien Biezemans) +* Add missing AstTreeWalker specs (Julien Biezemans) +* Indent (Julien Biezemans) +* Spec domain enter/exit in AstTreeWalker (Julien Biezemans) + +## [v0.4.6] + +### New features + +* Add --no-snippets flag to CLI (close [#207](https://github.com/cucumber/cucumber-js/issues/207), Krispin Schulz) +* Add strict mode (close [#211](https://github.com/cucumber/cucumber-js/issues/211), Elwyn) +* Add strict mode to volatile configuration (close [#258](https://github.com/cucumber/cucumber-js/issues/258), Jan-Eric Duden) + +### Fixes + +* Fix code loader on windows (close [#226](https://github.com/cucumber/cucumber-js/issues/226), Gary Taylor) + +### Documentation, internals and tests + +* Connect to Rubygems through SSL (Julien Biezemans) +* Use Node domain's enter/exit in stepdefs (Julien Biezemans) +* Do not display snippets in build (Julien Biezemans) +* Asynchronously dispose of step domains (Julien Biezemans) +* Change order of tests in build (Julien Biezemans) +* Fix tests to run on Windows (close [#216](https://github.com/cucumber/cucumber-js/issues/216), kostya.misura) +* Fix registerHandler() example in README (Julien Biezemans) +* Fix typo in variable name (Julien Biezemans) +* Fix World property assignment in README example (Julian) +* Unix EOLs (Julien Biezemans) +* Ignore .ruby-* (Julien Biezemans) + +## [v0.4.5] + +### Documentation, internals and tests + +* Fix issue with npm upgrade on node.js v0.8 (Simon Dean) +* Use Node domain to handle asynchronous exceptions (Julien Biezemans) + +## [v0.4.4] + +### Fixes + +* Allow >1 parameter in string step definitions (Craig Morris) +* Don't skip scenario outlines (close [#245](https://github.com/cucumber/cucumber-js/issues/245), Julien Biezemans) + +### Documentation, internals and tests + +* Bump nopt (Julien Biezemans) +* Bump coffee-script (Julien Biezemans) +* Bump pogo (Julien Biezemans) +* Bump underscore (Julien Biezemans) +* Bump rimraf (Julien Biezemans) +* Bump jasmine-node (Julien Biezemans) +* Bump connect (Julien Biezemans) +* Rewrite bundling system (close [#186](https://github.com/cucumber/cucumber-js/issues/186), Julien Biezemans) +* Rename release script (Julien Biezemans) +* Upgrade NPM on Travis (Julien Biezemans) +* Drop Node 0.6 support (Julien Biezemans) +* Drop Node 0.6 support (manifest) (Julien Biezemans) + +## [v0.4.3] + +### Fixes + +* Scenario outline fixes (Simon Dean) +* Correct the embeddings JSON to match other ports of Cucumber (Simon Dean) + +## [v0.4.2] + +### New features + +* Support attachments (close [#189](https://github.com/cucumber/cucumber-js/issues/189), Julien Biezemans) + +### Documentation, internals and tests + +* Fix world example in main readme (Sam Saccone) +* Update instructings for running tests (Sam Saccone) + +## [v0.4.1] + +### New features + +* Target scenario by line number on CLI (close [#168](https://github.com/cucumber/cucumber-js/issues/168), Simon Lampen) + +### Fixes + +* Ensure no stdout output is lost (Simon Dean) +* Properly tag scenario outlines (close [#195](https://github.com/cucumber/cucumber-js/issues/195), [#197](https://github.com/cucumber/cucumber-js/issues/197), Artur Kania) + +### Documentation, internals and tests + +* Align snippet comment with Cucumber-Ruby/JVM (close [#150](https://github.com/cucumber/cucumber-js/issues/150), Julien Biezemans) +* Update build badge URL on README (Julien Biezemans) +* Add line number pattern to --help on CLI (Julien Biezemans) +* Document AfterFeatures event (close [#171](https://github.com/cucumber/cucumber-js/issues/171), Eddie Loeffen) +* Include 'features' in *Features events payload (Stanley Shyiko) +* Try to fix build on Travis (Julien Biezemans) +* Remove bower as a dev dependency (close [#191](https://github.com/cucumber/cucumber-js/issues/191), Simon Dean) +* Remove obsolete Travis trick for Node 0.8 (Julien Biezemans) +* Remove development status table from README (Julien Biezemans) +* Help the guy produce changelogs (Julien Biezemans) + +## [v0.4.0] + +### New features + +* Add support for scenario outlines and examples (close [#155](https://github.com/cucumber/cucumber-js/issues/155), Ben Van Treese) +* Add i18n support (close [#156](https://github.com/cucumber/cucumber-js/issues/156), Lukas Degener) + +### Changed features + +* Pass scenario to hooks (Marat Dyatko) +* Minor change to stepdef snippets (JS) (Julien Biezemans) +* Make feature id in JSON output replace all spaces (close #[127](https://github.com/cucumber/cucumber-js/issues/127), Tim Perry) +* Bump CoffeeScript (close [#154](https://github.com/cucumber/cucumber-js/issues/154), Gabe Hayes) + +### Documentation, internals and tests + +* Add Hook spec example for single-arg function (close [#143](https://github.com/cucumber/cucumber-js/issues/143), Julien Biezemans) +* Update README with Hook scenario object doc (Julien Biezemans) +* Style (Julien Biezemans) + +## [v0.3.3] + +### New features + +* Output step definition snippets in CoffeeScript (John George Wright) +* Add colors to CLI (Johny Jose) + +### Changed features + +* Add durations to JSON formatter (Simon Dean) + +### Documentation, internals and tests + +* Bump most dependencies (Julien Biezemans) +* DRY (Julien Biezemans) +* Refactor (Julien Biezemans) + +## [v0.3.2] + +### New features + +* Add PogoScript support (Josh Chisholm) +* Add listener and event handler registration (close [#130](https://github.com/cucumber/cucumber-js/issues/130), Paul Shannon) + +### Documentation, internals and tests + +* Added some nice stats (Aslak Hellesøy) +* Fix spelling of "GitHub" (Peter Suschlik) +* Add Code Climate badge to README (Julien Biezemans) +* Update README.md (Sebastian Schürmann) + +## [v0.3.1] + +### New features + +* Add DataTable.rows() (Niklas Närhinen) +* Officially support Node 0.10 and 0.11 (Julien Biezemans) + +### Changed features + +* Update cucumber-html (Aslak Hellesøy) +* Bump Gherkin (Julien Biezemans) +* Add options parameter to JSON formatter (Israël Hallé) +* Updated CoffeeScript (Matteo Collina) +* Specify strict coffee-script version number (Julien Biezemans) +* Bump jasmine-node (Julien Biezemans) + +### Fixes + +* Fix travis build Node versions (Julien Biezemans) +* Fix Travis CI configuration (Julien Biezemans) + +### Documentation, internals and tests + +* Remove words in History (Julien Biezemans) +* Update dev status table in README (Julien Biezemans) +* Update LICENSE (Julien Biezemans) +* Add contributors (Julien Biezemans) +* Move data table scenario to TCK (Julien Biezemans) +* Be consistent in spec matchers (Julien Biezemans) +* Remove cucumber.no.de links (Kim, Jang-hwan) +* Fix broken link in README dev status table ([#118](https://github.com/cucumber/cucumber-js/issues/118), Michael Zedeler) +* Refactor hook-related Given steps in JS stepdefs (Julien Biezemans) +* Refactor failing mapping JS step definitions (Julien Biezemans & Matt Wynne) +* Update README.md to correct error in example for zombie initialization (Tom V) +* Update minor typos in README.md (David Godfrey) + + + +## [v0.3.0] + +### New features + +* Allow for node-like callback errors (Julien Biezemans) +* Accept multiple features in volatile configuration ([#52](https://github.com/cucumber/cucumber-js/issues/52), Julien Biezemans) + +### Fixes + +* Add ^ prefix and $ suffix to string-based step definition regexps ([#77](https://github.com/cucumber/cucumber-js/issues/77), Julien Biezemans) +* Allow for unsafe regexp characters in stepdef string patterns ([#77](https://github.com/cucumber/cucumber-js/issues/77), Julien Biezemans) + +### Documentation, internals and tests + +* Build on Node.js 0.8 on Travis (Julien Biezemans) +* Rewrite README's status table in HTML (Julien Biezemans) +* Bump Gherkin ([#78](https://github.com/cucumber/cucumber-js/issues/78), Julien Biezemans) +* Switch to HTML tables in README (Julien Biezemans) +* Bump Aruba (Julien Biezemans) + + + +## [v0.2.x](https://github.com/cucumber/cucumber-js/compare/v0.2.0...v0.3.0^) + +## [v0.2.22] + +### New features + +* Print data tables and doc strings in pretty formatter output ([#89](https://github.com/cucumber/cucumber-js/issues/89), [#81](https://github.com/cucumber/cucumber-js/issues/81), Julien Biezemans) + +### Fixes + +* Exclude unmatched features from AST ([#80](https://github.com/cucumber/cucumber-js/issues/80), Julien Biezemans) + + + +## [v0.2.21] + +### New features + +* Add bundler (Julien Biezemans) + + + +**TBD** + +## [v0.2.20] + +### New features + +* Add JSON formatter ([#79](https://github.com/cucumber/cucumber-js/issues/79), Chris Young) + +### Fixes + +* Fix data table and tags handling in JSON formatter (Julien Biezemans) + +### Documentation, internals and tests + +* Force example feature execution order in JSON feature (Julien Biezemans) + + + +## [v0.2.19] + +### Fixes + +* Fix CLI arguments passing ([#83](https://github.com/cucumber/cucumber-js/issues/83), Omar Gonzalez) + +### Documentation, internals and tests + +* Refactor "summarizer" listener to summary formatter ([#71](https://github.com/cucumber/cucumber-js/issues/71), 28b74ef, Julien Biezemans) +* Add "summary" formatter to available CLI formatters (Julien Biezemans) +* Fix spec example description (Julien Biezemans) + + + +## [v0.2.18] + +### Fixes + +* Replace findit with walkdir to fix file loading on Windows ([#73](https://github.com/cucumber/cucumber-js/issues/73), Aaron Garvey) + +### Documentation, internals and tests + +* Rename spec file (Julien Biezemans) +* Extract developer documentation from README to CONTRIBUTE (Julien Biezemans) +* Bump browserify (Julien Biezemans) +* Update supported Node.js versions (Julien Biezemans) + + + +## [v0.2.17] + +### New features + +* Add pretty formatter (simplified, monochrome) ([#59](https://github.com/cucumber/cucumber-js/issues/59), @renier, Julien Biezemans) + +### Documentation, internals and tests + +* Display only master branch build status in README (Julien Biezemans) +* Rename "summary logger" to "summarizer" ([#59](https://github.com/cucumber/cucumber-js/issues/59), Julien Biezemans) +* Extract common formatter methods ([#59](https://github.com/cucumber/cucumber-js/issues/59), [#63](https://github.com/cucumber/cucumber-js/issues/63), Julien Biezemans) + + + +## [v0.2.16] + +### New features + +* Display failing scenario URIs in summary (Julien Biezemans) + +### Documentation, internals and tests + +* Ran a gem update (Aslak Hellesøy) +* Update NPM dependencies ([#69](https://github.com/cucumber/cucumber-js/issues/69), Aslak Hellesøy) +* Refactor listener infrastructure ([#35](https://github.com/cucumber/cucumber-js/issues/35), [#59](https://github.com/cucumber/cucumber-js/issues/59), [#63](https://github.com/cucumber/cucumber-js/issues/63), Julien Biezemans) +* Extract summary logger from progress formatter ([#59](https://github.com/cucumber/cucumber-js/issues/59), [#63](https://github.com/cucumber/cucumber-js/issues/63), Julien Biezemans) +* Store URI on AST elements (Julien Biezemans) + + + +## [v0.2.15] + +### New features + +* Handle asynchronous exceptions ([#51](https://github.com/cucumber/cucumber-js/issues/51), Julien Biezemans) + +### Documentation, internals and tests + +* Remove commented code (Julien Biezemans) + + + +## [v0.2.14] + +### New features + +* Mention CS support in README (Julien Biezemans) +* Update command-line documentation in README (Julien Biezemans) + +### Fixes + +* Add alternate binary script for Windows ([#60](https://github.com/cucumber/cucumber-js/issues/60), Julien Biezemans) + + + +## [v0.2.13] + +### New features + +* Add support for string-based step definition patterns ([#48](https://github.com/cucumber/cucumber-js/issues/48), Ted de Koning, Julien Biezemans) + +### Documentation, internals and tests + +* Pass step instance to step definition invocation ([#57](https://github.com/cucumber/cucumber-js/issues/57), Julien Biezemans) +* Refactor step result specs (Julien Biezemans) +* Store step on step results ([#57](https://github.com/cucumber/cucumber-js/issues/57), Julien Biezemans) +* Increase Aruba timeout delay for slow Travis (Julien Biezemans) +* Decouple pattern from regexp in step definition ([#48](https://github.com/cucumber/cucumber-js/issues/48), Julien Biezemans) + + + +## [v0.2.12] + +### Changed features + +* Allow World constructor to set explicit World object ([#50](https://github.com/cucumber/cucumber-js/issues/50), Julien Biezemans) + +### Documentation, internals and tests + +* Add semicolons (Julien Biezemans) +* Add documentation about World to README (Julien Biezemans) + + + +## [v0.2.11] + +### Changed features + +* Simplify World callbacks ([#49](https://github.com/cucumber/cucumber-js/issues/49), Julien Biezemans) + +### Fixes + +* Fix callback.fail() when called without any reasons (Julien Biezemans) + +### Documentation, internals and tests + +* Add toHaveBeenCalledWithInstanceOfConstructorAsNthParameter() spec helper (Julien Biezemans) +* Simplify default World constructor callback (Julien Biezemans) +* Adapt World constructors (Julien Biezemans) + + + +## [v0.2.10] + +### Fixes + +* Fix path handling on Windows platforms ([#47](https://github.com/cucumber/cucumber-js/issues/47), Julien Biezemans) + +### Documentation, internals and tests + +* Add tagged hooks example to README (Julien Biezemans) +* Fix browserify setup for example page load (Julien Biezemans) +* Rename bundle to 'cucumber.js' in web example (Julien Biezemans) +* Remove obsolete browserify directive (Julien Biezemans) +* Improve platform detection (Julien Biezemans) + + + +## [v0.2.9] + +### New features + +* Add support for tagged hooks ([#32](https://github.com/cucumber/cucumber-js/issues/32), Julien Biezemans) + +### Changed features + +* Allow for whitespaces in tag groups (Julien Biezemans) + +### Documentation, internals and tests + +* Add Cucumber.Type.String and String#trim(, Julien Biezemans) +* Remove unnecessary this. from stepdefs (Julien Biezemans) +* Simplify tag-related stepdefs (Julien Biezemans) +* Simplify tag selection syntax in volatile configuration (Julien Biezemans) +* Mark hooks "done" in README dev status (Julien Biezemans) + + + +## [v0.2.8] + +### New features + +* Add around hooks ([#32](https://github.com/cucumber/cucumber-js/issues/32), Julien Biezemans) + +### Changed features + +* Treat undefined and skipped step as any other step (Julien Biezemans) + +### Documentation, internals and tests + +* Remove unused parameter in parser spec (Julien Biezemans) +* Add JS stepdef for async failing steps scenario (Julien Biezemans) +* Assign zombie in README example ([#44](https://github.com/cucumber/cucumber-js/issues/44), Julien Biezemans) +* Remove trailing spaces (Julien Biezemans) +* Get rid of obsolete PendingStepException (Julien Biezemans) +* Refactor SupportCode.Library spec (Julien Biezemans) +* Add around hooks documentation ([#32](https://github.com/cucumber/cucumber-js/issues/32), Julien Biezemans) + + + +## [v0.2.7] + +### New features + +* Allow for asynchronous pending steps (Julien Biezemans) +* Allow for asynchronous step failures (Julien Biezemans) + +### Fixes + +* Fix matching groups in step definition snippets ([#42](https://github.com/cucumber/cucumber-js/issues/42), Julien Biezemans) +* Remove obsolete dependency from snippet builder spec (Julien Biezemans) + +### Documentation, internals and tests + +* Add steps to release process in README (Julien Biezemans) +* Update development status table in README (Julien Biezemans) +* Import implementation-specific scenarios from cucumber-tck/undefined_steps (Julien Biezemans) +* Switch from throwing exceptions to callback.fail() in web example (Julien Biezemans) +* Add callback.fail() example to README (Julien Biezemans) + +## [v0.2.6] + +### New features + +* Add tags support ([#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans) +* Add support for tags on features ([#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans) + +### Changed features + +* Handle missing instance in World constructor callback ([#40](https://github.com/cucumber/cucumber-js/issues/40), Julien Biezemans) + +### Documentation, internals and tests + +* Update development status in README (Julien Biezemans) +* Typo in README (Julien Biezemans) +* Refactor parser and add AST assembler (required by [#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans) +* Indent properly (Julien Biezemans) +* Refactor AST assembler to be stateful (needed by [#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans) +* Update master diff in History (Julien Biezemans) +* Add --tags documentation to --help (CLI, Julien Biezemans) + + + +## [v0.2.5] + +### New features + +* Add Before/After hooks ([#32](https://github.com/cucumber/cucumber-js/issues/32), [#31](https://github.com/cucumber/cucumber-js/issues/31), Tristan Dunn) + +### Changed features + +* Interpret "*" step keyword as a repeat keyword (Julien Biezemans) + +### Documentation, internals and tests + +* Add NPM publishing to README release checklist (Julien Biezemans) +* Add "Help & Support" to README (Julien Biezemans) +* Words in README (Julien Biezemans) +* Document before and after hooks (Julien Biezemans) + + + +## [v0.2.4] + +### New features + +* Add --version to CLI (Julien Biezemans) +* Add --help to CLI (Julien Biezemans) + +### Changed features + +* Add styles for reported errors on web example (Julien Biezemans) +* Make and expect World constructors to be asynchronous ([#39](https://github.com/cucumber/cucumber-js/issues/39), Julien Biezemans) + +### Documentation, internals and tests + +* Update README (Julien Biezemans) +* Add development status to README (Julien Biezemans) +* Add link to demo at cucumber.no.de (Julien Biezemans) +* Add link to example app to README (Julien Biezemans) +* Add usage documentation to README ([#23](https://github.com/cucumber/cucumber-js/issues/23), Olivier Melcher) +* Add examples to run features with the CLI (Olivier Melcher) +* Fix header levels and whitespaces in README (Julien Biezemans) +* Add Opera to supported browsers in README (Julien Biezemans) +* Fix World constructor in README (Julien Biezemans) +* Simplify World#visit in README (Julien Biezemans) +* Rewrite step definition and wrapper documentation (Julien Biezemans) +* Remove useless words (Julien Biezemans) +* Use more consistent Markdown in README (Julien Biezemans) +* Fix Gherkin comment in README (Julien Biezemans) +* Add credits (Julien Biezemans) +* Add Aruba setup details to README (Julien Biezemans) +* Fix World constructor on web example according to the recent API changes (Julien Biezemans) +* Tell Travis CI to post build results to #cucumber (Julien Biezemans) +* Add release checklist to README (Julien Biezemans) + + + +## [v0.2.3] + +### New features + +* Add support for Node 0.6 (Julien Biezemans) + +### Fixes + +* Prevent the same step definition snippet from being suggested twice (Julien Biezemans) + +### Documentation, internals and tests + +* Don't make NPM ignore `example/` anymore (Julien Biezemans) +* Bump cucumber-features (Julien Biezemans) +* Use non-deprecated "url" key instead of "web" in NPM manifest (Julien Biezemans) +* Add JS step definitions related to data table scenarios (Julien Biezemans) +* Move from cucumber-features to cucumber-tck (Julien Biezemans) +* Bump Gherkin (Julien Biezemans) +* Bump jasmine-node (Julien Biezemans) +* Bump connect (Julien Biezemans) +* Fix Travis build (Julien Biezemans) +* Bump browserify (Julien Biezemans) +* Bump nopt (Julien Biezemans) +* Bump underscore (Julien Biezemans) +* Bump underscore.string (Julien Biezemans) +* Bump rimraf (Julien Biezemans) +* Bump mkdirp (Julien Biezemans) +* Bump Aruba (Julien Biezemans) + + + +## [v0.2.2] + +### New features + +* Suggest step definition snippets for undefined steps ([#33](https://github.com/cucumber/cucumber-js/issues/33), Julien Biezemans) + +### Documentation, internals and tests + +* Add contributors to NPM package manifest (Julien Biezemans) +* Clean up JS step definitions (Julien Biezemans) +* Bump cucumber-features and reflect step changes (Julien Biezemans) +* Set up [continuous integration on Travis CI](http://travis-ci.org/#!/cucumber/cucumber-js) (Julien Biezemans) +* Add Travis's build status icon to README (Julien Biezemans) + + + +## [v0.2.1] + +### New features + +* Allow custom World constructors (Julien Biezemans) +* Add support for data tables (with conversion to hashes) ([#12](https://github.com/cucumber/cucumber-js/issues/12), Julien Biezemans) + +### Changed features + +* Demonstrate World object usages in web example (Julien Biezemans) + + + +## [v0.2.0] + +### New features + +* Setup application to run on [Travis CI](http://travis-ci.org/#!/jbpros/cucumber-js) (Julien Biezemans) +* Add CoffeeScript support for step definition files (Paul Jensen) +* Add "World" ([#26](https://github.com/cucumber/cucumber-js/issues/26), Julien Biezemans) + +### Changed features + +* Add link to the Github repository on web example (Julien Biezemans) +* Allow specifying the port the web example server should listen on (Julien Biezemans) +* Update web example to use cucumber-html formatter (Julien Biezemans) + +### Fixes + +* Fix load paths in spec helper (Julien Biezemans) +* Prevent 'crypto' module from being included by browserify in web example (Julien Biezemans) +* Fix HTML indentation (Julien Biezemans) +* Prevent CLI support code loader from calling module main exports which are not functions (Julien Biezemans) +* Remove use of username for submodule (Kushal Pisavadia) + +### Documentation, internals and tests + +* Bump jasmine-node +* Update README (Julien Biezemans) +* Bump Gherkin twice (Julien Biezemans) +* Bump cucumber-features twice (Julien Biezemans) +* Add missing getters on several AST feature elements (mostly getLine()) (Julien Biezemans) +* Ignore example/ on NPM (Julien Biezemans) +* Add Procfile (used by Heroku when deploying to cucumber.heroku.com) (Julien Biezemans) +* Bump Aruba (Julien Biezemans) +* Add guard-jasmine-node (Julien Biezemans) +* Improve Guardfile regular expressions (Julien Biezemans) +* Bump cucumber-html and remove DOM templates from web example HTML file (Julien Biezemans) +* Fix PathExpander internal name (Julien Biezemans) +* Remove unneeded requires from FeaturePathExpander (Julien Biezemans) +* Bump browserify (Julien Biezemans) +* Remove "glob" from dependencies (Julien Biezemans) +* Refactor SupportCodePathExpander spec (Julien Biezemans) +* Add feature for CoffeeScript support ([#29](https://github.com/cucumber/cucumber-js/issues/29), Julien Biezemans) + + + +## [v0.1.x](https://github.com/cucumber/cucumber-js/compare/v0.1.0...v0.2.0^) + +## [v0.1.5] + +### New features + +* Add support for background ([#9](https://github.com/cucumber/cucumber-js/issues/9), Julien Biezemans) + +### Documentation, internals and tests + +* Bump cucumber-features (twice) (Julien Biezemans) +* Bump gherkin and reflect changes in its API (add DocString content type) (Julien Biezemans) + + + +## [v0.1.4] + +### Changed features + +* Stop polluting the global namespace with Given(), When() and Then() ([#2](https://github.com/cucumber/cucumber-js/issues/2), Julien Biezemans) +* Step definitions can be created with the support code helper passed as 'this': + this.Given(), this.When(), this.Then() and this.defineStep() ([#2](https://github.com/cucumber/cucumber-js/issues/2), Julien Biezemans) + +### Documentation, internals and tests + +* Fix typo "occured" -> "occurred" (Fernando Acorreia) +* Improve variable names in CLI support code loader (Julien Biezemans) + + + +## [v0.1.3] + +### New features + +* Allow several features to run at once ([#14](https://github.com/cucumber/cucumber-js/issues/14), Julien Biezemans) +* Add support for --require (Julien Biezemans) + +### Documentation, internals and tests + +* Improve features and support code API (Julien Biezemans) +* Add "Cli" and "Volatile" configurations (Julien Biezemans) +* Internal refactoring and cleanup (Julien Biezemans) +* Cucumber.js can now fully test itself (Julien Biezemans) +* Remove run_all_features script in favor of bin/cucumber.js (Julien Biezemans) + + + +## [v0.1.2] + +### New features + +* Add failure reporting to the progress formatter ([#20](https://github.com/cucumber/cucumber-js/issues/20), Julien Biezemans) + + + +## [v0.1.1] + +### New features + +* Publish Cucumber.js to NPM as [`cucumber`](https://www.npmjs.com/search?q=cucumber) (Julien Biezemans) + +### Changed features + +* Throw a clearer exception on missing feature argument (CLI) (Julien Biezemans) + +### Documentation, internals and tests + +* Unify and clean up js-specific features and step definitions ([#21](https://github.com/cucumber/cucumber-js/issues/21), Julien Biezemans) + + + +## [v0.1.0] + +### New features + +* Add cucumber.js executable (Julien Biezemans) +* Handle step failures ([#6](https://github.com/cucumber/cucumber-js/issues/6), Julien Biezemans) +* Add the progress formatter ([#16](https://github.com/cucumber/cucumber-js/issues/16), Julien Biezemans) +* Add support for pending steps ([#18](https://github.com/cucumber/cucumber-js/issues/18), Julien Biezemans) +* Add support for undefined steps ([#19](https://github.com/cucumber/cucumber-js/issues/19), Julien Biezemans) + +### Changed features + +* Update web example to use the new progress formatter (Julien Biezemans) + +### Fixes + +* Fix asynchronous step definition callbacks ([#1](https://github.com/cucumber/cucumber-js/issues/1), Julien Biezemans) +* Fix stepResult.isSuccessful call in ProgressFormatter (Julien Biezemans) +* Load Gherkin properly in browsers (Julien Biezemans) +* Remove calls to console.log in web example (Julien Biezemans) + +### Documentation, internals and tests + +* Pass against core.feature in its new form, both with the Cucumber-ruby/Aruba pair and cucumber-js itself (Julien Biezemans) +* Refactor cucumber-features JS mappings (Julien Biezemans) +* Refactor js-specific features (Julien Biezemans) +* Rename PyString to DocString ([#15](https://github.com/cucumber/cucumber-js/issues/15), Julien Biezemans) +* Update Gherkin to 2.4.0 (Julien Biezemans) +* Modularize the project and use browserify.js to serve a single JS file to browsers. ([#3](https://github.com/cucumber/cucumber-js/issues/3), Julien Biezemans) +* Rename Cucumber.Types to Cucumber.Type (Julien Biezemans) +* Use progress formatter in cucumber-features ([#17](https://github.com/cucumber/cucumber-js/issues/17), Julien Biezemans) + + + +## [v0.0.x](https://github.com/cucumber/cucumber-js/compare/v0.0.1...v0.1.0^) + +## [v0.0.1](https://github.com/cucumber/cucumber-js/tree/v0.0.1) + +* Emerge Cucumber.js with bare support for features, scenarios and steps. It does not handle several Gherkin elements nor failures yet. (Julien Biezemans) + + + +[Unreleased]: https://github.com/cucumber/cucumber-js/compare/v7.2.0...master +[7.2.0]: https://github.com/cucumber/cucumber-js/compare/7.2.0-rc.0...7.0.0 +[7.1.0]: https://github.com/cucumber/cucumber-js/compare/7.1.0-rc.0...7.0.0 +[7.0.0]: https://github.com/cucumber/cucumber-js/compare/7.0.0-rc.0...v7.0.0 +[7.0.0-rc.0]: https://github.com/cucumber/cucumber-js/compare/v6.0.5...v7.0.0-rc.0 +[6.0.5]: https://github.com/cucumber/cucumber-js/compare/v6.0.4...v6.0.5 +[6.0.4]: https://github.com/cucumber/cucumber-js/compare/v6.0.3...v6.0.4 +[6.0.3]: https://github.com/cucumber/cucumber-js/compare/v6.0.2...v6.0.3 +[6.0.2]: https://github.com/cucumber/cucumber-js/compare/v6.0.1...v6.0.2 +[6.0.1]: https://github.com/cucumber/cucumber-js/compare/v6.0.0...v6.0.1 +[6.0.0]: https://github.com/cucumber/cucumber-js/compare/v5.1.0...v6.0.0 +[5.1.0]: https://github.com/cucumber/cucumber-js/compare/v5.0.3...v5.1.0 +[5.0.3]: https://github.com/cucumber/cucumber-js/compare/v5.0.2...v5.0.3 +[5.0.2]: https://github.com/cucumber/cucumber-js/compare/v5.0.1...v5.0.2 +[5.0.1]: https://github.com/cucumber/cucumber-js/compare/v4.2.1...v5.0.1 +[4.2.1]: https://github.com/cucumber/cucumber-js/compare/v4.2.0...v4.2.1 +[4.2.0]: https://github.com/cucumber/cucumber-js/compare/v4.1.0...v4.2.0 +[4.1.0]: https://github.com/cucumber/cucumber-js/compare/v4.0.0...v4.1.0 +[4.0.0]: https://github.com/cucumber/cucumber-js/compare/v3.2.1...v4.0.0 +[3.2.1]: https://github.com/cucumber/cucumber-js/compare/v3.2.0...v3.2.1 +[3.2.0]: https://github.com/cucumber/cucumber-js/compare/v3.1.0...v3.2.0 +[3.1.0]: https://github.com/cucumber/cucumber-js/compare/v3.0.6...v3.1.0 +[3.0.6]: https://github.com/cucumber/cucumber-js/compare/v3.0.5...v3.0.6 +[3.0.5]: https://github.com/cucumber/cucumber-js/compare/v3.0.4...v3.0.5 +[3.0.4]: https://github.com/cucumber/cucumber-js/compare/v3.0.3...v3.0.4 +[3.0.3]: https://github.com/cucumber/cucumber-js/compare/v3.0.2...v3.0.3 +[3.0.2]: https://github.com/cucumber/cucumber-js/compare/v3.0.1...v3.0.2 +[3.0.1]: https://github.com/cucumber/cucumber-js/compare/v3.0.0...v3.0.1 +[3.0.0]: https://github.com/cucumber/cucumber-js/compare/v2.3.1...v3.0.0 +[2.3.1]: https://github.com/cucumber/cucumber-js/compare/v2.3.0...v2.3.1 +[2.3.0]: https://github.com/cucumber/cucumber-js/compare/v2.2.0...v2.3.0 +[2.2.0]: https://github.com/cucumber/cucumber-js/compare/v2.1.0...v2.2.0 +[2.1.0]: https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.9...v2.1.0 +[1.3.3]: https://github.com/cucumber/cucumber-js/compare/v1.3.2...v1.3.3 +[1.3.2]: https://github.com/cucumber/cucumber-js/compare/v1.3.1...v1.3.2 +[1.3.1]: https://github.com/cucumber/cucumber-js/compare/v1.3.0...v1.3.1 +[1.3.0]: https://github.com/cucumber/cucumber-js/compare/v1.2.2...v1.3.0 +[1.2.2]: https://github.com/cucumber/cucumber-js/compare/v1.2.1...v1.2.2 +[1.2.1]: https://github.com/cucumber/cucumber-js/compare/v1.2.0...v1.2.1 +[1.2.0]: https://github.com/cucumber/cucumber-js/compare/v1.1.0...v1.2.0 +[1.1.0]: https://github.com/cucumber/cucumber-js/compare/v1.0.0...v1.1.0 +[1.0.0]: https://github.com/cucumber/cucumber-js/compare/v0.10.4...v1.0.0 +[0.10.4]: https://github.com/cucumber/cucumber-js/compare/v0.10.3...v0.10.4 +[0.10.3]: https://github.com/cucumber/cucumber-js/compare/v0.10.2...v0.10.3 +[0.10.2]: https://github.com/cucumber/cucumber-js/compare/v0.10.1...v0.10.2 +[0.10.1]: https://github.com/cucumber/cucumber-js/compare/v0.10.0...v0.10.1 +[0.10.0]: https://github.com/cucumber/cucumber-js/compare/v0.9.5...v0.10.0 +[0.9.5]: https://github.com/cucumber/cucumber-js/compare/v0.9.4...v0.9.5 +[0.9.4]: https://github.com/cucumber/cucumber-js/compare/v0.9.3...v0.9.4 +[0.9.3]: https://github.com/cucumber/cucumber-js/compare/v0.9.2...v0.9.3 +[0.9.2]: https://github.com/cucumber/cucumber-js/compare/v0.9.1...v0.9.2 +[0.9.1]: https://github.com/cucumber/cucumber-js/compare/v0.9.0...v0.9.1 +[0.9.0]: https://github.com/cucumber/cucumber-js/compare/v0.8.1...v0.9.0 diff --git a/node_modules/@cucumber/cucumber/LICENSE b/node_modules/@cucumber/cucumber/LICENSE new file mode 100644 index 0000000..45973cd --- /dev/null +++ b/node_modules/@cucumber/cucumber/LICENSE @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) Julien Biezemans and contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@cucumber/cucumber/README.md b/node_modules/@cucumber/cucumber/README.md new file mode 100644 index 0000000..73fae42 --- /dev/null +++ b/node_modules/@cucumber/cucumber/README.md @@ -0,0 +1,78 @@ +# Cucumber.js + +[![OpenCollective](https://opencollective.com/cucumber/backers/badge.svg)](https://opencollective.com/cucumber) +[![OpenCollective](https://opencollective.com/cucumber/sponsors/badge.svg)](https://opencollective.com/cucumber) +[![pull requests](https://oselvar.com/api/badge?label=pull%20requests&csvUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fcucumber%2Foselvar-github-metrics%2Fmain%2Fdata%2Fcucumber%2Fcucumber-js%2FpullRequests.csv)](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-js) +[![issues](https://oselvar.com/api/badge?label=issues&csvUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fcucumber%2Foselvar-github-metrics%2Fmain%2Fdata%2Fcucumber%2Fcucumber-js%2Fissues.csv)](https://oselvar.com/github/cucumber/oselvar-github-metrics/main/cucumber/cucumber-js) + +[![GitHub Actions](https://github.com/cucumber/cucumber-js/workflows/Build/badge.svg)](https://github.com/cucumber/cucumber-js/actions) +[![Dependencies](https://david-dm.org/cucumber/cucumber-js.svg)](https://david-dm.org/cucumber/cucumber-js) +[![Coverage Status](https://coveralls.io/repos/github/cucumber/cucumber-js/badge.svg?branch=master)](https://coveralls.io/github/cucumber/cucumber-js?branch=master) + +[Cucumber](https://cucumber.io) is a tool for running automated tests written in plain language. Because they're +written in plain language, they can be read by anyone on your team. Because they can be +read by anyone, you can use them to help improve communication, collaboration and trust on +your team. + +Cucumber.js is the JavaScript implementation of Cucumber and runs on the [maintained Node.js versions](https://github.com/nodejs/Release). + +## Try it now + +We've put a demo of Cucumber.js to [run in your browser](https://cucumber.github.io/cucumber-js/). Why don't you give it a try before anything else? + +## Help & support + +* See here: https://cucumber.io/support + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) for info on contributing to Cucumber.js. + +## Code of Conduct + +Everyone interacting in this codebase and issue tracker is expected to follow the Cucumber [code of conduct](https://github.com/cucumber/cucumber/blob/master/CODE_OF_CONDUCT.md). + +## Install + +Cucumber.js is available as an npm module. + +### 7.x.x and above + +``` shell +$ npm install @cucumber/cucumber +``` + +If you're upgrading from 6.x.x or below, see the [migration guide](./docs/migration.md). + +### 6.x.x and below + +``` shell +$ npm install cucumber@6 +``` + +## Documentation + +The following documentation is for master. See below for documentation for older versions. + +* [CLI](/docs/cli.md) +* [Custom Formatters](/docs/custom_formatters.md) +* [Custom Snippet Syntaxes](/docs/custom_snippet_syntaxes.md) +* [NodeJs Example](/docs/nodejs_example.md) +* Support Files + * [World](/docs/support_files/world.md) + * [Step Definitions](/docs/support_files/step_definitions.md) + * [Hooks](/docs/support_files/hooks.md) + * [Timeouts](docs/support_files/timeouts.md) + * [Data Table Interface](/docs/support_files/data_table_interface.md) + * [Attachments](/docs/support_files/attachments.md) + * [API Reference](/docs/support_files/api_reference.md) +* [FAQ](/docs/faq.md) + +#### Documentation for older versions + +* [`6.x`](https://github.com/cucumber/cucumber-js/tree/6.x) +* [`5.x`](https://github.com/cucumber/cucumber-js/tree/5.x) +* [`4.x`](https://github.com/cucumber/cucumber-js/tree/4.x) +* [`3.x`](https://github.com/cucumber/cucumber-js/tree/3.x) +* [`2.x`](https://github.com/cucumber/cucumber-js/tree/2.x) +* [`1.x`](https://github.com/cucumber/cucumber-js/tree/1.x) diff --git a/node_modules/@cucumber/cucumber/bin/cucumber-js b/node_modules/@cucumber/cucumber/bin/cucumber-js new file mode 100755 index 0000000..2460cb2 --- /dev/null +++ b/node_modules/@cucumber/cucumber/bin/cucumber-js @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +require('../lib/cli/run.js').default(); diff --git a/node_modules/@cucumber/cucumber/lib/cli/argv_parser.d.ts b/node_modules/@cucumber/cucumber/lib/cli/argv_parser.d.ts new file mode 100644 index 0000000..5c6e7d6 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/argv_parser.d.ts @@ -0,0 +1,52 @@ +import { SnippetInterface } from '../formatter/step_definition_snippet_builder/snippet_syntax'; +export interface IParsedArgvFormatRerunOptions { + separator?: string; +} +export interface IParsedArgvFormatOptions { + colorsEnabled?: boolean; + rerun?: IParsedArgvFormatRerunOptions; + snippetInterface?: SnippetInterface; + snippetSyntax?: string; + [customKey: string]: any; +} +export interface IParsedArgvOptions { + backtrace: boolean; + dryRun: boolean; + esm: boolean; + exit: boolean; + failFast: boolean; + format: string[]; + formatOptions: IParsedArgvFormatOptions; + i18nKeywords: string; + i18nLanguages: boolean; + language: string; + name: string[]; + order: string; + parallel: number; + predictableIds: boolean; + profile: string[]; + publish: boolean; + publishQuiet: boolean; + require: string[]; + requireModule: string[]; + retry: number; + retryTagFilter: string; + strict: boolean; + tags: string; + worldParameters: object; +} +export interface IParsedArgv { + args: string[]; + options: IParsedArgvOptions; +} +declare const ArgvParser: { + collect(val: T, memo: T[]): T[]; + mergeJson(option: string): (str: string, memo: object) => object; + mergeTags(value: string, memo: string): string; + validateCountOption(value: string, optionName: string): number; + validateLanguage(value: string): string; + validateRetryOptions(options: IParsedArgvOptions): void; + parse(argv: string[]): IParsedArgv; + lint(fullArgv: string[]): void; +}; +export default ArgvParser; diff --git a/node_modules/@cucumber/cucumber/lib/cli/argv_parser.js b/node_modules/@cucumber/cucumber/lib/cli/argv_parser.js new file mode 100644 index 0000000..91891f3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/argv_parser.js @@ -0,0 +1,105 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const commander_1 = require("commander"); +const path_1 = __importDefault(require("path")); +const gherkin_1 = require("@cucumber/gherkin"); +// Using require instead of import so compiled typescript will have the desired folder structure +const { version } = require('../../package.json'); // eslint-disable-line @typescript-eslint/no-var-requires +const ArgvParser = { + collect(val, memo) { + memo.push(val); + return memo; + }, + mergeJson(option) { + return function (str, memo) { + let val; + try { + val = JSON.parse(str); + } + catch (error) { + const e = error; + throw new Error(`${option} passed invalid JSON: ${e.message}: ${str}`); + } + if (!lodash_1.default.isPlainObject(val)) { + throw new Error(`${option} must be passed JSON of an object: ${str}`); + } + return lodash_1.default.merge(memo, val); + }; + }, + mergeTags(value, memo) { + return memo === '' ? `(${value})` : `${memo} and (${value})`; + }, + validateCountOption(value, optionName) { + const numericValue = parseInt(value); + if (isNaN(numericValue) || numericValue < 0) { + throw new Error(`${optionName} must be a non negative integer`); + } + return numericValue; + }, + validateLanguage(value) { + if (!lodash_1.default.includes(lodash_1.default.keys(gherkin_1.dialects), value)) { + throw new Error(`Unsupported ISO 639-1: ${value}`); + } + return value; + }, + validateRetryOptions(options) { + if (options.retryTagFilter !== '' && options.retry === 0) { + throw new Error('a positive --retry count must be specified when setting --retry-tag-filter'); + } + }, + parse(argv) { + const program = new commander_1.Command(path_1.default.basename(argv[1])); + program + .storeOptionsAsProperties(false) + .usage('[options] [...]') + .version(version, '-v, --version') + .option('-b, --backtrace', 'show full backtrace for errors') + .option('-d, --dry-run', 'invoke formatters without executing steps', false) + .option('--esm', 'import support code via ES module imports', false) + .option('--exit', 'force shutdown of the event loop when the test run has finished: cucumber will call process.exit', false) + .option('--fail-fast', 'abort the run on first failure', false) + .option('-f, --format ', 'specify the output format, optionally supply PATH to redirect formatter output (repeatable)', ArgvParser.collect, []) + .option('--format-options ', 'provide options for formatters (repeatable)', ArgvParser.mergeJson('--format-options'), {}) + .option('--i18n-keywords ', 'list language keywords', ArgvParser.validateLanguage, '') + .option('--i18n-languages', 'list languages', false) + .option('--language ', 'provide the default language for feature files', 'en') + .option('--name ', 'only execute the scenarios with name matching the expression (repeatable)', ArgvParser.collect, []) + .option('--no-strict', 'succeed even if there are pending steps') + .option('--order ', 'run scenarios in the specified order. Type should be `defined` or `random`', 'defined') + .option('-p, --profile ', 'specify the profile to use (repeatable)', ArgvParser.collect, []) + .option('--parallel ', 'run in parallel with the given number of workers', (val) => ArgvParser.validateCountOption(val, '--parallel'), 0) + .option('--predictable-ids', 'Use predictable ids in messages (option ignored if using parallel)', false) + .option('--publish', 'Publish a report to https://reports.cucumber.io', false) + .option('--publish-quiet', "Don't print information banner about publishing reports", false) + .option('-r, --require ', 'require files before executing features (repeatable)', ArgvParser.collect, []) + .option('--require-module ', 'require node modules before requiring files (repeatable)', ArgvParser.collect, []) + .option('--retry ', 'specify the number of times to retry failing test cases (default: 0)', (val) => ArgvParser.validateCountOption(val, '--retry'), 0) + .option('--retryTagFilter, --retry-tag-filter ', `only retries the features or scenarios with tags matching the expression (repeatable). + This option requires '--retry' to be specified.`, ArgvParser.mergeTags, '') + .option('-t, --tags ', 'only execute the features or scenarios with tags matching the expression (repeatable)', ArgvParser.mergeTags, '') + .option('--world-parameters ', 'provide parameters that will be passed to the world constructor (repeatable)', ArgvParser.mergeJson('--world-parameters'), {}); + program.on('--help', () => { + /* eslint-disable no-console */ + console.log(' For more details please visit https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md\n'); + /* eslint-enable no-console */ + }); + program.parse(argv); + const options = program.opts(); + ArgvParser.validateRetryOptions(options); + return { + options, + args: program.args, + }; + }, + lint(fullArgv) { + if (fullArgv.includes('--retryTagFilter')) { + console.warn('the argument --retryTagFilter is deprecated and will be removed in a future release; please use --retry-tag-filter'); + } + }, +}; +exports.default = ArgvParser; +//# sourceMappingURL=argv_parser.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/argv_parser.js.map b/node_modules/@cucumber/cucumber/lib/cli/argv_parser.js.map new file mode 100644 index 0000000..2b12d38 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/argv_parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"argv_parser.js","sourceRoot":"","sources":["../../src/cli/argv_parser.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport { Command } from 'commander'\nimport path from 'path'\nimport { dialects } from '@cucumber/gherkin'\nimport { SnippetInterface } from '../formatter/step_definition_snippet_builder/snippet_syntax'\n\n// Using require instead of import so compiled typescript will have the desired folder structure\nconst { version } = require('../../package.json') // eslint-disable-line @typescript-eslint/no-var-requires\n\nexport interface IParsedArgvFormatRerunOptions {\n separator?: string\n}\n\nexport interface IParsedArgvFormatOptions {\n colorsEnabled?: boolean\n rerun?: IParsedArgvFormatRerunOptions\n snippetInterface?: SnippetInterface\n snippetSyntax?: string\n [customKey: string]: any\n}\n\nexport interface IParsedArgvOptions {\n backtrace: boolean\n dryRun: boolean\n esm: boolean\n exit: boolean\n failFast: boolean\n format: string[]\n formatOptions: IParsedArgvFormatOptions\n i18nKeywords: string\n i18nLanguages: boolean\n language: string\n name: string[]\n order: string\n parallel: number\n predictableIds: boolean\n profile: string[]\n publish: boolean\n publishQuiet: boolean\n require: string[]\n requireModule: string[]\n retry: number\n retryTagFilter: string\n strict: boolean\n tags: string\n worldParameters: object\n}\n\nexport interface IParsedArgv {\n args: string[]\n options: IParsedArgvOptions\n}\n\nconst ArgvParser = {\n collect(val: T, memo: T[]): T[] {\n memo.push(val)\n return memo\n },\n\n mergeJson(option: string): (str: string, memo: object) => object {\n return function (str: string, memo: object) {\n let val: object\n try {\n val = JSON.parse(str)\n } catch (error) {\n const e: Error = error\n throw new Error(`${option} passed invalid JSON: ${e.message}: ${str}`)\n }\n if (!_.isPlainObject(val)) {\n throw new Error(`${option} must be passed JSON of an object: ${str}`)\n }\n return _.merge(memo, val)\n }\n },\n\n mergeTags(value: string, memo: string): string {\n return memo === '' ? `(${value})` : `${memo} and (${value})`\n },\n\n validateCountOption(value: string, optionName: string): number {\n const numericValue = parseInt(value)\n if (isNaN(numericValue) || numericValue < 0) {\n throw new Error(`${optionName} must be a non negative integer`)\n }\n return numericValue\n },\n\n validateLanguage(value: string): string {\n if (!_.includes(_.keys(dialects), value)) {\n throw new Error(`Unsupported ISO 639-1: ${value}`)\n }\n return value\n },\n\n validateRetryOptions(options: IParsedArgvOptions): void {\n if (options.retryTagFilter !== '' && options.retry === 0) {\n throw new Error(\n 'a positive --retry count must be specified when setting --retry-tag-filter'\n )\n }\n },\n\n parse(argv: string[]): IParsedArgv {\n const program = new Command(path.basename(argv[1]))\n\n program\n .storeOptionsAsProperties(false)\n .usage('[options] [...]')\n .version(version, '-v, --version')\n .option('-b, --backtrace', 'show full backtrace for errors')\n .option(\n '-d, --dry-run',\n 'invoke formatters without executing steps',\n false\n )\n .option('--esm', 'import support code via ES module imports', false)\n .option(\n '--exit',\n 'force shutdown of the event loop when the test run has finished: cucumber will call process.exit',\n false\n )\n .option('--fail-fast', 'abort the run on first failure', false)\n .option(\n '-f, --format ',\n 'specify the output format, optionally supply PATH to redirect formatter output (repeatable)',\n ArgvParser.collect,\n []\n )\n .option(\n '--format-options ',\n 'provide options for formatters (repeatable)',\n ArgvParser.mergeJson('--format-options'),\n {}\n )\n .option(\n '--i18n-keywords ',\n 'list language keywords',\n ArgvParser.validateLanguage,\n ''\n )\n .option('--i18n-languages', 'list languages', false)\n .option(\n '--language ',\n 'provide the default language for feature files',\n 'en'\n )\n .option(\n '--name ',\n 'only execute the scenarios with name matching the expression (repeatable)',\n ArgvParser.collect,\n []\n )\n .option('--no-strict', 'succeed even if there are pending steps')\n .option(\n '--order ',\n 'run scenarios in the specified order. Type should be `defined` or `random`',\n 'defined'\n )\n .option(\n '-p, --profile ',\n 'specify the profile to use (repeatable)',\n ArgvParser.collect,\n []\n )\n .option(\n '--parallel ',\n 'run in parallel with the given number of workers',\n (val) => ArgvParser.validateCountOption(val, '--parallel'),\n 0\n )\n .option(\n '--predictable-ids',\n 'Use predictable ids in messages (option ignored if using parallel)',\n false\n )\n .option(\n '--publish',\n 'Publish a report to https://reports.cucumber.io',\n false\n )\n .option(\n '--publish-quiet',\n \"Don't print information banner about publishing reports\",\n false\n )\n .option(\n '-r, --require ',\n 'require files before executing features (repeatable)',\n ArgvParser.collect,\n []\n )\n .option(\n '--require-module ',\n 'require node modules before requiring files (repeatable)',\n ArgvParser.collect,\n []\n )\n .option(\n '--retry ',\n 'specify the number of times to retry failing test cases (default: 0)',\n (val) => ArgvParser.validateCountOption(val, '--retry'),\n 0\n )\n .option(\n '--retryTagFilter, --retry-tag-filter ',\n `only retries the features or scenarios with tags matching the expression (repeatable).\n This option requires '--retry' to be specified.`,\n ArgvParser.mergeTags,\n ''\n )\n .option(\n '-t, --tags ',\n 'only execute the features or scenarios with tags matching the expression (repeatable)',\n ArgvParser.mergeTags,\n ''\n )\n .option(\n '--world-parameters ',\n 'provide parameters that will be passed to the world constructor (repeatable)',\n ArgvParser.mergeJson('--world-parameters'),\n {}\n )\n\n program.on('--help', () => {\n /* eslint-disable no-console */\n console.log(\n ' For more details please visit https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md\\n'\n )\n /* eslint-enable no-console */\n })\n\n program.parse(argv)\n const options = program.opts() as IParsedArgvOptions\n ArgvParser.validateRetryOptions(options)\n\n return {\n options,\n args: program.args,\n }\n },\n\n lint(fullArgv: string[]): void {\n if (fullArgv.includes('--retryTagFilter')) {\n console.warn(\n 'the argument --retryTagFilter is deprecated and will be removed in a future release; please use --retry-tag-filter'\n )\n }\n },\n}\n\nexport default ArgvParser\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.d.ts b/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.d.ts new file mode 100644 index 0000000..6413d41 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.d.ts @@ -0,0 +1,47 @@ +import { IParsedArgvFormatOptions } from './argv_parser'; +import { IPickleFilterOptions } from '../pickle_filter'; +import { IRuntimeOptions } from '../runtime'; +export interface IConfigurationFormat { + outputTo: string; + type: string; +} +export interface IConfiguration { + esm: boolean; + featureDefaultLanguage: string; + featurePaths: string[]; + formats: IConfigurationFormat[]; + formatOptions: IParsedArgvFormatOptions; + publishing: boolean; + listI18nKeywordsFor: string; + listI18nLanguages: boolean; + order: string; + parallel: number; + pickleFilterOptions: IPickleFilterOptions; + predictableIds: boolean; + profiles: string[]; + runtimeOptions: IRuntimeOptions; + shouldExitImmediately: boolean; + supportCodePaths: string[]; + supportCodeRequiredModules: string[]; + suppressPublishAdvertisement: boolean; +} +export interface INewConfigurationBuilderOptions { + argv: string[]; + cwd: string; +} +export default class ConfigurationBuilder { + static build(options: INewConfigurationBuilderOptions): Promise; + private readonly cwd; + private readonly args; + private readonly options; + constructor({ argv, cwd }: INewConfigurationBuilderOptions); + build(): Promise; + expandPaths(unexpandedPaths: string[], defaultExtension: string): Promise; + expandFeaturePaths(featurePaths: string[]): Promise; + getFeatureDirectoryPaths(featurePaths: string[]): string[]; + isPublishing(): boolean; + isPublishAdvertisementSuppressed(): boolean; + getFormats(): IConfigurationFormat[]; + isTruthyString(s: string | undefined): boolean; + getUnexpandedFeaturePaths(): Promise; +} diff --git a/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.js b/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.js new file mode 100644 index 0000000..5099097 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.js @@ -0,0 +1,161 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const argv_parser_1 = __importDefault(require("./argv_parser")); +const fs_1 = __importDefault(require("mz/fs")); +const path_1 = __importDefault(require("path")); +const option_splitter_1 = __importDefault(require("./option_splitter")); +const bluebird_1 = __importDefault(require("bluebird")); +const glob_1 = __importDefault(require("glob")); +const util_1 = require("util"); +const value_checker_1 = require("../value_checker"); +const DEFAULT_CUCUMBER_PUBLISH_URL = 'https://messages.cucumber.io/api/reports'; +class ConfigurationBuilder { + constructor({ argv, cwd }) { + this.cwd = cwd; + argv_parser_1.default.lint(argv); + const parsedArgv = argv_parser_1.default.parse(argv); + this.args = parsedArgv.args; + this.options = parsedArgv.options; + } + static async build(options) { + const builder = new ConfigurationBuilder(options); + return await builder.build(); + } + async build() { + const listI18nKeywordsFor = this.options.i18nKeywords; + const listI18nLanguages = this.options.i18nLanguages; + const unexpandedFeaturePaths = await this.getUnexpandedFeaturePaths(); + let featurePaths = []; + let supportCodePaths = []; + if (listI18nKeywordsFor === '' && !listI18nLanguages) { + featurePaths = await this.expandFeaturePaths(unexpandedFeaturePaths); + let unexpandedSupportCodePaths = this.options.require; + if (unexpandedSupportCodePaths.length === 0) { + unexpandedSupportCodePaths = this.getFeatureDirectoryPaths(featurePaths); + } + supportCodePaths = await this.expandPaths(unexpandedSupportCodePaths, this.options.esm ? '.@(js|mjs)' : '.js'); + } + return { + esm: this.options.esm, + featureDefaultLanguage: this.options.language, + featurePaths, + formats: this.getFormats(), + formatOptions: this.options.formatOptions, + publishing: this.isPublishing(), + listI18nKeywordsFor, + listI18nLanguages, + order: this.options.order, + parallel: this.options.parallel, + pickleFilterOptions: { + cwd: this.cwd, + featurePaths: unexpandedFeaturePaths, + names: this.options.name, + tagExpression: this.options.tags, + }, + predictableIds: this.options.predictableIds, + profiles: this.options.profile, + runtimeOptions: { + dryRun: this.options.dryRun, + predictableIds: this.options.predictableIds, + failFast: this.options.failFast, + filterStacktraces: !this.options.backtrace, + retry: this.options.retry, + retryTagFilter: this.options.retryTagFilter, + strict: this.options.strict, + worldParameters: this.options.worldParameters, + }, + shouldExitImmediately: this.options.exit, + supportCodePaths, + supportCodeRequiredModules: this.options.requireModule, + suppressPublishAdvertisement: this.isPublishAdvertisementSuppressed(), + }; + } + async expandPaths(unexpandedPaths, defaultExtension) { + const expandedPaths = await bluebird_1.default.map(unexpandedPaths, async (unexpandedPath) => { + const matches = await util_1.promisify(glob_1.default)(unexpandedPath, { + absolute: true, + cwd: this.cwd, + }); + const expanded = await bluebird_1.default.map(matches, async (match) => { + if (path_1.default.extname(match) === '') { + return await util_1.promisify(glob_1.default)(`${match}/**/*${defaultExtension}`); + } + return [match]; + }); + return lodash_1.default.flatten(expanded); + }); + return lodash_1.default.flatten(expandedPaths).map((x) => path_1.default.normalize(x)); + } + async expandFeaturePaths(featurePaths) { + featurePaths = featurePaths.map((p) => p.replace(/(:\d+)*$/g, '')); // Strip line numbers + return this.expandPaths(featurePaths, '.feature'); + } + getFeatureDirectoryPaths(featurePaths) { + const featureDirs = featurePaths.map((featurePath) => { + let featureDir = path_1.default.dirname(featurePath); + let childDir; + let parentDir = featureDir; + while (childDir !== parentDir) { + childDir = parentDir; + parentDir = path_1.default.dirname(childDir); + if (path_1.default.basename(parentDir) === 'features') { + featureDir = parentDir; + break; + } + } + return path_1.default.relative(this.cwd, featureDir); + }); + return lodash_1.default.uniq(featureDirs); + } + isPublishing() { + return (this.options.publish || + this.isTruthyString(process.env.CUCUMBER_PUBLISH_ENABLED) || + process.env.CUCUMBER_PUBLISH_TOKEN !== undefined); + } + isPublishAdvertisementSuppressed() { + return (this.options.publishQuiet || + this.isTruthyString(process.env.CUCUMBER_PUBLISH_QUIET)); + } + getFormats() { + const mapping = { '': 'progress' }; + this.options.format.forEach((format) => { + const [type, outputTo] = option_splitter_1.default.split(format); + mapping[outputTo] = type; + }); + if (this.isPublishing()) { + const publishUrl = value_checker_1.valueOrDefault(process.env.CUCUMBER_PUBLISH_URL, DEFAULT_CUCUMBER_PUBLISH_URL); + mapping[publishUrl] = 'message'; + } + return lodash_1.default.map(mapping, (type, outputTo) => ({ outputTo, type })); + } + isTruthyString(s) { + if (s === undefined) { + return false; + } + return s.match(/^(false|no|0)$/i) === null; + } + async getUnexpandedFeaturePaths() { + if (this.args.length > 0) { + const nestedFeaturePaths = await bluebird_1.default.map(this.args, async (arg) => { + const filename = path_1.default.basename(arg); + if (filename[0] === '@') { + const filePath = path_1.default.join(this.cwd, arg); + const content = await fs_1.default.readFile(filePath, 'utf8'); + return lodash_1.default.chain(content).split('\n').map(lodash_1.default.trim).compact().value(); + } + return [arg]; + }); + const featurePaths = lodash_1.default.flatten(nestedFeaturePaths); + if (featurePaths.length > 0) { + return featurePaths; + } + } + return ['features/**/*.feature']; + } +} +exports.default = ConfigurationBuilder; +//# sourceMappingURL=configuration_builder.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.js.map b/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.js.map new file mode 100644 index 0000000..ae8f0c8 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/configuration_builder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"configuration_builder.js","sourceRoot":"","sources":["../../src/cli/configuration_builder.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport ArgvParser, {\n IParsedArgvFormatOptions,\n IParsedArgvOptions,\n} from './argv_parser'\nimport fs from 'mz/fs'\nimport path from 'path'\nimport OptionSplitter from './option_splitter'\nimport bluebird from 'bluebird'\nimport glob from 'glob'\nimport { promisify } from 'util'\nimport { IPickleFilterOptions } from '../pickle_filter'\nimport { IRuntimeOptions } from '../runtime'\nimport { valueOrDefault } from '../value_checker'\n\nexport interface IConfigurationFormat {\n outputTo: string\n type: string\n}\n\nexport interface IConfiguration {\n esm: boolean\n featureDefaultLanguage: string\n featurePaths: string[]\n formats: IConfigurationFormat[]\n formatOptions: IParsedArgvFormatOptions\n publishing: boolean\n listI18nKeywordsFor: string\n listI18nLanguages: boolean\n order: string\n parallel: number\n pickleFilterOptions: IPickleFilterOptions\n predictableIds: boolean\n profiles: string[]\n runtimeOptions: IRuntimeOptions\n shouldExitImmediately: boolean\n supportCodePaths: string[]\n supportCodeRequiredModules: string[]\n suppressPublishAdvertisement: boolean\n}\n\nexport interface INewConfigurationBuilderOptions {\n argv: string[]\n cwd: string\n}\n\nconst DEFAULT_CUCUMBER_PUBLISH_URL = 'https://messages.cucumber.io/api/reports'\n\nexport default class ConfigurationBuilder {\n static async build(\n options: INewConfigurationBuilderOptions\n ): Promise {\n const builder = new ConfigurationBuilder(options)\n return await builder.build()\n }\n\n private readonly cwd: string\n private readonly args: string[]\n private readonly options: IParsedArgvOptions\n\n constructor({ argv, cwd }: INewConfigurationBuilderOptions) {\n this.cwd = cwd\n\n ArgvParser.lint(argv)\n const parsedArgv = ArgvParser.parse(argv)\n this.args = parsedArgv.args\n this.options = parsedArgv.options\n }\n\n async build(): Promise {\n const listI18nKeywordsFor = this.options.i18nKeywords\n const listI18nLanguages = this.options.i18nLanguages\n const unexpandedFeaturePaths = await this.getUnexpandedFeaturePaths()\n let featurePaths: string[] = []\n let supportCodePaths: string[] = []\n if (listI18nKeywordsFor === '' && !listI18nLanguages) {\n featurePaths = await this.expandFeaturePaths(unexpandedFeaturePaths)\n let unexpandedSupportCodePaths = this.options.require\n if (unexpandedSupportCodePaths.length === 0) {\n unexpandedSupportCodePaths = this.getFeatureDirectoryPaths(featurePaths)\n }\n supportCodePaths = await this.expandPaths(\n unexpandedSupportCodePaths,\n this.options.esm ? '.@(js|mjs)' : '.js'\n )\n }\n return {\n esm: this.options.esm,\n featureDefaultLanguage: this.options.language,\n featurePaths,\n formats: this.getFormats(),\n formatOptions: this.options.formatOptions,\n publishing: this.isPublishing(),\n listI18nKeywordsFor,\n listI18nLanguages,\n order: this.options.order,\n parallel: this.options.parallel,\n pickleFilterOptions: {\n cwd: this.cwd,\n featurePaths: unexpandedFeaturePaths,\n names: this.options.name,\n tagExpression: this.options.tags,\n },\n predictableIds: this.options.predictableIds,\n profiles: this.options.profile,\n runtimeOptions: {\n dryRun: this.options.dryRun,\n predictableIds: this.options.predictableIds,\n failFast: this.options.failFast,\n filterStacktraces: !this.options.backtrace,\n retry: this.options.retry,\n retryTagFilter: this.options.retryTagFilter,\n strict: this.options.strict,\n worldParameters: this.options.worldParameters,\n },\n shouldExitImmediately: this.options.exit,\n supportCodePaths,\n supportCodeRequiredModules: this.options.requireModule,\n suppressPublishAdvertisement: this.isPublishAdvertisementSuppressed(),\n }\n }\n\n async expandPaths(\n unexpandedPaths: string[],\n defaultExtension: string\n ): Promise {\n const expandedPaths = await bluebird.map(\n unexpandedPaths,\n async (unexpandedPath) => {\n const matches = await promisify(glob)(unexpandedPath, {\n absolute: true,\n cwd: this.cwd,\n })\n const expanded = await bluebird.map(matches, async (match) => {\n if (path.extname(match) === '') {\n return await promisify(glob)(`${match}/**/*${defaultExtension}`)\n }\n return [match]\n })\n return _.flatten(expanded)\n }\n )\n return _.flatten(expandedPaths).map((x) => path.normalize(x))\n }\n\n async expandFeaturePaths(featurePaths: string[]): Promise {\n featurePaths = featurePaths.map((p) => p.replace(/(:\\d+)*$/g, '')) // Strip line numbers\n return this.expandPaths(featurePaths, '.feature')\n }\n\n getFeatureDirectoryPaths(featurePaths: string[]): string[] {\n const featureDirs = featurePaths.map((featurePath) => {\n let featureDir = path.dirname(featurePath)\n let childDir: string\n let parentDir = featureDir\n while (childDir !== parentDir) {\n childDir = parentDir\n parentDir = path.dirname(childDir)\n if (path.basename(parentDir) === 'features') {\n featureDir = parentDir\n break\n }\n }\n return path.relative(this.cwd, featureDir)\n })\n return _.uniq(featureDirs)\n }\n\n isPublishing(): boolean {\n return (\n this.options.publish ||\n this.isTruthyString(process.env.CUCUMBER_PUBLISH_ENABLED) ||\n process.env.CUCUMBER_PUBLISH_TOKEN !== undefined\n )\n }\n\n isPublishAdvertisementSuppressed(): boolean {\n return (\n this.options.publishQuiet ||\n this.isTruthyString(process.env.CUCUMBER_PUBLISH_QUIET)\n )\n }\n\n getFormats(): IConfigurationFormat[] {\n const mapping: { [key: string]: string } = { '': 'progress' }\n this.options.format.forEach((format) => {\n const [type, outputTo] = OptionSplitter.split(format)\n mapping[outputTo] = type\n })\n if (this.isPublishing()) {\n const publishUrl = valueOrDefault(\n process.env.CUCUMBER_PUBLISH_URL,\n DEFAULT_CUCUMBER_PUBLISH_URL\n )\n\n mapping[publishUrl] = 'message'\n }\n return _.map(mapping, (type, outputTo) => ({ outputTo, type }))\n }\n\n isTruthyString(s: string | undefined): boolean {\n if (s === undefined) {\n return false\n }\n return s.match(/^(false|no|0)$/i) === null\n }\n\n async getUnexpandedFeaturePaths(): Promise {\n if (this.args.length > 0) {\n const nestedFeaturePaths = await bluebird.map(this.args, async (arg) => {\n const filename = path.basename(arg)\n if (filename[0] === '@') {\n const filePath = path.join(this.cwd, arg)\n const content = await fs.readFile(filePath, 'utf8')\n return _.chain(content).split('\\n').map(_.trim).compact().value()\n }\n return [arg]\n })\n const featurePaths = _.flatten(nestedFeaturePaths)\n if (featurePaths.length > 0) {\n return featurePaths\n }\n }\n return ['features/**/*.feature']\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/helpers.d.ts b/node_modules/@cucumber/cucumber/lib/cli/helpers.d.ts new file mode 100644 index 0000000..080c243 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/helpers.d.ts @@ -0,0 +1,29 @@ +/// +import { EventEmitter } from 'events'; +import PickleFilter from '../pickle_filter'; +import { EventDataCollector } from '../formatter/helpers'; +import { Readable } from 'stream'; +import { IdGenerator } from '@cucumber/messages'; +import { ISupportCodeLibrary } from '../support_code_library_builder/types'; +export interface IGetExpandedArgvRequest { + argv: string[]; + cwd: string; +} +export declare function getExpandedArgv({ argv, cwd, }: IGetExpandedArgvRequest): Promise; +interface IParseGherkinMessageStreamRequest { + cwd: string; + eventBroadcaster: EventEmitter; + eventDataCollector: EventDataCollector; + gherkinMessageStream: Readable; + order: string; + pickleFilter: PickleFilter; +} +export declare function parseGherkinMessageStream({ cwd, eventBroadcaster, eventDataCollector, gherkinMessageStream, order, pickleFilter, }: IParseGherkinMessageStreamRequest): Promise; +export declare function orderPickleIds(pickleIds: string[], order: string): void; +export declare function emitMetaMessage(eventBroadcaster: EventEmitter): Promise; +export declare function emitSupportCodeMessages({ eventBroadcaster, supportCodeLibrary, newId, }: { + eventBroadcaster: EventEmitter; + supportCodeLibrary: ISupportCodeLibrary; + newId: IdGenerator.NewId; +}): void; +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/cli/helpers.js b/node_modules/@cucumber/cucumber/lib/cli/helpers.js new file mode 100644 index 0000000..00d91f6 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/helpers.js @@ -0,0 +1,172 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.emitSupportCodeMessages = exports.emitMetaMessage = exports.orderPickleIds = exports.parseGherkinMessageStream = exports.getExpandedArgv = void 0; +const lodash_1 = __importDefault(require("lodash")); +const argv_parser_1 = __importDefault(require("./argv_parser")); +const profile_loader_1 = __importDefault(require("./profile_loader")); +const knuth_shuffle_seeded_1 = __importDefault(require("knuth-shuffle-seeded")); +const path_1 = __importDefault(require("path")); +const value_checker_1 = require("../value_checker"); +const option_splitter_1 = __importDefault(require("./option_splitter")); +const messages_1 = require("@cucumber/messages"); +const create_meta_1 = __importDefault(require("@cucumber/create-meta")); +const support_code_library_builder_1 = require("../support_code_library_builder"); +// eslint-disable-next-line @typescript-eslint/no-var-requires +const importers = require('../importers'); +const StepDefinitionPatternType = messages_1.messages.StepDefinition.StepDefinitionPattern.StepDefinitionPatternType; +async function getExpandedArgv({ argv, cwd, }) { + const { options } = argv_parser_1.default.parse(argv); + const importer = options.esm ? importers.esm : importers.legacy; + let fullArgv = argv; + const profileArgv = await new profile_loader_1.default(cwd, importer).getArgv(options.profile); + if (profileArgv.length > 0) { + fullArgv = lodash_1.default.concat(argv.slice(0, 2), profileArgv, argv.slice(2)); + } + return fullArgv; +} +exports.getExpandedArgv = getExpandedArgv; +async function parseGherkinMessageStream({ cwd, eventBroadcaster, eventDataCollector, gherkinMessageStream, order, pickleFilter, }) { + return await new Promise((resolve, reject) => { + const result = []; + gherkinMessageStream.on('data', (envelope) => { + eventBroadcaster.emit('envelope', envelope); + if (value_checker_1.doesHaveValue(envelope.pickle)) { + const pickle = envelope.pickle; + const pickleId = pickle.id; + const gherkinDocument = eventDataCollector.getGherkinDocument(pickle.uri); + if (pickleFilter.matches({ gherkinDocument, pickle })) { + result.push(pickleId); + } + } + if (value_checker_1.doesHaveValue(envelope.parseError)) { + reject(new Error(`Parse error in '${path_1.default.relative(cwd, envelope.parseError.source.uri)}': ${envelope.parseError.message}`)); + } + }); + gherkinMessageStream.on('end', () => { + orderPickleIds(result, order); + resolve(result); + }); + gherkinMessageStream.on('error', reject); + }); +} +exports.parseGherkinMessageStream = parseGherkinMessageStream; +// Orders the pickleIds in place - morphs input +function orderPickleIds(pickleIds, order) { + let [type, seed] = option_splitter_1.default.split(order); + switch (type) { + case 'defined': + break; + case 'random': + if (seed === '') { + seed = Math.floor(Math.random() * 1000 * 1000).toString(); + console.warn(`Random order using seed: ${seed}`); + } + knuth_shuffle_seeded_1.default(pickleIds, seed); + break; + default: + throw new Error('Unrecgonized order type. Should be `defined` or `random`'); + } +} +exports.orderPickleIds = orderPickleIds; +async function emitMetaMessage(eventBroadcaster) { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const { version } = require('../../package.json'); + eventBroadcaster.emit('envelope', new messages_1.messages.Envelope({ + meta: create_meta_1.default('cucumber-js', version, process.env), + })); +} +exports.emitMetaMessage = emitMetaMessage; +function emitParameterTypes(supportCodeLibrary, eventBroadcaster, newId) { + for (const parameterType of supportCodeLibrary.parameterTypeRegistry + .parameterTypes) { + if (support_code_library_builder_1.builtinParameterTypes.includes(parameterType.name)) { + continue; + } + eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + parameterType: { + id: newId(), + name: parameterType.name, + preferForRegularExpressionMatch: parameterType.preferForRegexpMatch, + regularExpressions: parameterType.regexpStrings, + useForSnippets: parameterType.useForSnippets, + }, + })); + } +} +function emitUndefinedParameterTypes(supportCodeLibrary, eventBroadcaster) { + for (const undefinedParameterType of supportCodeLibrary.undefinedParameterTypes) { + eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + undefinedParameterType, + })); + } +} +function emitStepDefinitions(supportCodeLibrary, eventBroadcaster) { + supportCodeLibrary.stepDefinitions.forEach((stepDefinition) => { + eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + stepDefinition: { + id: stepDefinition.id, + pattern: { + source: stepDefinition.pattern.toString(), + type: typeof stepDefinition.pattern === 'string' + ? StepDefinitionPatternType.CUCUMBER_EXPRESSION + : StepDefinitionPatternType.REGULAR_EXPRESSION, + }, + sourceReference: { + uri: stepDefinition.uri, + location: { + line: stepDefinition.line, + }, + }, + }, + })); + }); +} +function emitTestCaseHooks(supportCodeLibrary, eventBroadcaster) { + ; + [] + .concat(supportCodeLibrary.beforeTestCaseHookDefinitions, supportCodeLibrary.afterTestCaseHookDefinitions) + .forEach((testCaseHookDefinition) => { + eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + hook: { + id: testCaseHookDefinition.id, + tagExpression: testCaseHookDefinition.tagExpression, + sourceReference: { + uri: testCaseHookDefinition.uri, + location: { + line: testCaseHookDefinition.line, + }, + }, + }, + })); + }); +} +function emitTestRunHooks(supportCodeLibrary, eventBroadcaster) { + ; + [] + .concat(supportCodeLibrary.beforeTestRunHookDefinitions, supportCodeLibrary.afterTestRunHookDefinitions) + .forEach((testRunHookDefinition) => { + eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + hook: { + id: testRunHookDefinition.id, + sourceReference: { + uri: testRunHookDefinition.uri, + location: { + line: testRunHookDefinition.line, + }, + }, + }, + })); + }); +} +function emitSupportCodeMessages({ eventBroadcaster, supportCodeLibrary, newId, }) { + emitParameterTypes(supportCodeLibrary, eventBroadcaster, newId); + emitUndefinedParameterTypes(supportCodeLibrary, eventBroadcaster); + emitStepDefinitions(supportCodeLibrary, eventBroadcaster); + emitTestCaseHooks(supportCodeLibrary, eventBroadcaster); + emitTestRunHooks(supportCodeLibrary, eventBroadcaster); +} +exports.emitSupportCodeMessages = emitSupportCodeMessages; +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/helpers.js.map b/node_modules/@cucumber/cucumber/lib/cli/helpers.js.map new file mode 100644 index 0000000..3c40437 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport ArgvParser from './argv_parser'\nimport ProfileLoader from './profile_loader'\nimport shuffle from 'knuth-shuffle-seeded'\nimport path from 'path'\nimport { EventEmitter } from 'events'\nimport PickleFilter from '../pickle_filter'\nimport { EventDataCollector } from '../formatter/helpers'\nimport { doesHaveValue } from '../value_checker'\nimport OptionSplitter from './option_splitter'\nimport { Readable } from 'stream'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport createMeta from '@cucumber/create-meta'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport TestCaseHookDefinition from '../models/test_case_hook_definition'\nimport TestRunHookDefinition from '../models/test_run_hook_definition'\nimport { builtinParameterTypes } from '../support_code_library_builder'\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst importers = require('../importers')\n\nconst StepDefinitionPatternType =\n messages.StepDefinition.StepDefinitionPattern.StepDefinitionPatternType\n\nexport interface IGetExpandedArgvRequest {\n argv: string[]\n cwd: string\n}\n\nexport async function getExpandedArgv({\n argv,\n cwd,\n}: IGetExpandedArgvRequest): Promise {\n const { options } = ArgvParser.parse(argv)\n const importer = options.esm ? importers.esm : importers.legacy\n let fullArgv = argv\n const profileArgv = await new ProfileLoader(cwd, importer).getArgv(\n options.profile\n )\n if (profileArgv.length > 0) {\n fullArgv = _.concat(argv.slice(0, 2), profileArgv, argv.slice(2))\n }\n return fullArgv\n}\n\ninterface IParseGherkinMessageStreamRequest {\n cwd: string\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n gherkinMessageStream: Readable\n order: string\n pickleFilter: PickleFilter\n}\n\nexport async function parseGherkinMessageStream({\n cwd,\n eventBroadcaster,\n eventDataCollector,\n gherkinMessageStream,\n order,\n pickleFilter,\n}: IParseGherkinMessageStreamRequest): Promise {\n return await new Promise((resolve, reject) => {\n const result: string[] = []\n gherkinMessageStream.on('data', (envelope: messages.IEnvelope) => {\n eventBroadcaster.emit('envelope', envelope)\n if (doesHaveValue(envelope.pickle)) {\n const pickle = envelope.pickle\n const pickleId = pickle.id\n const gherkinDocument = eventDataCollector.getGherkinDocument(\n pickle.uri\n )\n if (pickleFilter.matches({ gherkinDocument, pickle })) {\n result.push(pickleId)\n }\n }\n if (doesHaveValue(envelope.parseError)) {\n reject(\n new Error(\n `Parse error in '${path.relative(\n cwd,\n envelope.parseError.source.uri\n )}': ${envelope.parseError.message}`\n )\n )\n }\n })\n gherkinMessageStream.on('end', () => {\n orderPickleIds(result, order)\n resolve(result)\n })\n gherkinMessageStream.on('error', reject)\n })\n}\n\n// Orders the pickleIds in place - morphs input\nexport function orderPickleIds(pickleIds: string[], order: string): void {\n let [type, seed] = OptionSplitter.split(order)\n switch (type) {\n case 'defined':\n break\n case 'random':\n if (seed === '') {\n seed = Math.floor(Math.random() * 1000 * 1000).toString()\n console.warn(`Random order using seed: ${seed}`)\n }\n shuffle(pickleIds, seed)\n break\n default:\n throw new Error(\n 'Unrecgonized order type. Should be `defined` or `random`'\n )\n }\n}\n\nexport async function emitMetaMessage(\n eventBroadcaster: EventEmitter\n): Promise {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { version } = require('../../package.json')\n eventBroadcaster.emit(\n 'envelope',\n new messages.Envelope({\n meta: createMeta('cucumber-js', version, process.env),\n })\n )\n}\n\nfunction emitParameterTypes(\n supportCodeLibrary: ISupportCodeLibrary,\n eventBroadcaster: EventEmitter,\n newId: IdGenerator.NewId\n): void {\n for (const parameterType of supportCodeLibrary.parameterTypeRegistry\n .parameterTypes) {\n if (builtinParameterTypes.includes(parameterType.name)) {\n continue\n }\n eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n parameterType: {\n id: newId(),\n name: parameterType.name,\n preferForRegularExpressionMatch: parameterType.preferForRegexpMatch,\n regularExpressions: parameterType.regexpStrings,\n useForSnippets: parameterType.useForSnippets,\n },\n })\n )\n }\n}\n\nfunction emitUndefinedParameterTypes(\n supportCodeLibrary: ISupportCodeLibrary,\n eventBroadcaster: EventEmitter\n): void {\n for (const undefinedParameterType of supportCodeLibrary.undefinedParameterTypes) {\n eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n undefinedParameterType,\n })\n )\n }\n}\n\nfunction emitStepDefinitions(\n supportCodeLibrary: ISupportCodeLibrary,\n eventBroadcaster: EventEmitter\n): void {\n supportCodeLibrary.stepDefinitions.forEach((stepDefinition) => {\n eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n stepDefinition: {\n id: stepDefinition.id,\n pattern: {\n source: stepDefinition.pattern.toString(),\n type:\n typeof stepDefinition.pattern === 'string'\n ? StepDefinitionPatternType.CUCUMBER_EXPRESSION\n : StepDefinitionPatternType.REGULAR_EXPRESSION,\n },\n sourceReference: {\n uri: stepDefinition.uri,\n location: {\n line: stepDefinition.line,\n },\n },\n },\n })\n )\n })\n}\n\nfunction emitTestCaseHooks(\n supportCodeLibrary: ISupportCodeLibrary,\n eventBroadcaster: EventEmitter\n): void {\n ;[]\n .concat(\n supportCodeLibrary.beforeTestCaseHookDefinitions,\n supportCodeLibrary.afterTestCaseHookDefinitions\n )\n .forEach((testCaseHookDefinition: TestCaseHookDefinition) => {\n eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n hook: {\n id: testCaseHookDefinition.id,\n tagExpression: testCaseHookDefinition.tagExpression,\n sourceReference: {\n uri: testCaseHookDefinition.uri,\n location: {\n line: testCaseHookDefinition.line,\n },\n },\n },\n })\n )\n })\n}\n\nfunction emitTestRunHooks(\n supportCodeLibrary: ISupportCodeLibrary,\n eventBroadcaster: EventEmitter\n): void {\n ;[]\n .concat(\n supportCodeLibrary.beforeTestRunHookDefinitions,\n supportCodeLibrary.afterTestRunHookDefinitions\n )\n .forEach((testRunHookDefinition: TestRunHookDefinition) => {\n eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n hook: {\n id: testRunHookDefinition.id,\n sourceReference: {\n uri: testRunHookDefinition.uri,\n location: {\n line: testRunHookDefinition.line,\n },\n },\n },\n })\n )\n })\n}\n\nexport function emitSupportCodeMessages({\n eventBroadcaster,\n supportCodeLibrary,\n newId,\n}: {\n eventBroadcaster: EventEmitter\n supportCodeLibrary: ISupportCodeLibrary\n newId: IdGenerator.NewId\n}): void {\n emitParameterTypes(supportCodeLibrary, eventBroadcaster, newId)\n emitUndefinedParameterTypes(supportCodeLibrary, eventBroadcaster)\n emitStepDefinitions(supportCodeLibrary, eventBroadcaster)\n emitTestCaseHooks(supportCodeLibrary, eventBroadcaster)\n emitTestRunHooks(supportCodeLibrary, eventBroadcaster)\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/i18n.d.ts b/node_modules/@cucumber/cucumber/lib/cli/i18n.d.ts new file mode 100644 index 0000000..82dc3b0 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/i18n.d.ts @@ -0,0 +1,2 @@ +export declare function getLanguages(): string; +export declare function getKeywords(isoCode: string): string; diff --git a/node_modules/@cucumber/cucumber/lib/cli/i18n.js b/node_modules/@cucumber/cucumber/lib/cli/i18n.js new file mode 100644 index 0000000..d56246f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/i18n.js @@ -0,0 +1,70 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getKeywords = exports.getLanguages = void 0; +const lodash_1 = __importDefault(require("lodash")); +const gherkin_1 = require("@cucumber/gherkin"); +const cli_table3_1 = __importDefault(require("cli-table3")); +const capital_case_1 = require("capital-case"); +const keywords = [ + 'feature', + 'background', + 'scenario', + 'scenarioOutline', + 'examples', + 'given', + 'when', + 'then', + 'and', + 'but', +]; +function getAsTable(header, rows) { + const table = new cli_table3_1.default({ + chars: { + bottom: '', + 'bottom-left': '', + 'bottom-mid': '', + 'bottom-right': '', + left: '', + 'left-mid': '', + mid: '', + 'mid-mid': '', + middle: ' | ', + right: '', + 'right-mid': '', + top: '', + 'top-left': '', + 'top-mid': '', + 'top-right': '', + }, + style: { + border: [], + 'padding-left': 0, + 'padding-right': 0, + }, + }); + table.push(header); + table.push(...rows); + return table.toString(); +} +function getLanguages() { + const rows = lodash_1.default.map(gherkin_1.dialects, (data, isoCode) => [ + isoCode, + data.name, + data.native, + ]); + return getAsTable(['ISO 639-1', 'ENGLISH NAME', 'NATIVE NAME'], rows); +} +exports.getLanguages = getLanguages; +function getKeywords(isoCode) { + const language = gherkin_1.dialects[isoCode]; + const rows = lodash_1.default.map(keywords, (keyword) => { + const words = lodash_1.default.map(language[keyword], (s) => `"${s}"`).join(', '); + return [capital_case_1.capitalCase(keyword), words]; + }); + return getAsTable(['ENGLISH KEYWORD', 'NATIVE KEYWORDS'], rows); +} +exports.getKeywords = getKeywords; +//# sourceMappingURL=i18n.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/i18n.js.map b/node_modules/@cucumber/cucumber/lib/cli/i18n.js.map new file mode 100644 index 0000000..6f9e017 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/i18n.js.map @@ -0,0 +1 @@ +{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/cli/i18n.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,+CAA4C;AAC5C,4DAA8B;AAC9B,+CAA0C;AAE1C,MAAM,QAAQ,GAAG;IACf,SAAS;IACT,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;CACG,CAAA;AAEV,SAAS,UAAU,CAAC,MAAgB,EAAE,IAAgB;IACpD,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;YACP,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;SACnB;KACF,CAAC,CAAA;IACF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACnB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC;AAED,SAAgB,YAAY;IAC1B,MAAM,IAAI,GAAG,gBAAC,CAAC,GAAG,CAAC,kBAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9C,OAAO;QACP,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,MAAM;KACZ,CAAC,CAAA;IACF,OAAO,UAAU,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,CAAA;AACvE,CAAC;AAPD,oCAOC;AAED,SAAgB,WAAW,CAAC,OAAe;IACzC,MAAM,QAAQ,GAAG,kBAAQ,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,gBAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,gBAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,OAAO,CAAC,0BAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IACF,OAAO,UAAU,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAA;AACjE,CAAC;AAPD,kCAOC","sourcesContent":["import _ from 'lodash'\nimport { dialects } from '@cucumber/gherkin'\nimport Table from 'cli-table3'\nimport { capitalCase } from 'capital-case'\n\nconst keywords = [\n 'feature',\n 'background',\n 'scenario',\n 'scenarioOutline',\n 'examples',\n 'given',\n 'when',\n 'then',\n 'and',\n 'but',\n] as const\n\nfunction getAsTable(header: string[], rows: string[][]): string {\n const table = new Table({\n chars: {\n bottom: '',\n 'bottom-left': '',\n 'bottom-mid': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n middle: ' | ',\n right: '',\n 'right-mid': '',\n top: '',\n 'top-left': '',\n 'top-mid': '',\n 'top-right': '',\n },\n style: {\n border: [],\n 'padding-left': 0,\n 'padding-right': 0,\n },\n })\n table.push(header)\n table.push(...rows)\n return table.toString()\n}\n\nexport function getLanguages(): string {\n const rows = _.map(dialects, (data, isoCode) => [\n isoCode,\n data.name,\n data.native,\n ])\n return getAsTable(['ISO 639-1', 'ENGLISH NAME', 'NATIVE NAME'], rows)\n}\n\nexport function getKeywords(isoCode: string): string {\n const language = dialects[isoCode]\n const rows = _.map(keywords, (keyword) => {\n const words = _.map(language[keyword], (s) => `\"${s}\"`).join(', ')\n return [capitalCase(keyword), words]\n })\n return getAsTable(['ENGLISH KEYWORD', 'NATIVE KEYWORDS'], rows)\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/index.d.ts b/node_modules/@cucumber/cucumber/lib/cli/index.d.ts new file mode 100644 index 0000000..b39e17e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/index.d.ts @@ -0,0 +1,41 @@ +/// +import { EventDataCollector } from '../formatter/helpers'; +import { IConfiguration, IConfigurationFormat } from './configuration_builder'; +import { EventEmitter } from 'events'; +import { IdGenerator } from '@cucumber/messages'; +import { IFormatterStream } from '../formatter'; +import { ISupportCodeLibrary } from '../support_code_library_builder/types'; +import { IParsedArgvFormatOptions } from './argv_parser'; +export interface ICliRunResult { + shouldExitImmediately: boolean; + success: boolean; +} +interface IInitializeFormattersRequest { + eventBroadcaster: EventEmitter; + eventDataCollector: EventDataCollector; + formatOptions: IParsedArgvFormatOptions; + formats: IConfigurationFormat[]; + supportCodeLibrary: ISupportCodeLibrary; +} +interface IGetSupportCodeLibraryRequest { + newId: IdGenerator.NewId; + supportCodeRequiredModules: string[]; + supportCodePaths: string[]; +} +export declare type IUserCodeImporter = (path: string, isFilePath?: boolean) => Promise; +export default class Cli { + private readonly argv; + private readonly cwd; + private readonly stdout; + private importer; + constructor({ argv, cwd, stdout, }: { + argv: string[]; + cwd: string; + stdout: IFormatterStream; + }); + getConfiguration(): Promise; + initializeFormatters({ eventBroadcaster, eventDataCollector, formatOptions, formats, supportCodeLibrary, }: IInitializeFormattersRequest): Promise<() => Promise>; + getSupportCodeLibrary({ newId, supportCodeRequiredModules, supportCodePaths, }: IGetSupportCodeLibraryRequest): Promise; + run(): Promise; +} +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/cli/index.js b/node_modules/@cucumber/cucumber/lib/cli/index.js new file mode 100644 index 0000000..67e7c2d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/index.js @@ -0,0 +1,218 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("../formatter/helpers"); +const helpers_2 = require("./helpers"); +const install_validator_1 = require("./install_validator"); +const I18n = __importStar(require("./i18n")); +const configuration_builder_1 = __importDefault(require("./configuration_builder")); +const events_1 = require("events"); +const builder_1 = __importDefault(require("../formatter/builder")); +const fs_1 = __importDefault(require("mz/fs")); +const path_1 = __importDefault(require("path")); +const pickle_filter_1 = __importDefault(require("../pickle_filter")); +const bluebird_1 = __importDefault(require("bluebird")); +const coordinator_1 = __importDefault(require("../runtime/parallel/coordinator")); +const runtime_1 = __importDefault(require("../runtime")); +const support_code_library_builder_1 = __importDefault(require("../support_code_library_builder")); +const messages_1 = require("@cucumber/messages"); +const value_checker_1 = require("../value_checker"); +const gherkin_streams_1 = require("@cucumber/gherkin-streams"); +const http_stream_1 = __importDefault(require("../formatter/http_stream")); +const stream_1 = require("stream"); +// eslint-disable-next-line @typescript-eslint/no-var-requires +const importers = require('../importers'); +const { incrementing, uuid } = messages_1.IdGenerator; +class Cli { + constructor({ argv, cwd, stdout, }) { + this.importer = importers.legacy; + this.argv = argv; + this.cwd = cwd; + this.stdout = stdout; + } + async getConfiguration() { + const fullArgv = await helpers_2.getExpandedArgv({ + argv: this.argv, + cwd: this.cwd, + }); + return await configuration_builder_1.default.build({ + argv: fullArgv, + cwd: this.cwd, + }); + } + async initializeFormatters({ eventBroadcaster, eventDataCollector, formatOptions, formats, supportCodeLibrary, }) { + const formatters = await bluebird_1.default.map(formats, async ({ type, outputTo }) => { + let stream = this.stdout; + if (outputTo !== '') { + if (outputTo.match(/^https?:\/\//) !== null) { + const headers = {}; + if (process.env.CUCUMBER_PUBLISH_TOKEN !== undefined) { + headers.Authorization = `Bearer ${process.env.CUCUMBER_PUBLISH_TOKEN}`; + } + stream = new http_stream_1.default(outputTo, 'GET', headers); + const readerStream = new stream_1.Writable({ + objectMode: true, + write: function (responseBody, encoding, writeCallback) { + console.error(responseBody); + writeCallback(); + }, + }); + stream.pipe(readerStream); + } + else { + const fd = await fs_1.default.open(path_1.default.resolve(this.cwd, outputTo), 'w'); + stream = fs_1.default.createWriteStream(null, { fd }); + } + } + stream.on('error', (error) => { + console.error(error.message); + process.exit(1); + }); + const typeOptions = { + cwd: this.cwd, + eventBroadcaster, + eventDataCollector, + log: stream.write.bind(stream), + parsedArgvOptions: formatOptions, + importer: this.importer, + stream, + cleanup: stream === this.stdout + ? async () => await Promise.resolve() + : bluebird_1.default.promisify(stream.end.bind(stream)), + supportCodeLibrary, + }; + if (value_checker_1.doesNotHaveValue(formatOptions.colorsEnabled)) { + typeOptions.parsedArgvOptions.colorsEnabled = stream.isTTY; + } + if (type === 'progress-bar' && !stream.isTTY) { + const outputToName = outputTo === '' ? 'stdout' : outputTo; + console.warn(`Cannot use 'progress-bar' formatter for output to '${outputToName}' as not a TTY. Switching to 'progress' formatter.`); + type = 'progress'; + } + return await builder_1.default.build(type, typeOptions); + }); + return async function () { + await bluebird_1.default.each(formatters, async (formatter) => { + await formatter.finished(); + }); + }; + } + async getSupportCodeLibrary({ newId, supportCodeRequiredModules, supportCodePaths, }) { + for (const requiredModule of supportCodeRequiredModules) { + await this.importer(requiredModule); + } + support_code_library_builder_1.default.reset(this.cwd, newId); + for (const codePath of supportCodePaths) { + await this.importer(codePath, true); + } + return support_code_library_builder_1.default.finalize(); + } + async run() { + await install_validator_1.validateInstall(this.cwd); + const configuration = await this.getConfiguration(); + if (configuration.listI18nLanguages) { + this.stdout.write(I18n.getLanguages()); + return { shouldExitImmediately: true, success: true }; + } + if (configuration.listI18nKeywordsFor !== '') { + this.stdout.write(I18n.getKeywords(configuration.listI18nKeywordsFor)); + return { shouldExitImmediately: true, success: true }; + } + const newId = configuration.predictableIds && configuration.parallel <= 1 + ? incrementing() + : uuid(); + if (configuration.esm) { + this.importer = importers.esm; + } + const supportCodeLibrary = await this.getSupportCodeLibrary({ + newId, + supportCodePaths: configuration.supportCodePaths, + supportCodeRequiredModules: configuration.supportCodeRequiredModules, + }); + const eventBroadcaster = new events_1.EventEmitter(); + const eventDataCollector = new helpers_1.EventDataCollector(eventBroadcaster); + const cleanup = await this.initializeFormatters({ + eventBroadcaster, + eventDataCollector, + formatOptions: configuration.formatOptions, + formats: configuration.formats, + supportCodeLibrary, + }); + await helpers_2.emitMetaMessage(eventBroadcaster); + const gherkinMessageStream = gherkin_streams_1.GherkinStreams.fromPaths(configuration.featurePaths, { + defaultDialect: configuration.featureDefaultLanguage, + newId, + }); + const pickleIds = await helpers_2.parseGherkinMessageStream({ + cwd: this.cwd, + eventBroadcaster, + eventDataCollector, + gherkinMessageStream, + order: configuration.order, + pickleFilter: new pickle_filter_1.default(configuration.pickleFilterOptions), + }); + helpers_2.emitSupportCodeMessages({ + eventBroadcaster, + supportCodeLibrary, + newId, + }); + let success; + if (configuration.parallel > 1) { + const parallelRuntimeCoordinator = new coordinator_1.default({ + cwd: this.cwd, + eventBroadcaster, + eventDataCollector, + options: configuration.runtimeOptions, + pickleIds, + supportCodeLibrary, + supportCodePaths: configuration.supportCodePaths, + supportCodeRequiredModules: configuration.supportCodeRequiredModules, + }); + await new Promise((resolve) => { + parallelRuntimeCoordinator.run(configuration.parallel, (s) => { + success = s; + resolve(); + }); + }); + } + else { + const runtime = new runtime_1.default({ + eventBroadcaster, + eventDataCollector, + options: configuration.runtimeOptions, + newId, + pickleIds, + supportCodeLibrary, + }); + success = await runtime.start(); + } + await cleanup(); + return { + shouldExitImmediately: configuration.shouldExitImmediately, + success, + }; + } +} +exports.default = Cli; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/index.js.map b/node_modules/@cucumber/cucumber/lib/cli/index.js.map new file mode 100644 index 0000000..439bc69 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventDataCollector } from '../formatter/helpers'\nimport {\n emitMetaMessage,\n emitSupportCodeMessages,\n getExpandedArgv,\n parseGherkinMessageStream,\n} from './helpers'\nimport { validateInstall } from './install_validator'\nimport * as I18n from './i18n'\nimport ConfigurationBuilder, {\n IConfiguration,\n IConfigurationFormat,\n} from './configuration_builder'\nimport { EventEmitter } from 'events'\nimport FormatterBuilder from '../formatter/builder'\nimport fs from 'mz/fs'\nimport path from 'path'\nimport PickleFilter from '../pickle_filter'\nimport bluebird from 'bluebird'\nimport ParallelRuntimeCoordinator from '../runtime/parallel/coordinator'\nimport Runtime from '../runtime'\nimport supportCodeLibraryBuilder from '../support_code_library_builder'\nimport { IdGenerator } from '@cucumber/messages'\nimport { IFormatterStream } from '../formatter'\nimport { WriteStream as TtyWriteStream } from 'tty'\nimport { doesNotHaveValue } from '../value_checker'\nimport { GherkinStreams } from '@cucumber/gherkin-streams'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport { IParsedArgvFormatOptions } from './argv_parser'\nimport HttpStream from '../formatter/http_stream'\nimport { Writable } from 'stream'\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst importers = require('../importers')\nconst { incrementing, uuid } = IdGenerator\n\nexport interface ICliRunResult {\n shouldExitImmediately: boolean\n success: boolean\n}\n\ninterface IInitializeFormattersRequest {\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n formatOptions: IParsedArgvFormatOptions\n formats: IConfigurationFormat[]\n supportCodeLibrary: ISupportCodeLibrary\n}\n\ninterface IGetSupportCodeLibraryRequest {\n newId: IdGenerator.NewId\n supportCodeRequiredModules: string[]\n supportCodePaths: string[]\n}\n\nexport type IUserCodeImporter = (\n path: string,\n isFilePath?: boolean\n) => Promise\n\nexport default class Cli {\n private readonly argv: string[]\n private readonly cwd: string\n private readonly stdout: IFormatterStream\n private importer: IUserCodeImporter = importers.legacy\n\n constructor({\n argv,\n cwd,\n stdout,\n }: {\n argv: string[]\n cwd: string\n stdout: IFormatterStream\n }) {\n this.argv = argv\n this.cwd = cwd\n this.stdout = stdout\n }\n\n async getConfiguration(): Promise {\n const fullArgv = await getExpandedArgv({\n argv: this.argv,\n cwd: this.cwd,\n })\n return await ConfigurationBuilder.build({\n argv: fullArgv,\n cwd: this.cwd,\n })\n }\n\n async initializeFormatters({\n eventBroadcaster,\n eventDataCollector,\n formatOptions,\n formats,\n supportCodeLibrary,\n }: IInitializeFormattersRequest): Promise<() => Promise> {\n const formatters = await bluebird.map(\n formats,\n async ({ type, outputTo }) => {\n let stream: IFormatterStream = this.stdout\n if (outputTo !== '') {\n if (outputTo.match(/^https?:\\/\\//) !== null) {\n const headers: { [key: string]: string } = {}\n if (process.env.CUCUMBER_PUBLISH_TOKEN !== undefined) {\n headers.Authorization = `Bearer ${process.env.CUCUMBER_PUBLISH_TOKEN}`\n }\n\n stream = new HttpStream(outputTo, 'GET', headers)\n const readerStream = new Writable({\n objectMode: true,\n write: function (responseBody: string, encoding, writeCallback) {\n console.error(responseBody)\n writeCallback()\n },\n })\n stream.pipe(readerStream)\n } else {\n const fd = await fs.open(path.resolve(this.cwd, outputTo), 'w')\n stream = fs.createWriteStream(null, { fd })\n }\n }\n\n stream.on('error', (error) => {\n console.error(error.message)\n process.exit(1)\n })\n\n const typeOptions = {\n cwd: this.cwd,\n eventBroadcaster,\n eventDataCollector,\n log: stream.write.bind(stream),\n parsedArgvOptions: formatOptions,\n importer: this.importer,\n stream,\n cleanup:\n stream === this.stdout\n ? async () => await Promise.resolve()\n : bluebird.promisify(stream.end.bind(stream)),\n supportCodeLibrary,\n }\n if (doesNotHaveValue(formatOptions.colorsEnabled)) {\n typeOptions.parsedArgvOptions.colorsEnabled = (stream as TtyWriteStream).isTTY\n }\n if (type === 'progress-bar' && !(stream as TtyWriteStream).isTTY) {\n const outputToName = outputTo === '' ? 'stdout' : outputTo\n console.warn(\n `Cannot use 'progress-bar' formatter for output to '${outputToName}' as not a TTY. Switching to 'progress' formatter.`\n )\n type = 'progress'\n }\n return await FormatterBuilder.build(type, typeOptions)\n }\n )\n return async function () {\n await bluebird.each(formatters, async (formatter) => {\n await formatter.finished()\n })\n }\n }\n\n async getSupportCodeLibrary({\n newId,\n supportCodeRequiredModules,\n supportCodePaths,\n }: IGetSupportCodeLibraryRequest): Promise {\n for (const requiredModule of supportCodeRequiredModules) {\n await this.importer(requiredModule)\n }\n supportCodeLibraryBuilder.reset(this.cwd, newId)\n for (const codePath of supportCodePaths) {\n await this.importer(codePath, true)\n }\n return supportCodeLibraryBuilder.finalize()\n }\n\n async run(): Promise {\n await validateInstall(this.cwd)\n const configuration = await this.getConfiguration()\n if (configuration.listI18nLanguages) {\n this.stdout.write(I18n.getLanguages())\n return { shouldExitImmediately: true, success: true }\n }\n if (configuration.listI18nKeywordsFor !== '') {\n this.stdout.write(I18n.getKeywords(configuration.listI18nKeywordsFor))\n return { shouldExitImmediately: true, success: true }\n }\n const newId =\n configuration.predictableIds && configuration.parallel <= 1\n ? incrementing()\n : uuid()\n if (configuration.esm) {\n this.importer = importers.esm\n }\n const supportCodeLibrary = await this.getSupportCodeLibrary({\n newId,\n supportCodePaths: configuration.supportCodePaths,\n supportCodeRequiredModules: configuration.supportCodeRequiredModules,\n })\n const eventBroadcaster = new EventEmitter()\n const eventDataCollector = new EventDataCollector(eventBroadcaster)\n const cleanup = await this.initializeFormatters({\n eventBroadcaster,\n eventDataCollector,\n formatOptions: configuration.formatOptions,\n formats: configuration.formats,\n supportCodeLibrary,\n })\n await emitMetaMessage(eventBroadcaster)\n const gherkinMessageStream = GherkinStreams.fromPaths(\n configuration.featurePaths,\n {\n defaultDialect: configuration.featureDefaultLanguage,\n newId,\n }\n )\n const pickleIds = await parseGherkinMessageStream({\n cwd: this.cwd,\n eventBroadcaster,\n eventDataCollector,\n gherkinMessageStream,\n order: configuration.order,\n pickleFilter: new PickleFilter(configuration.pickleFilterOptions),\n })\n emitSupportCodeMessages({\n eventBroadcaster,\n supportCodeLibrary,\n newId,\n })\n let success\n if (configuration.parallel > 1) {\n const parallelRuntimeCoordinator = new ParallelRuntimeCoordinator({\n cwd: this.cwd,\n eventBroadcaster,\n eventDataCollector,\n options: configuration.runtimeOptions,\n pickleIds,\n supportCodeLibrary,\n supportCodePaths: configuration.supportCodePaths,\n supportCodeRequiredModules: configuration.supportCodeRequiredModules,\n })\n await new Promise((resolve) => {\n parallelRuntimeCoordinator.run(configuration.parallel, (s) => {\n success = s\n resolve()\n })\n })\n } else {\n const runtime = new Runtime({\n eventBroadcaster,\n eventDataCollector,\n options: configuration.runtimeOptions,\n newId,\n pickleIds,\n supportCodeLibrary,\n })\n success = await runtime.start()\n }\n await cleanup()\n return {\n shouldExitImmediately: configuration.shouldExitImmediately,\n success,\n }\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/install_validator.d.ts b/node_modules/@cucumber/cucumber/lib/cli/install_validator.d.ts new file mode 100644 index 0000000..8a86a6a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/install_validator.d.ts @@ -0,0 +1 @@ +export declare function validateInstall(cwd: string): Promise; diff --git a/node_modules/@cucumber/cucumber/lib/cli/install_validator.js b/node_modules/@cucumber/cucumber/lib/cli/install_validator.js new file mode 100644 index 0000000..7693adb --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/install_validator.js @@ -0,0 +1,40 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validateInstall = void 0; +const fs_1 = __importDefault(require("mz/fs")); +const path_1 = __importDefault(require("path")); +const resolve_1 = __importDefault(require("resolve")); +const util_1 = require("util"); +async function validateInstall(cwd) { + const projectPath = path_1.default.join(__dirname, '..', '..'); + if (projectPath === cwd) { + return; // cucumber testing itself + } + const currentCucumberPath = require.resolve(projectPath); + let localCucumberPath; + try { + localCucumberPath = await util_1.promisify(resolve_1.default)('@cucumber/cucumber', { + basedir: cwd, + }); + } + catch (e) { + throw new Error('`@cucumber/cucumber` module not resolvable. Must be locally installed.'); + } + localCucumberPath = await fs_1.default.realpath(localCucumberPath); + if (localCucumberPath !== currentCucumberPath) { + throw new Error(` + You appear to be executing an install of cucumber (most likely a global install) + that is different from your local install (the one required in your support files). + For cucumber to work, you need to execute the same install that is required in your support files. + Please execute the locally installed version to run your tests. + + Executed Path: ${currentCucumberPath} + Local Path: ${localCucumberPath} + `); + } +} +exports.validateInstall = validateInstall; +//# sourceMappingURL=install_validator.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/install_validator.js.map b/node_modules/@cucumber/cucumber/lib/cli/install_validator.js.map new file mode 100644 index 0000000..54c3ce0 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/install_validator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"install_validator.js","sourceRoot":"","sources":["../../src/cli/install_validator.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAsB;AACtB,gDAAuB;AACvB,sDAA6B;AAC7B,+BAAgC;AAEzB,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACpD,IAAI,WAAW,KAAK,GAAG,EAAE;QACvB,OAAM,CAAC,0BAA0B;KAClC;IACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACxD,IAAI,iBAAyB,CAAA;IAC7B,IAAI;QACF,iBAAiB,GAAG,MAAM,gBAAS,CAA+B,iBAAO,CAAC,CACxE,oBAAoB,EACpB;YACE,OAAO,EAAE,GAAG;SACb,CACF,CAAA;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;KACF;IACD,iBAAiB,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACxD,IAAI,iBAAiB,KAAK,mBAAmB,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb;;;;;;uBAMiB,mBAAmB;uBACnB,iBAAiB;OACjC,CACF,CAAA;KACF;AACH,CAAC;AAjCD,0CAiCC","sourcesContent":["import fs from 'mz/fs'\nimport path from 'path'\nimport resolve from 'resolve'\nimport { promisify } from 'util'\n\nexport async function validateInstall(cwd: string): Promise {\n const projectPath = path.join(__dirname, '..', '..')\n if (projectPath === cwd) {\n return // cucumber testing itself\n }\n const currentCucumberPath = require.resolve(projectPath)\n let localCucumberPath: string\n try {\n localCucumberPath = await promisify(resolve)(\n '@cucumber/cucumber',\n {\n basedir: cwd,\n }\n )\n } catch (e) {\n throw new Error(\n '`@cucumber/cucumber` module not resolvable. Must be locally installed.'\n )\n }\n localCucumberPath = await fs.realpath(localCucumberPath)\n if (localCucumberPath !== currentCucumberPath) {\n throw new Error(\n `\n You appear to be executing an install of cucumber (most likely a global install)\n that is different from your local install (the one required in your support files).\n For cucumber to work, you need to execute the same install that is required in your support files.\n Please execute the locally installed version to run your tests.\n\n Executed Path: ${currentCucumberPath}\n Local Path: ${localCucumberPath}\n `\n )\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/option_splitter.d.ts b/node_modules/@cucumber/cucumber/lib/cli/option_splitter.d.ts new file mode 100644 index 0000000..64e677a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/option_splitter.d.ts @@ -0,0 +1,4 @@ +declare const OptionSplitter: { + split(option: string): string[]; +}; +export default OptionSplitter; diff --git a/node_modules/@cucumber/cucumber/lib/cli/option_splitter.js b/node_modules/@cucumber/cucumber/lib/cli/option_splitter.js new file mode 100644 index 0000000..785b73f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/option_splitter.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const OptionSplitter = { + split(option) { + const parts = option.split(/([^A-Z]):(?!\\)/); + const result = parts.reduce((memo, part, i) => { + if (partNeedsRecombined(i)) { + memo.push(parts.slice(i, i + 2).join('')); + } + return memo; + }, []); + if (result.length === 1) { + result.push(''); + } + return result; + }, +}; +function partNeedsRecombined(i) { + return i % 2 === 0; +} +exports.default = OptionSplitter; +//# sourceMappingURL=option_splitter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/option_splitter.js.map b/node_modules/@cucumber/cucumber/lib/cli/option_splitter.js.map new file mode 100644 index 0000000..66764bc --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/option_splitter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"option_splitter.js","sourceRoot":"","sources":["../../src/cli/option_splitter.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG;IACrB,KAAK,CAAC,MAAc;QAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE;YACtE,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;aAC1C;YAED,OAAO,IAAI,CAAA;QACb,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAChB;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAED,SAAS,mBAAmB,CAAC,CAAS;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,kBAAe,cAAc,CAAA","sourcesContent":["const OptionSplitter = {\n split(option: string): string[] {\n const parts = option.split(/([^A-Z]):(?!\\\\)/)\n\n const result = parts.reduce((memo: string[], part: string, i: number) => {\n if (partNeedsRecombined(i)) {\n memo.push(parts.slice(i, i + 2).join(''))\n }\n\n return memo\n }, [])\n\n if (result.length === 1) {\n result.push('')\n }\n\n return result\n },\n}\n\nfunction partNeedsRecombined(i: number): boolean {\n return i % 2 === 0\n}\n\nexport default OptionSplitter\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/profile_loader.d.ts b/node_modules/@cucumber/cucumber/lib/cli/profile_loader.d.ts new file mode 100644 index 0000000..7adb139 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/profile_loader.d.ts @@ -0,0 +1,9 @@ +import { Dictionary } from 'lodash'; +import { IUserCodeImporter } from './index'; +export default class ProfileLoader { + private readonly directory; + private readonly importer; + constructor(directory: string, importer: IUserCodeImporter); + getDefinitions(): Promise>; + getArgv(profiles: string[]): Promise; +} diff --git a/node_modules/@cucumber/cucumber/lib/cli/profile_loader.js b/node_modules/@cucumber/cucumber/lib/cli/profile_loader.js new file mode 100644 index 0000000..afa3b0e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/profile_loader.js @@ -0,0 +1,43 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const fs_1 = __importDefault(require("mz/fs")); +const path_1 = __importDefault(require("path")); +const string_argv_1 = __importDefault(require("string-argv")); +const value_checker_1 = require("../value_checker"); +class ProfileLoader { + constructor(directory, importer) { + this.directory = directory; + this.importer = importer; + } + async getDefinitions() { + const definitionsFilePath = path_1.default.join(this.directory, 'cucumber.js'); + const exists = await fs_1.default.exists(definitionsFilePath); + if (!exists) { + return {}; + } + const definitions = await this.importer(definitionsFilePath, true); + if (typeof definitions !== 'object') { + throw new Error(`${definitionsFilePath} does not export an object`); + } + return definitions; + } + async getArgv(profiles) { + const definitions = await this.getDefinitions(); + if (profiles.length === 0 && value_checker_1.doesHaveValue(definitions.default)) { + profiles = ['default']; + } + const argvs = profiles.map((profile) => { + if (value_checker_1.doesNotHaveValue(definitions[profile])) { + throw new Error(`Undefined profile: ${profile}`); + } + return string_argv_1.default(definitions[profile]); + }); + return lodash_1.default.flatten(argvs); + } +} +exports.default = ProfileLoader; +//# sourceMappingURL=profile_loader.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/profile_loader.js.map b/node_modules/@cucumber/cucumber/lib/cli/profile_loader.js.map new file mode 100644 index 0000000..249e073 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/profile_loader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"profile_loader.js","sourceRoot":"","sources":["../../src/cli/profile_loader.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsC;AACtC,+CAAsB;AACtB,gDAAuB;AACvB,8DAAoC;AACpC,oDAAkE;AAGlE,MAAqB,aAAa;IAChC,YACmB,SAAiB,EACjB,QAA2B;QAD3B,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAmB;IAC3C,CAAC;IAEJ,KAAK,CAAC,cAAc;QAClB,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,MAAM,YAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,EAAE,CAAA;SACV;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;QAClE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,GAAG,mBAAmB,4BAA4B,CAAC,CAAA;SACpE;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAkB;QAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,6BAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YAC/D,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAA;SACvB;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,gCAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAA;aACjD;YACD,OAAO,qBAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QACF,OAAO,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;CACF;AAhCD,gCAgCC","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport fs from 'mz/fs'\nimport path from 'path'\nimport stringArgv from 'string-argv'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\nimport { IUserCodeImporter } from './index'\n\nexport default class ProfileLoader {\n constructor(\n private readonly directory: string,\n private readonly importer: IUserCodeImporter\n ) {}\n\n async getDefinitions(): Promise> {\n const definitionsFilePath = path.join(this.directory, 'cucumber.js')\n const exists = await fs.exists(definitionsFilePath)\n if (!exists) {\n return {}\n }\n const definitions = await this.importer(definitionsFilePath, true)\n if (typeof definitions !== 'object') {\n throw new Error(`${definitionsFilePath} does not export an object`)\n }\n return definitions\n }\n\n async getArgv(profiles: string[]): Promise {\n const definitions = await this.getDefinitions()\n if (profiles.length === 0 && doesHaveValue(definitions.default)) {\n profiles = ['default']\n }\n const argvs = profiles.map((profile) => {\n if (doesNotHaveValue(definitions[profile])) {\n throw new Error(`Undefined profile: ${profile}`)\n }\n return stringArgv(definitions[profile])\n })\n return _.flatten(argvs)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/publish_banner.d.ts b/node_modules/@cucumber/cucumber/lib/cli/publish_banner.d.ts new file mode 100644 index 0000000..ae80eca --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/publish_banner.d.ts @@ -0,0 +1,2 @@ +declare const _default: string; +export default _default; diff --git a/node_modules/@cucumber/cucumber/lib/cli/publish_banner.js b/node_modules/@cucumber/cucumber/lib/cli/publish_banner.js new file mode 100644 index 0000000..38aef5e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/publish_banner.js @@ -0,0 +1,30 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const safe_1 = __importDefault(require("colors/safe")); +const cli_table3_1 = __importDefault(require("cli-table3")); +const underlineBoldCyan = (x) => safe_1.default.underline(safe_1.default.bold(safe_1.default.cyan(x))); +const formattedReportUrl = underlineBoldCyan('https://reports.cucumber.io'); +const formattedEnv = safe_1.default.cyan('CUCUMBER_PUBLISH_ENABLED') + '=' + safe_1.default.cyan('true'); +const formattedMoreInfoUrl = underlineBoldCyan('https://reports.cucumber.io/docs/cucumber-js'); +const text = `\ +Share your Cucumber Report with your team at ${formattedReportUrl} + +Command line option: ${safe_1.default.cyan('--publish')} +Environment variable: ${formattedEnv} + +More information at ${formattedMoreInfoUrl} + +To disable this message, add this to your ${safe_1.default.bold('./cucumber.js')}: +${safe_1.default.bold("module.exports = { default: '--publish-quiet' }")}`; +const table = new cli_table3_1.default({ + style: { + head: [], + border: ['green'], + }, +}); +table.push([text]); +exports.default = table.toString(); +//# sourceMappingURL=publish_banner.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/publish_banner.js.map b/node_modules/@cucumber/cucumber/lib/cli/publish_banner.js.map new file mode 100644 index 0000000..61cc53a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/publish_banner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publish_banner.js","sourceRoot":"","sources":["../../src/cli/publish_banner.ts"],"names":[],"mappings":";;;;;AAAA,uDAAgC;AAChC,4DAA8B;AAE9B,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAU,EAAE,CAC9C,cAAM,CAAC,SAAS,CAAC,cAAM,CAAC,IAAI,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;AAC3E,MAAM,YAAY,GAChB,cAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,GAAG,GAAG,cAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACrE,MAAM,oBAAoB,GAAG,iBAAiB,CAC5C,8CAA8C,CAC/C,CAAA;AAED,MAAM,IAAI,GAAG;+CACkC,kBAAkB;;0BAEvC,cAAM,CAAC,IAAI,CAAC,WAAW,CAAC;0BACxB,YAAY;;sBAEhB,oBAAoB;;4CAEE,cAAM,CAAC,IAAI,CAAC,eAAe,CAAC;EACtE,cAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,EAAE,CAAA;AAElE,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;IACtB,KAAK,EAAE;QACL,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;CACF,CAAC,CAAA;AAEF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAElB,kBAAe,KAAK,CAAC,QAAQ,EAAE,CAAA","sourcesContent":["import colors from 'colors/safe'\nimport Table from 'cli-table3'\n\nconst underlineBoldCyan = (x: string): string =>\n colors.underline(colors.bold(colors.cyan(x)))\n\nconst formattedReportUrl = underlineBoldCyan('https://reports.cucumber.io')\nconst formattedEnv =\n colors.cyan('CUCUMBER_PUBLISH_ENABLED') + '=' + colors.cyan('true')\nconst formattedMoreInfoUrl = underlineBoldCyan(\n 'https://reports.cucumber.io/docs/cucumber-js'\n)\n\nconst text = `\\\nShare your Cucumber Report with your team at ${formattedReportUrl}\n\nCommand line option: ${colors.cyan('--publish')}\nEnvironment variable: ${formattedEnv}\n\nMore information at ${formattedMoreInfoUrl}\n\nTo disable this message, add this to your ${colors.bold('./cucumber.js')}: \n${colors.bold(\"module.exports = { default: '--publish-quiet' }\")}`\n\nconst table = new Table({\n style: {\n head: [],\n border: ['green'],\n },\n})\n\ntable.push([text])\n\nexport default table.toString()\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/run.d.ts b/node_modules/@cucumber/cucumber/lib/cli/run.d.ts new file mode 100644 index 0000000..b3c9871 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/run.d.ts @@ -0,0 +1 @@ +export default function run(): Promise; diff --git a/node_modules/@cucumber/cucumber/lib/cli/run.js b/node_modules/@cucumber/cucumber/lib/cli/run.js new file mode 100644 index 0000000..d8a76c4 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/run.js @@ -0,0 +1,43 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const _1 = __importDefault(require("./")); +const verror_1 = __importDefault(require("verror")); +const publish_banner_1 = __importDefault(require("./publish_banner")); +function exitWithError(error) { + console.error(verror_1.default.fullStack(error)); // eslint-disable-line no-console + process.exit(1); +} +function displayPublishAdvertisementBanner() { + console.error(publish_banner_1.default); +} +async function run() { + const cwd = process.cwd(); + const cli = new _1.default({ + argv: process.argv, + cwd, + stdout: process.stdout, + }); + let result; + try { + result = await cli.run(); + } + catch (error) { + exitWithError(error); + } + const config = await cli.getConfiguration(); + if (!config.publishing && !config.suppressPublishAdvertisement) { + displayPublishAdvertisementBanner(); + } + const exitCode = result.success ? 0 : 1; + if (result.shouldExitImmediately) { + process.exit(exitCode); + } + else { + process.exitCode = exitCode; + } +} +exports.default = run; +//# sourceMappingURL=run.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/cli/run.js.map b/node_modules/@cucumber/cucumber/lib/cli/run.js.map new file mode 100644 index 0000000..ea3b295 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/cli/run.js.map @@ -0,0 +1 @@ +{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":";;;;;AAAA,0CAAuC;AACvC,oDAA2B;AAC3B,sEAA4C;AAE5C,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,iCAAiC;IACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO,CAAC,KAAK,CAAC,wBAAa,CAAC,CAAA;AAC9B,CAAC;AAEc,KAAK,UAAU,GAAG;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;IAEF,IAAI,MAAqB,CAAA;IACzB,IAAI;QACF,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA;KACzB;IAAC,OAAO,KAAK,EAAE;QACd,aAAa,CAAC,KAAK,CAAC,CAAA;KACrB;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE;QAC9D,iCAAiC,EAAE,CAAA;KACpC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,qBAAqB,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KACvB;SAAM;QACL,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;KAC5B;AACH,CAAC;AA1BD,sBA0BC","sourcesContent":["import Cli, { ICliRunResult } from './'\nimport VError from 'verror'\nimport publishBanner from './publish_banner'\n\nfunction exitWithError(error: Error): void {\n console.error(VError.fullStack(error)) // eslint-disable-line no-console\n process.exit(1)\n}\n\nfunction displayPublishAdvertisementBanner(): void {\n console.error(publishBanner)\n}\n\nexport default async function run(): Promise {\n const cwd = process.cwd()\n const cli = new Cli({\n argv: process.argv,\n cwd,\n stdout: process.stdout,\n })\n\n let result: ICliRunResult\n try {\n result = await cli.run()\n } catch (error) {\n exitWithError(error)\n }\n\n const config = await cli.getConfiguration()\n if (!config.publishing && !config.suppressPublishAdvertisement) {\n displayPublishAdvertisementBanner()\n }\n\n const exitCode = result.success ? 0 : 1\n if (result.shouldExitImmediately) {\n process.exit(exitCode)\n } else {\n process.exitCode = exitCode\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/builder.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/builder.d.ts new file mode 100644 index 0000000..535d52d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/builder.d.ts @@ -0,0 +1,36 @@ +/// +import StepDefinitionSnippetBuilder from './step_definition_snippet_builder'; +import { ISupportCodeLibrary } from '../support_code_library_builder/types'; +import Formatter, { IFormatterCleanupFn, IFormatterLogFn } from '.'; +import { EventEmitter } from 'events'; +import EventDataCollector from './helpers/event_data_collector'; +import { Writable as WritableStream } from 'stream'; +import { IParsedArgvFormatOptions } from '../cli/argv_parser'; +import { SnippetInterface } from './step_definition_snippet_builder/snippet_syntax'; +import { IUserCodeImporter } from '../cli'; +interface IGetStepDefinitionSnippetBuilderOptions { + cwd: string; + importer: IUserCodeImporter; + snippetInterface?: SnippetInterface; + snippetSyntax?: string; + supportCodeLibrary: ISupportCodeLibrary; +} +export interface IBuildOptions { + cwd: string; + eventBroadcaster: EventEmitter; + eventDataCollector: EventDataCollector; + log: IFormatterLogFn; + parsedArgvOptions: IParsedArgvFormatOptions; + importer: IUserCodeImporter; + stream: WritableStream; + cleanup: IFormatterCleanupFn; + supportCodeLibrary: ISupportCodeLibrary; +} +declare const FormatterBuilder: { + build(type: string, options: IBuildOptions): Promise; + getConstructorByType(type: string, cwd: string, importer: IUserCodeImporter): Promise; + getStepDefinitionSnippetBuilder({ cwd, importer, snippetInterface, snippetSyntax, supportCodeLibrary, }: IGetStepDefinitionSnippetBuilderOptions): Promise; + loadCustomFormatter(customFormatterPath: string, cwd: string, importer: IUserCodeImporter): Promise; + resolveConstructor(ImportedCode: any): any; +}; +export default FormatterBuilder; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/builder.js b/node_modules/@cucumber/cucumber/lib/formatter/builder.js new file mode 100644 index 0000000..1324a1a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/builder.js @@ -0,0 +1,104 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const get_color_fns_1 = __importDefault(require("./get_color_fns")); +const javascript_snippet_syntax_1 = __importDefault(require("./step_definition_snippet_builder/javascript_snippet_syntax")); +const json_formatter_1 = __importDefault(require("./json_formatter")); +const message_formatter_1 = __importDefault(require("./message_formatter")); +const path_1 = __importDefault(require("path")); +const progress_bar_formatter_1 = __importDefault(require("./progress_bar_formatter")); +const progress_formatter_1 = __importDefault(require("./progress_formatter")); +const rerun_formatter_1 = __importDefault(require("./rerun_formatter")); +const snippets_formatter_1 = __importDefault(require("./snippets_formatter")); +const step_definition_snippet_builder_1 = __importDefault(require("./step_definition_snippet_builder")); +const summary_formatter_1 = __importDefault(require("./summary_formatter")); +const usage_formatter_1 = __importDefault(require("./usage_formatter")); +const usage_json_formatter_1 = __importDefault(require("./usage_json_formatter")); +const value_checker_1 = require("../value_checker"); +const snippet_syntax_1 = require("./step_definition_snippet_builder/snippet_syntax"); +const html_formatter_1 = __importDefault(require("./html_formatter")); +const FormatterBuilder = { + async build(type, options) { + const FormatterConstructor = await FormatterBuilder.getConstructorByType(type, options.cwd, options.importer); + const colorFns = get_color_fns_1.default(options.parsedArgvOptions.colorsEnabled); + const snippetBuilder = await FormatterBuilder.getStepDefinitionSnippetBuilder({ + cwd: options.cwd, + importer: options.importer, + snippetInterface: options.parsedArgvOptions.snippetInterface, + snippetSyntax: options.parsedArgvOptions.snippetSyntax, + supportCodeLibrary: options.supportCodeLibrary, + }); + return new FormatterConstructor({ + colorFns, + snippetBuilder, + ...options, + }); + }, + async getConstructorByType(type, cwd, importer) { + switch (type) { + case 'json': + return json_formatter_1.default; + case 'message': + return message_formatter_1.default; + case 'html': + return html_formatter_1.default; + case 'progress': + return progress_formatter_1.default; + case 'progress-bar': + return progress_bar_formatter_1.default; + case 'rerun': + return rerun_formatter_1.default; + case 'snippets': + return snippets_formatter_1.default; + case 'summary': + return summary_formatter_1.default; + case 'usage': + return usage_formatter_1.default; + case 'usage-json': + return usage_json_formatter_1.default; + default: + return await FormatterBuilder.loadCustomFormatter(type, cwd, importer); + } + }, + async getStepDefinitionSnippetBuilder({ cwd, importer, snippetInterface, snippetSyntax, supportCodeLibrary, }) { + if (value_checker_1.doesNotHaveValue(snippetInterface)) { + snippetInterface = snippet_syntax_1.SnippetInterface.Synchronous; + } + let Syntax = javascript_snippet_syntax_1.default; + if (value_checker_1.doesHaveValue(snippetSyntax)) { + const fullSyntaxPath = path_1.default.resolve(cwd, snippetSyntax); + Syntax = await importer(fullSyntaxPath, true); + Syntax = FormatterBuilder.resolveConstructor(Syntax); + } + return new step_definition_snippet_builder_1.default({ + snippetSyntax: new Syntax(snippetInterface), + parameterTypeRegistry: supportCodeLibrary.parameterTypeRegistry, + }); + }, + async loadCustomFormatter(customFormatterPath, cwd, importer) { + let CustomFormatter = customFormatterPath.startsWith(`.`) + ? await importer(path_1.default.resolve(cwd, customFormatterPath), true) + : await importer(customFormatterPath); + CustomFormatter = FormatterBuilder.resolveConstructor(CustomFormatter); + if (value_checker_1.doesHaveValue(CustomFormatter)) { + return CustomFormatter; + } + else { + throw new Error(`Custom formatter (${customFormatterPath}) does not export a function`); + } + }, + resolveConstructor(ImportedCode) { + if (typeof ImportedCode === 'function') { + return ImportedCode; + } + else if (value_checker_1.doesHaveValue(ImportedCode) && + typeof ImportedCode.default === 'function') { + return ImportedCode.default; + } + return null; + }, +}; +exports.default = FormatterBuilder; +//# sourceMappingURL=builder.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/builder.js.map b/node_modules/@cucumber/cucumber/lib/formatter/builder.js.map new file mode 100644 index 0000000..e3db21c --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/builder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/formatter/builder.ts"],"names":[],"mappings":"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","sourcesContent":["import getColorFns from './get_color_fns'\nimport JavascriptSnippetSyntax from './step_definition_snippet_builder/javascript_snippet_syntax'\nimport JsonFormatter from './json_formatter'\nimport MessageFormatter from './message_formatter'\nimport path from 'path'\nimport ProgressBarFormatter from './progress_bar_formatter'\nimport ProgressFormatter from './progress_formatter'\nimport RerunFormatter from './rerun_formatter'\nimport SnippetsFormatter from './snippets_formatter'\nimport StepDefinitionSnippetBuilder from './step_definition_snippet_builder'\nimport SummaryFormatter from './summary_formatter'\nimport UsageFormatter from './usage_formatter'\nimport UsageJsonFormatter from './usage_json_formatter'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport Formatter, { IFormatterCleanupFn, IFormatterLogFn } from '.'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\nimport { EventEmitter } from 'events'\nimport EventDataCollector from './helpers/event_data_collector'\nimport { Writable as WritableStream } from 'stream'\nimport { IParsedArgvFormatOptions } from '../cli/argv_parser'\nimport { SnippetInterface } from './step_definition_snippet_builder/snippet_syntax'\nimport HtmlFormatter from './html_formatter'\nimport { IUserCodeImporter } from '../cli'\n\ninterface IGetStepDefinitionSnippetBuilderOptions {\n cwd: string\n importer: IUserCodeImporter\n snippetInterface?: SnippetInterface\n snippetSyntax?: string\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport interface IBuildOptions {\n cwd: string\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n log: IFormatterLogFn\n parsedArgvOptions: IParsedArgvFormatOptions\n importer: IUserCodeImporter\n stream: WritableStream\n cleanup: IFormatterCleanupFn\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nconst FormatterBuilder = {\n async build(type: string, options: IBuildOptions): Promise {\n const FormatterConstructor = await FormatterBuilder.getConstructorByType(\n type,\n options.cwd,\n options.importer\n )\n const colorFns = getColorFns(options.parsedArgvOptions.colorsEnabled)\n const snippetBuilder = await FormatterBuilder.getStepDefinitionSnippetBuilder(\n {\n cwd: options.cwd,\n importer: options.importer,\n snippetInterface: options.parsedArgvOptions.snippetInterface,\n snippetSyntax: options.parsedArgvOptions.snippetSyntax,\n supportCodeLibrary: options.supportCodeLibrary,\n }\n )\n return new FormatterConstructor({\n colorFns,\n snippetBuilder,\n ...options,\n })\n },\n\n async getConstructorByType(\n type: string,\n cwd: string,\n importer: IUserCodeImporter\n ): Promise {\n switch (type) {\n case 'json':\n return JsonFormatter\n case 'message':\n return MessageFormatter\n case 'html':\n return HtmlFormatter\n case 'progress':\n return ProgressFormatter\n case 'progress-bar':\n return ProgressBarFormatter\n case 'rerun':\n return RerunFormatter\n case 'snippets':\n return SnippetsFormatter\n case 'summary':\n return SummaryFormatter\n case 'usage':\n return UsageFormatter\n case 'usage-json':\n return UsageJsonFormatter\n default:\n return await FormatterBuilder.loadCustomFormatter(type, cwd, importer)\n }\n },\n\n async getStepDefinitionSnippetBuilder({\n cwd,\n importer,\n snippetInterface,\n snippetSyntax,\n supportCodeLibrary,\n }: IGetStepDefinitionSnippetBuilderOptions) {\n if (doesNotHaveValue(snippetInterface)) {\n snippetInterface = SnippetInterface.Synchronous\n }\n let Syntax = JavascriptSnippetSyntax\n if (doesHaveValue(snippetSyntax)) {\n const fullSyntaxPath = path.resolve(cwd, snippetSyntax)\n Syntax = await importer(fullSyntaxPath, true)\n Syntax = FormatterBuilder.resolveConstructor(Syntax)\n }\n return new StepDefinitionSnippetBuilder({\n snippetSyntax: new Syntax(snippetInterface),\n parameterTypeRegistry: supportCodeLibrary.parameterTypeRegistry,\n })\n },\n\n async loadCustomFormatter(\n customFormatterPath: string,\n cwd: string,\n importer: IUserCodeImporter\n ) {\n let CustomFormatter = customFormatterPath.startsWith(`.`)\n ? await importer(path.resolve(cwd, customFormatterPath), true)\n : await importer(customFormatterPath)\n CustomFormatter = FormatterBuilder.resolveConstructor(CustomFormatter)\n if (doesHaveValue(CustomFormatter)) {\n return CustomFormatter\n } else {\n throw new Error(\n `Custom formatter (${customFormatterPath}) does not export a function`\n )\n }\n },\n\n resolveConstructor(ImportedCode: any) {\n if (typeof ImportedCode === 'function') {\n return ImportedCode\n } else if (\n doesHaveValue(ImportedCode) &&\n typeof ImportedCode.default === 'function'\n ) {\n return ImportedCode.default\n }\n return null\n },\n}\n\nexport default FormatterBuilder\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.d.ts new file mode 100644 index 0000000..c5cfa56 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.d.ts @@ -0,0 +1,8 @@ +import { messages } from '@cucumber/messages'; +export declare type IColorFn = (text: string) => string; +export interface IColorFns { + forStatus: (status: messages.TestStepFinished.TestStepResult.Status) => IColorFn; + location: IColorFn; + tag: IColorFn; +} +export default function getColorFns(enabled: boolean): IColorFns; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.js b/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.js new file mode 100644 index 0000000..6b6a037 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.js @@ -0,0 +1,39 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const safe_1 = __importDefault(require("colors/safe")); +const status_1 = __importDefault(require("../status")); +safe_1.default.enable(); +function getColorFns(enabled) { + if (enabled) { + return { + forStatus(status) { + return { + [status_1.default.AMBIGUOUS]: safe_1.default.red.bind(safe_1.default), + [status_1.default.FAILED]: safe_1.default.red.bind(safe_1.default), + [status_1.default.PASSED]: safe_1.default.green.bind(safe_1.default), + [status_1.default.PENDING]: safe_1.default.yellow.bind(safe_1.default), + [status_1.default.SKIPPED]: safe_1.default.cyan.bind(safe_1.default), + [status_1.default.UNDEFINED]: safe_1.default.yellow.bind(safe_1.default), + [status_1.default.UNKNOWN]: safe_1.default.yellow.bind(safe_1.default), + }[status]; + }, + location: safe_1.default.gray.bind(safe_1.default), + tag: safe_1.default.cyan.bind(safe_1.default), + }; + } + else { + return { + forStatus(status) { + return lodash_1.default.identity; + }, + location: lodash_1.default.identity, + tag: lodash_1.default.identity, + }; + } +} +exports.default = getColorFns; +//# sourceMappingURL=get_color_fns.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.js.map b/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.js.map new file mode 100644 index 0000000..0914b03 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/get_color_fns.js.map @@ -0,0 +1 @@ +{"version":3,"file":"get_color_fns.js","sourceRoot":"","sources":["../../src/formatter/get_color_fns.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsB;AACtB,uDAAgC;AAChC,uDAA8B;AAG9B,cAAM,CAAC,MAAM,EAAE,CAAA;AAYf,SAAwB,WAAW,CAAC,OAAgB;IAClD,IAAI,OAAO,EAAE;QACX,OAAO;YACL,SAAS,CAAC,MAAuD;gBAC/D,OAAO;oBACL,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,cAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC3C,CAAC,gBAAM,CAAC,MAAM,CAAC,EAAE,cAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAM,CAAC;oBACxC,CAAC,gBAAM,CAAC,MAAM,CAAC,EAAE,cAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC1C,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC5C,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC1C,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC9C,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;iBAC7C,CAAC,MAAM,CAAC,CAAA;YACX,CAAC;YACD,QAAQ,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;YAClC,GAAG,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;SAC9B,CAAA;KACF;SAAM;QACL,OAAO;YACL,SAAS,CAAC,MAAuD;gBAC/D,OAAO,gBAAC,CAAC,QAAQ,CAAA;YACnB,CAAC;YACD,QAAQ,EAAE,gBAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,gBAAC,CAAC,QAAQ;SAChB,CAAA;KACF;AACH,CAAC;AA1BD,8BA0BC","sourcesContent":["import _ from 'lodash'\nimport colors from 'colors/safe'\nimport Status from '../status'\nimport { messages } from '@cucumber/messages'\n\ncolors.enable()\n\nexport type IColorFn = (text: string) => string\n\nexport interface IColorFns {\n forStatus: (\n status: messages.TestStepFinished.TestStepResult.Status\n ) => IColorFn\n location: IColorFn\n tag: IColorFn\n}\n\nexport default function getColorFns(enabled: boolean): IColorFns {\n if (enabled) {\n return {\n forStatus(status: messages.TestStepFinished.TestStepResult.Status) {\n return {\n [Status.AMBIGUOUS]: colors.red.bind(colors),\n [Status.FAILED]: colors.red.bind(colors),\n [Status.PASSED]: colors.green.bind(colors),\n [Status.PENDING]: colors.yellow.bind(colors),\n [Status.SKIPPED]: colors.cyan.bind(colors),\n [Status.UNDEFINED]: colors.yellow.bind(colors),\n [Status.UNKNOWN]: colors.yellow.bind(colors),\n }[status]\n },\n location: colors.gray.bind(colors),\n tag: colors.cyan.bind(colors),\n }\n } else {\n return {\n forStatus(status: messages.TestStepFinished.TestStepResult.Status) {\n return _.identity\n },\n location: _.identity,\n tag: _.identity,\n }\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.d.ts new file mode 100644 index 0000000..838da1b --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.d.ts @@ -0,0 +1,32 @@ +/// +import { Dictionary } from 'lodash'; +import { messages } from '@cucumber/messages'; +import { EventEmitter } from 'events'; +import { Query } from '@cucumber/query'; +export interface ITestCaseAttempt { + attempt: number; + gherkinDocument: messages.IGherkinDocument; + pickle: messages.IPickle; + stepAttachments: Dictionary; + stepResults: Dictionary; + testCase: messages.ITestCase; + worstTestStepResult: messages.TestStepFinished.ITestStepResult; +} +export default class EventDataCollector { + private gherkinDocumentMap; + private pickleMap; + private testCaseMap; + private testCaseAttemptDataMap; + readonly undefinedParameterTypes: messages.IUndefinedParameterType[]; + readonly query: Query; + constructor(eventBroadcaster: EventEmitter); + getGherkinDocument(uri: string): messages.IGherkinDocument; + getPickle(pickleId: string): messages.IPickle; + getTestCaseAttempts(): ITestCaseAttempt[]; + getTestCaseAttempt(testCaseStartedId: string): ITestCaseAttempt; + parseEnvelope(envelope: messages.Envelope): void; + initTestCaseAttempt(testCaseStarted: messages.ITestCaseStarted): void; + storeAttachment({ testCaseStartedId, testStepId, body, mediaType, }: messages.IAttachment): void; + storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }: messages.ITestStepFinished): void; + storeTestCaseResult({ testCaseStartedId }: messages.ITestCaseFinished): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.js new file mode 100644 index 0000000..d4b8a88 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.js @@ -0,0 +1,115 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importStar(require("lodash")); +const value_checker_1 = require("../../value_checker"); +const query_1 = require("@cucumber/query"); +class EventDataCollector { + constructor(eventBroadcaster) { + this.gherkinDocumentMap = {}; + this.pickleMap = {}; + this.testCaseMap = {}; + this.testCaseAttemptDataMap = {}; + this.undefinedParameterTypes = []; + this.query = new query_1.Query(); + eventBroadcaster.on('envelope', this.parseEnvelope.bind(this)); + } + getGherkinDocument(uri) { + return this.gherkinDocumentMap[uri]; + } + getPickle(pickleId) { + return this.pickleMap[pickleId]; + } + getTestCaseAttempts() { + return lodash_1.default.keys(this.testCaseAttemptDataMap).map((testCaseStartedId) => { + return this.getTestCaseAttempt(testCaseStartedId); + }); + } + getTestCaseAttempt(testCaseStartedId) { + const testCaseAttemptData = this.testCaseAttemptDataMap[testCaseStartedId]; + const testCase = this.testCaseMap[testCaseAttemptData.testCaseId]; + const pickle = this.pickleMap[testCase.pickleId]; + return { + gherkinDocument: this.gherkinDocumentMap[pickle.uri], + pickle, + testCase, + attempt: testCaseAttemptData.attempt, + stepAttachments: testCaseAttemptData.stepAttachments, + stepResults: testCaseAttemptData.stepResults, + worstTestStepResult: testCaseAttemptData.worstTestStepResult, + }; + } + parseEnvelope(envelope) { + this.query.update(envelope); + if (value_checker_1.doesHaveValue(envelope.gherkinDocument)) { + this.gherkinDocumentMap[envelope.gherkinDocument.uri] = + envelope.gherkinDocument; + } + else if (value_checker_1.doesHaveValue(envelope.pickle)) { + this.pickleMap[envelope.pickle.id] = envelope.pickle; + } + else if (value_checker_1.doesHaveValue(envelope.undefinedParameterType)) { + this.undefinedParameterTypes.push(envelope.undefinedParameterType); + } + else if (value_checker_1.doesHaveValue(envelope.testCase)) { + this.testCaseMap[envelope.testCase.id] = envelope.testCase; + } + else if (value_checker_1.doesHaveValue(envelope.testCaseStarted)) { + this.initTestCaseAttempt(envelope.testCaseStarted); + } + else if (value_checker_1.doesHaveValue(envelope.attachment)) { + this.storeAttachment(envelope.attachment); + } + else if (value_checker_1.doesHaveValue(envelope.testStepFinished)) { + this.storeTestStepResult(envelope.testStepFinished); + } + else if (value_checker_1.doesHaveValue(envelope.testCaseFinished)) { + this.storeTestCaseResult(envelope.testCaseFinished); + } + } + initTestCaseAttempt(testCaseStarted) { + this.testCaseAttemptDataMap[testCaseStarted.id] = { + attempt: testCaseStarted.attempt, + testCaseId: testCaseStarted.testCaseId, + stepAttachments: {}, + stepResults: {}, + worstTestStepResult: {}, + }; + } + storeAttachment({ testCaseStartedId, testStepId, body, mediaType, }) { + if (value_checker_1.doesHaveValue(testCaseStartedId) && value_checker_1.doesHaveValue(testStepId)) { + const { stepAttachments } = this.testCaseAttemptDataMap[testCaseStartedId]; + if (value_checker_1.doesNotHaveValue(stepAttachments[testStepId])) { + stepAttachments[testStepId] = []; + } + stepAttachments[testStepId].push({ body, mediaType }); + } + } + storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }) { + this.testCaseAttemptDataMap[testCaseStartedId].stepResults[testStepId] = testStepResult; + } + storeTestCaseResult({ testCaseStartedId }) { + const stepResults = lodash_1.values(this.testCaseAttemptDataMap[testCaseStartedId].stepResults); + this.testCaseAttemptDataMap[testCaseStartedId].worstTestStepResult = this.query.getWorstTestStepResult(stepResults); + } +} +exports.default = EventDataCollector; +//# sourceMappingURL=event_data_collector.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.js.map new file mode 100644 index 0000000..941570e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/event_data_collector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"event_data_collector.js","sourceRoot":"","sources":["../../../src/formatter/helpers/event_data_collector.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary, values } from 'lodash'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue, doesNotHaveValue } from '../../value_checker'\nimport { EventEmitter } from 'events'\nimport { Query } from '@cucumber/query'\n\ninterface ITestCaseAttemptData {\n attempt: number\n testCaseId: string\n stepAttachments: Dictionary\n stepResults: Dictionary\n worstTestStepResult: messages.TestStepFinished.ITestStepResult\n}\n\nexport interface ITestCaseAttempt {\n attempt: number\n gherkinDocument: messages.IGherkinDocument\n pickle: messages.IPickle\n stepAttachments: Dictionary\n stepResults: Dictionary\n testCase: messages.ITestCase\n worstTestStepResult: messages.TestStepFinished.ITestStepResult\n}\n\nexport default class EventDataCollector {\n private gherkinDocumentMap: Dictionary = {}\n private pickleMap: Dictionary = {}\n private testCaseMap: Dictionary = {}\n private testCaseAttemptDataMap: Dictionary = {}\n readonly undefinedParameterTypes: messages.IUndefinedParameterType[] = []\n readonly query = new Query()\n\n constructor(eventBroadcaster: EventEmitter) {\n eventBroadcaster.on('envelope', this.parseEnvelope.bind(this))\n }\n\n getGherkinDocument(uri: string): messages.IGherkinDocument {\n return this.gherkinDocumentMap[uri]\n }\n\n getPickle(pickleId: string): messages.IPickle {\n return this.pickleMap[pickleId]\n }\n\n getTestCaseAttempts(): ITestCaseAttempt[] {\n return _.keys(this.testCaseAttemptDataMap).map((testCaseStartedId) => {\n return this.getTestCaseAttempt(testCaseStartedId)\n })\n }\n\n getTestCaseAttempt(testCaseStartedId: string): ITestCaseAttempt {\n const testCaseAttemptData = this.testCaseAttemptDataMap[testCaseStartedId]\n const testCase = this.testCaseMap[testCaseAttemptData.testCaseId]\n const pickle = this.pickleMap[testCase.pickleId]\n return {\n gherkinDocument: this.gherkinDocumentMap[pickle.uri],\n pickle,\n testCase,\n attempt: testCaseAttemptData.attempt,\n stepAttachments: testCaseAttemptData.stepAttachments,\n stepResults: testCaseAttemptData.stepResults,\n worstTestStepResult: testCaseAttemptData.worstTestStepResult,\n }\n }\n\n parseEnvelope(envelope: messages.Envelope): void {\n this.query.update(envelope)\n if (doesHaveValue(envelope.gherkinDocument)) {\n this.gherkinDocumentMap[envelope.gherkinDocument.uri] =\n envelope.gherkinDocument\n } else if (doesHaveValue(envelope.pickle)) {\n this.pickleMap[envelope.pickle.id] = envelope.pickle\n } else if (doesHaveValue(envelope.undefinedParameterType)) {\n this.undefinedParameterTypes.push(envelope.undefinedParameterType)\n } else if (doesHaveValue(envelope.testCase)) {\n this.testCaseMap[envelope.testCase.id] = envelope.testCase\n } else if (doesHaveValue(envelope.testCaseStarted)) {\n this.initTestCaseAttempt(envelope.testCaseStarted)\n } else if (doesHaveValue(envelope.attachment)) {\n this.storeAttachment(envelope.attachment)\n } else if (doesHaveValue(envelope.testStepFinished)) {\n this.storeTestStepResult(envelope.testStepFinished)\n } else if (doesHaveValue(envelope.testCaseFinished)) {\n this.storeTestCaseResult(envelope.testCaseFinished)\n }\n }\n\n initTestCaseAttempt(testCaseStarted: messages.ITestCaseStarted): void {\n this.testCaseAttemptDataMap[testCaseStarted.id] = {\n attempt: testCaseStarted.attempt,\n testCaseId: testCaseStarted.testCaseId,\n stepAttachments: {},\n stepResults: {},\n worstTestStepResult: {},\n }\n }\n\n storeAttachment({\n testCaseStartedId,\n testStepId,\n body,\n mediaType,\n }: messages.IAttachment): void {\n if (doesHaveValue(testCaseStartedId) && doesHaveValue(testStepId)) {\n const { stepAttachments } = this.testCaseAttemptDataMap[testCaseStartedId]\n if (doesNotHaveValue(stepAttachments[testStepId])) {\n stepAttachments[testStepId] = []\n }\n stepAttachments[testStepId].push({ body, mediaType })\n }\n }\n\n storeTestStepResult({\n testCaseStartedId,\n testStepId,\n testStepResult,\n }: messages.ITestStepFinished): void {\n this.testCaseAttemptDataMap[testCaseStartedId].stepResults[\n testStepId\n ] = testStepResult\n }\n\n storeTestCaseResult({ testCaseStartedId }: messages.ITestCaseFinished): void {\n const stepResults = values(\n this.testCaseAttemptDataMap[testCaseStartedId].stepResults\n )\n this.testCaseAttemptDataMap[\n testCaseStartedId\n ].worstTestStepResult = this.query.getWorstTestStepResult(stepResults)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.d.ts new file mode 100644 index 0000000..2bc787c --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.d.ts @@ -0,0 +1,6 @@ +import { Dictionary } from 'lodash'; +import { messages } from '@cucumber/messages'; +export declare function getGherkinStepMap(gherkinDocument: messages.IGherkinDocument): Dictionary; +export declare function getGherkinScenarioMap(gherkinDocument: messages.IGherkinDocument): Dictionary; +export declare function getGherkinExampleRuleMap(gherkinDocument: messages.IGherkinDocument): Dictionary; +export declare function getGherkinScenarioLocationMap(gherkinDocument: messages.IGherkinDocument): Dictionary; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.js new file mode 100644 index 0000000..6e474b8 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.js @@ -0,0 +1,82 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getGherkinScenarioLocationMap = exports.getGherkinExampleRuleMap = exports.getGherkinScenarioMap = exports.getGherkinStepMap = void 0; +const lodash_1 = __importDefault(require("lodash")); +const value_checker_1 = require("../../value_checker"); +function getGherkinStepMap(gherkinDocument) { + return lodash_1.default.chain(gherkinDocument.feature.children) + .map(extractStepContainers) + .flatten() + .map('steps') + .flatten() + .map((step) => [step.id, step]) + .fromPairs() + .value(); +} +exports.getGherkinStepMap = getGherkinStepMap; +function extractStepContainers(child) { + if (value_checker_1.doesHaveValue(child.background)) { + return [child.background]; + } + else if (value_checker_1.doesHaveValue(child.rule)) { + return child.rule.children.map((ruleChild) => value_checker_1.doesHaveValue(ruleChild.background) + ? ruleChild.background + : ruleChild.scenario); + } + return [child.scenario]; +} +function getGherkinScenarioMap(gherkinDocument) { + return lodash_1.default.chain(gherkinDocument.feature.children) + .map((child) => { + if (value_checker_1.doesHaveValue(child.rule)) { + return child.rule.children; + } + return [child]; + }) + .flatten() + .filter('scenario') + .map('scenario') + .map((scenario) => [ + scenario.id, + scenario, + ]) + .fromPairs() + .value(); +} +exports.getGherkinScenarioMap = getGherkinScenarioMap; +function getGherkinExampleRuleMap(gherkinDocument) { + return lodash_1.default.chain(gherkinDocument.feature.children) + .filter('rule') + .map('rule') + .map((rule) => { + return rule.children + .filter((child) => value_checker_1.doesHaveValue(child.scenario)) + .map((child) => [child.scenario.id, rule]); + }) + .flatten() + .fromPairs() + .value(); +} +exports.getGherkinExampleRuleMap = getGherkinExampleRuleMap; +function getGherkinScenarioLocationMap(gherkinDocument) { + const locationMap = {}; + const scenarioMap = getGherkinScenarioMap(gherkinDocument); + lodash_1.default.entries(scenarioMap).forEach(([id, scenario]) => { + locationMap[id] = scenario.location; + if (value_checker_1.doesHaveValue(scenario.examples)) { + lodash_1.default.chain(scenario.examples) + .map('tableBody') + .flatten() + .forEach((tableRow) => { + locationMap[tableRow.id] = tableRow.location; + }) + .value(); + } + }); + return locationMap; +} +exports.getGherkinScenarioLocationMap = getGherkinScenarioLocationMap; +//# sourceMappingURL=gherkin_document_parser.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.js.map new file mode 100644 index 0000000..2a0b352 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"gherkin_document_parser.js","sourceRoot":"","sources":["../../../src/formatter/helpers/gherkin_document_parser.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue } from '../../value_checker'\n\nexport function getGherkinStepMap(\n gherkinDocument: messages.IGherkinDocument\n): Dictionary {\n return _.chain(gherkinDocument.feature.children)\n .map(extractStepContainers)\n .flatten()\n .map('steps')\n .flatten()\n .map((step: messages.GherkinDocument.Feature.IStep) => [step.id, step])\n .fromPairs()\n .value()\n}\n\nfunction extractStepContainers(\n child: messages.GherkinDocument.Feature.IFeatureChild\n): Array<\n | messages.GherkinDocument.Feature.IScenario\n | messages.GherkinDocument.Feature.IBackground\n> {\n if (doesHaveValue(child.background)) {\n return [child.background]\n } else if (doesHaveValue(child.rule)) {\n return child.rule.children.map((ruleChild) =>\n doesHaveValue(ruleChild.background)\n ? ruleChild.background\n : ruleChild.scenario\n )\n }\n return [child.scenario]\n}\n\nexport function getGherkinScenarioMap(\n gherkinDocument: messages.IGherkinDocument\n): Dictionary {\n return _.chain(gherkinDocument.feature.children)\n .map((child: messages.GherkinDocument.Feature.IFeatureChild) => {\n if (doesHaveValue(child.rule)) {\n return child.rule.children\n }\n return [child]\n })\n .flatten()\n .filter('scenario')\n .map('scenario')\n .map((scenario: messages.GherkinDocument.Feature.IScenario) => [\n scenario.id,\n scenario,\n ])\n .fromPairs()\n .value()\n}\n\nexport function getGherkinExampleRuleMap(\n gherkinDocument: messages.IGherkinDocument\n): Dictionary {\n return _.chain(gherkinDocument.feature.children)\n .filter('rule')\n .map('rule')\n .map((rule) => {\n return rule.children\n .filter((child) => doesHaveValue(child.scenario))\n .map((child) => [child.scenario.id, rule])\n })\n .flatten()\n .fromPairs()\n .value()\n}\n\nexport function getGherkinScenarioLocationMap(\n gherkinDocument: messages.IGherkinDocument\n): Dictionary {\n const locationMap: Dictionary = {}\n const scenarioMap: Dictionary = getGherkinScenarioMap(\n gherkinDocument\n )\n _.entries(scenarioMap).forEach(\n ([id, scenario]) => {\n locationMap[id] = scenario.location\n if (doesHaveValue(scenario.examples)) {\n _.chain(scenario.examples)\n .map('tableBody')\n .flatten()\n .forEach((tableRow) => {\n locationMap[tableRow.id] = tableRow.location\n })\n .value()\n }\n }\n )\n return locationMap\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.d.ts new file mode 100644 index 0000000..5295826 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.d.ts @@ -0,0 +1,10 @@ +import * as GherkinDocumentParser from './gherkin_document_parser'; +import * as PickleParser from './pickle_parser'; +export { parseTestCaseAttempt } from './test_case_attempt_parser'; +export { default as EventDataCollector } from './event_data_collector'; +export { KeywordType, getStepKeywordType } from './keyword_type'; +export { formatIssue, isWarning, isFailure, isIssue } from './issue_helpers'; +export { formatLocation } from './location_helpers'; +export { formatSummary } from './summary_helpers'; +export { getUsage } from './usage_helpers'; +export { GherkinDocumentParser, PickleParser }; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.js new file mode 100644 index 0000000..73ffae1 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.js @@ -0,0 +1,48 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PickleParser = exports.GherkinDocumentParser = exports.getUsage = exports.formatSummary = exports.formatLocation = exports.isIssue = exports.isFailure = exports.isWarning = exports.formatIssue = exports.getStepKeywordType = exports.KeywordType = exports.EventDataCollector = exports.parseTestCaseAttempt = void 0; +const GherkinDocumentParser = __importStar(require("./gherkin_document_parser")); +exports.GherkinDocumentParser = GherkinDocumentParser; +const PickleParser = __importStar(require("./pickle_parser")); +exports.PickleParser = PickleParser; +var test_case_attempt_parser_1 = require("./test_case_attempt_parser"); +Object.defineProperty(exports, "parseTestCaseAttempt", { enumerable: true, get: function () { return test_case_attempt_parser_1.parseTestCaseAttempt; } }); +var event_data_collector_1 = require("./event_data_collector"); +Object.defineProperty(exports, "EventDataCollector", { enumerable: true, get: function () { return __importDefault(event_data_collector_1).default; } }); +var keyword_type_1 = require("./keyword_type"); +Object.defineProperty(exports, "KeywordType", { enumerable: true, get: function () { return keyword_type_1.KeywordType; } }); +Object.defineProperty(exports, "getStepKeywordType", { enumerable: true, get: function () { return keyword_type_1.getStepKeywordType; } }); +var issue_helpers_1 = require("./issue_helpers"); +Object.defineProperty(exports, "formatIssue", { enumerable: true, get: function () { return issue_helpers_1.formatIssue; } }); +Object.defineProperty(exports, "isWarning", { enumerable: true, get: function () { return issue_helpers_1.isWarning; } }); +Object.defineProperty(exports, "isFailure", { enumerable: true, get: function () { return issue_helpers_1.isFailure; } }); +Object.defineProperty(exports, "isIssue", { enumerable: true, get: function () { return issue_helpers_1.isIssue; } }); +var location_helpers_1 = require("./location_helpers"); +Object.defineProperty(exports, "formatLocation", { enumerable: true, get: function () { return location_helpers_1.formatLocation; } }); +var summary_helpers_1 = require("./summary_helpers"); +Object.defineProperty(exports, "formatSummary", { enumerable: true, get: function () { return summary_helpers_1.formatSummary; } }); +var usage_helpers_1 = require("./usage_helpers"); +Object.defineProperty(exports, "getUsage", { enumerable: true, get: function () { return usage_helpers_1.getUsage; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.js.map new file mode 100644 index 0000000..b02e01f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatter/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iFAAkE;AAUzD,sDAAqB;AAT9B,8DAA+C;AASf,oCAAY;AAP5C,uEAAiE;AAAxD,gIAAA,oBAAoB,OAAA;AAC7B,+DAAsE;AAA7D,2IAAA,OAAO,OAAsB;AACtC,+CAAgE;AAAvD,2GAAA,WAAW,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AACxC,iDAA4E;AAAnE,4GAAA,WAAW,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,wGAAA,OAAO,OAAA;AACnD,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,qDAAiD;AAAxC,gHAAA,aAAa,OAAA;AACtB,iDAA0C;AAAjC,yGAAA,QAAQ,OAAA","sourcesContent":["import * as GherkinDocumentParser from './gherkin_document_parser'\nimport * as PickleParser from './pickle_parser'\n\nexport { parseTestCaseAttempt } from './test_case_attempt_parser'\nexport { default as EventDataCollector } from './event_data_collector'\nexport { KeywordType, getStepKeywordType } from './keyword_type'\nexport { formatIssue, isWarning, isFailure, isIssue } from './issue_helpers'\nexport { formatLocation } from './location_helpers'\nexport { formatSummary } from './summary_helpers'\nexport { getUsage } from './usage_helpers'\nexport { GherkinDocumentParser, PickleParser }\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.d.ts new file mode 100644 index 0000000..342fd88 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.d.ts @@ -0,0 +1,19 @@ +import { messages } from '@cucumber/messages'; +import { IColorFns } from '../get_color_fns'; +import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder'; +import { ISupportCodeLibrary } from '../../support_code_library_builder/types'; +import { ITestCaseAttempt } from './event_data_collector'; +export declare function isFailure(result: messages.TestStepFinished.ITestStepResult): boolean; +export declare function isWarning(result: messages.TestStepFinished.ITestStepResult): boolean; +export declare function isIssue(result: messages.TestStepFinished.ITestStepResult): boolean; +export interface IFormatIssueRequest { + colorFns: IColorFns; + cwd: string; + number: number; + snippetBuilder: StepDefinitionSnippetBuilder; + testCaseAttempt: ITestCaseAttempt; + supportCodeLibrary: ISupportCodeLibrary; +} +export declare function formatIssue({ colorFns, cwd, number, snippetBuilder, testCaseAttempt, supportCodeLibrary, }: IFormatIssueRequest): string; +export declare function formatUndefinedParameterTypes(undefinedParameterTypes: messages.IUndefinedParameterType[]): string; +export declare function formatUndefinedParameterType(parameterType: messages.IUndefinedParameterType): string; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.js new file mode 100644 index 0000000..4d21dc6 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.js @@ -0,0 +1,61 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatUndefinedParameterType = exports.formatUndefinedParameterTypes = exports.formatIssue = exports.isIssue = exports.isWarning = exports.isFailure = void 0; +const indent_string_1 = __importDefault(require("indent-string")); +const status_1 = __importDefault(require("../../status")); +const test_case_attempt_formatter_1 = require("./test_case_attempt_formatter"); +function isFailure(result) { + return (result.status === status_1.default.AMBIGUOUS || + result.status === status_1.default.UNDEFINED || + (result.status === status_1.default.FAILED && !result.willBeRetried)); +} +exports.isFailure = isFailure; +function isWarning(result) { + return (result.status === status_1.default.PENDING || + (result.status === status_1.default.FAILED && result.willBeRetried)); +} +exports.isWarning = isWarning; +function isIssue(result) { + return isFailure(result) || isWarning(result); +} +exports.isIssue = isIssue; +function formatIssue({ colorFns, cwd, number, snippetBuilder, testCaseAttempt, supportCodeLibrary, }) { + const prefix = `${number.toString()}) `; + const formattedTestCaseAttempt = test_case_attempt_formatter_1.formatTestCaseAttempt({ + colorFns, + cwd, + snippetBuilder, + testCaseAttempt, + supportCodeLibrary, + }); + const lines = formattedTestCaseAttempt.split('\n'); + const updatedLines = lines.map((line, index) => { + if (index === 0) { + return `${prefix}${line}`; + } + return indent_string_1.default(line, prefix.length); + }); + return updatedLines.join('\n'); +} +exports.formatIssue = formatIssue; +function formatUndefinedParameterTypes(undefinedParameterTypes) { + const output = [`Undefined parameter types:\n\n`]; + const withLatest = {}; + undefinedParameterTypes.forEach((parameterType) => { + withLatest[parameterType.name] = parameterType; + }); + output.push(Object.values(withLatest) + .map((parameterType) => `- ${formatUndefinedParameterType(parameterType)}`) + .join('\n')); + output.push('\n\n'); + return output.join(''); +} +exports.formatUndefinedParameterTypes = formatUndefinedParameterTypes; +function formatUndefinedParameterType(parameterType) { + return `"${parameterType.name}" e.g. \`${parameterType.expression}\``; +} +exports.formatUndefinedParameterType = formatUndefinedParameterType; +//# sourceMappingURL=issue_helpers.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.js.map new file mode 100644 index 0000000..2e3cf5d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/issue_helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"issue_helpers.js","sourceRoot":"","sources":["../../../src/formatter/helpers/issue_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AACxC,0DAAiC;AACjC,+EAAqE;AAQrE,SAAgB,SAAS,CACvB,MAAiD;IAEjD,OAAO,CACL,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,SAAS;QAClC,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,SAAS;QAClC,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAC3D,CAAA;AACH,CAAC;AARD,8BAQC;AAED,SAAgB,SAAS,CACvB,MAAiD;IAEjD,OAAO,CACL,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,OAAO;QAChC,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,CAC1D,CAAA;AACH,CAAC;AAPD,8BAOC;AAED,SAAgB,OAAO,CACrB,MAAiD;IAEjD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC;AAJD,0BAIC;AAWD,SAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,GAAG,EACH,MAAM,EACN,cAAc,EACd,eAAe,EACf,kBAAkB,GACE;IACpB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAA;IACvC,MAAM,wBAAwB,GAAG,mDAAqB,CAAC;QACrD,QAAQ;QACR,GAAG;QACH,cAAc;QACd,eAAe;QACf,kBAAkB;KACnB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAA;SAC1B;QACD,OAAO,uBAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAxBD,kCAwBC;AAED,SAAgB,6BAA6B,CAC3C,uBAA2D;IAE3D,MAAM,MAAM,GAAG,CAAC,gCAAgC,CAAC,CAAA;IACjD,MAAM,UAAU,GAAiD,EAAE,CAAA;IACnE,uBAAuB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAChD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAA;IAChD,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;SACtB,GAAG,CACF,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,4BAA4B,CAAC,aAAa,CAAC,EAAE,CACtE;SACA,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxB,CAAC;AAjBD,sEAiBC;AAED,SAAgB,4BAA4B,CAC1C,aAA+C;IAE/C,OAAO,IAAI,aAAa,CAAC,IAAI,YAAY,aAAa,CAAC,UAAU,IAAI,CAAA;AACvE,CAAC;AAJD,oEAIC","sourcesContent":["import indentString from 'indent-string'\nimport Status from '../../status'\nimport { formatTestCaseAttempt } from './test_case_attempt_formatter'\nimport { messages } from '@cucumber/messages'\nimport { IColorFns } from '../get_color_fns'\nimport StepDefinitionSnippetBuilder from '../step_definition_snippet_builder'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\nimport { ITestCaseAttempt } from './event_data_collector'\nimport { Dictionary } from 'lodash'\n\nexport function isFailure(\n result: messages.TestStepFinished.ITestStepResult\n): boolean {\n return (\n result.status === Status.AMBIGUOUS ||\n result.status === Status.UNDEFINED ||\n (result.status === Status.FAILED && !result.willBeRetried)\n )\n}\n\nexport function isWarning(\n result: messages.TestStepFinished.ITestStepResult\n): boolean {\n return (\n result.status === Status.PENDING ||\n (result.status === Status.FAILED && result.willBeRetried)\n )\n}\n\nexport function isIssue(\n result: messages.TestStepFinished.ITestStepResult\n): boolean {\n return isFailure(result) || isWarning(result)\n}\n\nexport interface IFormatIssueRequest {\n colorFns: IColorFns\n cwd: string\n number: number\n snippetBuilder: StepDefinitionSnippetBuilder\n testCaseAttempt: ITestCaseAttempt\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport function formatIssue({\n colorFns,\n cwd,\n number,\n snippetBuilder,\n testCaseAttempt,\n supportCodeLibrary,\n}: IFormatIssueRequest): string {\n const prefix = `${number.toString()}) `\n const formattedTestCaseAttempt = formatTestCaseAttempt({\n colorFns,\n cwd,\n snippetBuilder,\n testCaseAttempt,\n supportCodeLibrary,\n })\n const lines = formattedTestCaseAttempt.split('\\n')\n const updatedLines = lines.map((line, index) => {\n if (index === 0) {\n return `${prefix}${line}`\n }\n return indentString(line, prefix.length)\n })\n return updatedLines.join('\\n')\n}\n\nexport function formatUndefinedParameterTypes(\n undefinedParameterTypes: messages.IUndefinedParameterType[]\n): string {\n const output = [`Undefined parameter types:\\n\\n`]\n const withLatest: Dictionary = {}\n undefinedParameterTypes.forEach((parameterType) => {\n withLatest[parameterType.name] = parameterType\n })\n output.push(\n Object.values(withLatest)\n .map(\n (parameterType) => `- ${formatUndefinedParameterType(parameterType)}`\n )\n .join('\\n')\n )\n output.push('\\n\\n')\n return output.join('')\n}\n\nexport function formatUndefinedParameterType(\n parameterType: messages.IUndefinedParameterType\n): string {\n return `\"${parameterType.name}\" e.g. \\`${parameterType.expression}\\``\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.d.ts new file mode 100644 index 0000000..e38f64e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.d.ts @@ -0,0 +1,11 @@ +export declare enum KeywordType { + Precondition = "precondition", + Event = "event", + Outcome = "outcome" +} +export interface IGetStepKeywordTypeOptions { + keyword: string; + language: string; + previousKeywordType?: KeywordType; +} +export declare function getStepKeywordType({ keyword, language, previousKeywordType, }: IGetStepKeywordTypeOptions): KeywordType; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.js new file mode 100644 index 0000000..443805f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.js @@ -0,0 +1,36 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getStepKeywordType = exports.KeywordType = void 0; +const lodash_1 = __importDefault(require("lodash")); +const gherkin_1 = require("@cucumber/gherkin"); +const value_checker_1 = require("../../value_checker"); +var KeywordType; +(function (KeywordType) { + KeywordType["Precondition"] = "precondition"; + KeywordType["Event"] = "event"; + KeywordType["Outcome"] = "outcome"; +})(KeywordType = exports.KeywordType || (exports.KeywordType = {})); +function getStepKeywordType({ keyword, language, previousKeywordType, }) { + const dialect = gherkin_1.dialects[language]; + const stepKeywords = ['given', 'when', 'then', 'and', 'but']; + const type = lodash_1.default.find(stepKeywords, (key) => lodash_1.default.includes(dialect[key], keyword)); + switch (type) { + case 'when': + return KeywordType.Event; + case 'then': + return KeywordType.Outcome; + case 'and': + case 'but': + if (value_checker_1.doesHaveValue(previousKeywordType)) { + return previousKeywordType; + } + // fallthrough + default: + return KeywordType.Precondition; + } +} +exports.getStepKeywordType = getStepKeywordType; +//# sourceMappingURL=keyword_type.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.js.map new file mode 100644 index 0000000..bbc420d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/keyword_type.js.map @@ -0,0 +1 @@ +{"version":3,"file":"keyword_type.js","sourceRoot":"","sources":["../../../src/formatter/helpers/keyword_type.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,+CAAqD;AACrD,uDAAmD;AAEnD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4CAA6B,CAAA;IAC7B,8BAAe,CAAA;IACf,kCAAmB,CAAA;AACrB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAQD,SAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,mBAAmB,GACQ;IAC3B,MAAM,OAAO,GAAY,kBAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;IACrE,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7E,QAAQ,IAAI,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,KAAK,CAAA;QAC1B,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,OAAO,CAAA;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,IAAI,6BAAa,CAAC,mBAAmB,CAAC,EAAE;gBACtC,OAAO,mBAAmB,CAAA;aAC3B;QACH,cAAc;QACd;YACE,OAAO,WAAW,CAAC,YAAY,CAAA;KAClC;AACH,CAAC;AAtBD,gDAsBC","sourcesContent":["import _ from 'lodash'\nimport { Dialect, dialects } from '@cucumber/gherkin'\nimport { doesHaveValue } from '../../value_checker'\n\nexport enum KeywordType {\n Precondition = 'precondition',\n Event = 'event',\n Outcome = 'outcome',\n}\n\nexport interface IGetStepKeywordTypeOptions {\n keyword: string\n language: string\n previousKeywordType?: KeywordType\n}\n\nexport function getStepKeywordType({\n keyword,\n language,\n previousKeywordType,\n}: IGetStepKeywordTypeOptions): KeywordType {\n const dialect: Dialect = dialects[language]\n const stepKeywords = ['given', 'when', 'then', 'and', 'but'] as const\n const type = _.find(stepKeywords, (key) => _.includes(dialect[key], keyword))\n switch (type) {\n case 'when':\n return KeywordType.Event\n case 'then':\n return KeywordType.Outcome\n case 'and':\n case 'but':\n if (doesHaveValue(previousKeywordType)) {\n return previousKeywordType\n }\n // fallthrough\n default:\n return KeywordType.Precondition\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.d.ts new file mode 100644 index 0000000..4936e2d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.d.ts @@ -0,0 +1,2 @@ +import { ILineAndUri } from '../../types'; +export declare function formatLocation(obj: ILineAndUri, cwd?: string): string; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.js new file mode 100644 index 0000000..0cd6487 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.js @@ -0,0 +1,17 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatLocation = void 0; +const path_1 = __importDefault(require("path")); +const value_checker_1 = require("../../value_checker"); +function formatLocation(obj, cwd) { + let uri = obj.uri; + if (value_checker_1.doesHaveValue(cwd)) { + uri = path_1.default.relative(cwd, uri); + } + return `${uri}:${obj.line.toString()}`; +} +exports.formatLocation = formatLocation; +//# sourceMappingURL=location_helpers.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.js.map new file mode 100644 index 0000000..a66dc22 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/location_helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"location_helpers.js","sourceRoot":"","sources":["../../../src/formatter/helpers/location_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,uDAAmD;AAGnD,SAAgB,cAAc,CAAC,GAAgB,EAAE,GAAY;IAC3D,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;IACjB,IAAI,6BAAa,CAAC,GAAG,CAAC,EAAE;QACtB,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAC9B;IACD,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAA;AACxC,CAAC;AAND,wCAMC","sourcesContent":["import path from 'path'\nimport { doesHaveValue } from '../../value_checker'\nimport { ILineAndUri } from '../../types'\n\nexport function formatLocation(obj: ILineAndUri, cwd?: string): string {\n let uri = obj.uri\n if (doesHaveValue(cwd)) {\n uri = path.relative(cwd, uri)\n }\n return `${uri}:${obj.line.toString()}`\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.d.ts new file mode 100644 index 0000000..96777cd --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.d.ts @@ -0,0 +1,18 @@ +import { Dictionary } from 'lodash'; +import { messages } from '@cucumber/messages'; +export interface IGetPickleLocationRequest { + gherkinDocument: messages.IGherkinDocument; + pickle: messages.IPickle; +} +export interface IGetStepKeywordRequest { + pickleStep: messages.Pickle.IPickleStep; + gherkinStepMap: Dictionary; +} +export interface IGetScenarioDescriptionRequest { + pickle: messages.IPickle; + gherkinScenarioMap: Dictionary; +} +export declare function getScenarioDescription({ pickle, gherkinScenarioMap, }: IGetScenarioDescriptionRequest): string; +export declare function getStepKeyword({ pickleStep, gherkinStepMap, }: IGetStepKeywordRequest): string; +export declare function getPickleStepMap(pickle: messages.IPickle): Dictionary; +export declare function getPickleLocation({ gherkinDocument, pickle, }: IGetPickleLocationRequest): messages.ILocation; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.js new file mode 100644 index 0000000..6a41f16 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.js @@ -0,0 +1,37 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getPickleLocation = exports.getPickleStepMap = exports.getStepKeyword = exports.getScenarioDescription = void 0; +const lodash_1 = __importDefault(require("lodash")); +const gherkin_document_parser_1 = require("./gherkin_document_parser"); +function getScenarioDescription({ pickle, gherkinScenarioMap, }) { + return lodash_1.default.chain(pickle.astNodeIds) + .map((id) => gherkinScenarioMap[id]) + .compact() + .first() + .value().description; +} +exports.getScenarioDescription = getScenarioDescription; +function getStepKeyword({ pickleStep, gherkinStepMap, }) { + return lodash_1.default.chain(pickleStep.astNodeIds) + .map((id) => gherkinStepMap[id]) + .compact() + .first() + .value().keyword; +} +exports.getStepKeyword = getStepKeyword; +function getPickleStepMap(pickle) { + return lodash_1.default.chain(pickle.steps) + .map((pickleStep) => [pickleStep.id, pickleStep]) + .fromPairs() + .value(); +} +exports.getPickleStepMap = getPickleStepMap; +function getPickleLocation({ gherkinDocument, pickle, }) { + const gherkinScenarioLocationMap = gherkin_document_parser_1.getGherkinScenarioLocationMap(gherkinDocument); + return gherkinScenarioLocationMap[lodash_1.default.last(pickle.astNodeIds)]; +} +exports.getPickleLocation = getPickleLocation; +//# sourceMappingURL=pickle_parser.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.js.map new file mode 100644 index 0000000..fb57267 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/pickle_parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pickle_parser.js","sourceRoot":"","sources":["../../../src/formatter/helpers/pickle_parser.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsC;AACtC,uEAAyE;AAkBzE,SAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,kBAAkB,GACa;IAC/B,OAAO,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;SAC9B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;SACnC,OAAO,EAAE;SACT,KAAK,EAAE;SACP,KAAK,EAAE,CAAC,WAAW,CAAA;AACxB,CAAC;AATD,wDASC;AAED,SAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,cAAc,GACS;IACvB,OAAO,gBAAC,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;SAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SAC/B,OAAO,EAAE;SACT,KAAK,EAAE;SACP,KAAK,EAAE,CAAC,OAAO,CAAA;AACpB,CAAC;AATD,wCASC;AAED,SAAgB,gBAAgB,CAC9B,MAAwB;IAExB,OAAO,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;SAChD,SAAS,EAAE;SACX,KAAK,EAAE,CAAA;AACZ,CAAC;AAPD,4CAOC;AAED,SAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,MAAM,GACoB;IAC1B,MAAM,0BAA0B,GAAG,uDAA6B,CAC9D,eAAe,CAChB,CAAA;IACD,OAAO,0BAA0B,CAAC,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAC9D,CAAC;AARD,8CAQC","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { getGherkinScenarioLocationMap } from './gherkin_document_parser'\nimport { messages } from '@cucumber/messages'\n\nexport interface IGetPickleLocationRequest {\n gherkinDocument: messages.IGherkinDocument\n pickle: messages.IPickle\n}\n\nexport interface IGetStepKeywordRequest {\n pickleStep: messages.Pickle.IPickleStep\n gherkinStepMap: Dictionary\n}\n\nexport interface IGetScenarioDescriptionRequest {\n pickle: messages.IPickle\n gherkinScenarioMap: Dictionary\n}\n\nexport function getScenarioDescription({\n pickle,\n gherkinScenarioMap,\n}: IGetScenarioDescriptionRequest): string {\n return _.chain(pickle.astNodeIds)\n .map((id) => gherkinScenarioMap[id])\n .compact()\n .first()\n .value().description\n}\n\nexport function getStepKeyword({\n pickleStep,\n gherkinStepMap,\n}: IGetStepKeywordRequest): string {\n return _.chain(pickleStep.astNodeIds)\n .map((id) => gherkinStepMap[id])\n .compact()\n .first()\n .value().keyword\n}\n\nexport function getPickleStepMap(\n pickle: messages.IPickle\n): Dictionary {\n return _.chain(pickle.steps)\n .map((pickleStep) => [pickleStep.id, pickleStep])\n .fromPairs()\n .value()\n}\n\nexport function getPickleLocation({\n gherkinDocument,\n pickle,\n}: IGetPickleLocationRequest): messages.ILocation {\n const gherkinScenarioLocationMap = getGherkinScenarioLocationMap(\n gherkinDocument\n )\n return gherkinScenarioLocationMap[_.last(pickle.astNodeIds)]\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.d.ts new file mode 100644 index 0000000..7995c31 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.d.ts @@ -0,0 +1,2 @@ +import { messages } from '@cucumber/messages'; +export declare function formatStepArgument(arg: messages.IPickleStepArgument): string; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.js new file mode 100644 index 0000000..9423a71 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.js @@ -0,0 +1,48 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatStepArgument = void 0; +const cli_table3_1 = __importDefault(require("cli-table3")); +const step_arguments_1 = require("../../step_arguments"); +function formatDataTable(dataTable) { + const table = new cli_table3_1.default({ + chars: { + bottom: '', + 'bottom-left': '', + 'bottom-mid': '', + 'bottom-right': '', + left: '|', + 'left-mid': '', + mid: '', + 'mid-mid': '', + middle: '|', + right: '|', + 'right-mid': '', + top: '', + 'top-left': '', + 'top-mid': '', + 'top-right': '', + }, + style: { + border: [], + 'padding-left': 1, + 'padding-right': 1, + }, + }); + const rows = dataTable.rows.map((row) => row.cells.map((cell) => cell.value.replace(/\\/g, '\\\\').replace(/\n/g, '\\n'))); + table.push(...rows); + return table.toString(); +} +function formatDocString(docString) { + return `"""\n${docString.content}\n"""`; +} +function formatStepArgument(arg) { + return step_arguments_1.parseStepArgument(arg, { + dataTable: formatDataTable, + docString: formatDocString, + }); +} +exports.formatStepArgument = formatStepArgument; +//# sourceMappingURL=step_argument_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.js.map new file mode 100644 index 0000000..994cbbf --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/step_argument_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"step_argument_formatter.js","sourceRoot":"","sources":["../../../src/formatter/helpers/step_argument_formatter.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAC9B,yDAAwD;AAGxD,SAAS,eAAe,CACtB,SAAmD;IAEnD,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;YACP,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;SACnB;KACF,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACxD,CACF,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACnB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC;AAED,SAAS,eAAe,CACtB,SAAuD;IAEvD,OAAO,QAAQ,SAAS,CAAC,OAAO,OAAO,CAAA;AACzC,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAiC;IAClE,OAAO,kCAAiB,CAAC,GAAG,EAAE;QAC5B,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAA;AACJ,CAAC;AALD,gDAKC","sourcesContent":["import Table from 'cli-table3'\nimport { parseStepArgument } from '../../step_arguments'\nimport { messages } from '@cucumber/messages'\n\nfunction formatDataTable(\n dataTable: messages.PickleStepArgument.IPickleTable\n): string {\n const table = new Table({\n chars: {\n bottom: '',\n 'bottom-left': '',\n 'bottom-mid': '',\n 'bottom-right': '',\n left: '|',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n middle: '|',\n right: '|',\n 'right-mid': '',\n top: '',\n 'top-left': '',\n 'top-mid': '',\n 'top-right': '',\n },\n style: {\n border: [],\n 'padding-left': 1,\n 'padding-right': 1,\n },\n })\n const rows = dataTable.rows.map((row) =>\n row.cells.map((cell) =>\n cell.value.replace(/\\\\/g, '\\\\\\\\').replace(/\\n/g, '\\\\n')\n )\n )\n table.push(...rows)\n return table.toString()\n}\n\nfunction formatDocString(\n docString: messages.PickleStepArgument.IPickleDocString\n): string {\n return `\"\"\"\\n${docString.content}\\n\"\"\"`\n}\n\nexport function formatStepArgument(arg: messages.IPickleStepArgument): string {\n return parseStepArgument(arg, {\n dataTable: formatDataTable,\n docString: formatDocString,\n })\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.d.ts new file mode 100644 index 0000000..ce0de84 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.d.ts @@ -0,0 +1,9 @@ +import { IColorFns } from '../get_color_fns'; +import { ITestCaseAttempt } from './event_data_collector'; +import { messages } from '@cucumber/messages'; +export interface IFormatSummaryRequest { + colorFns: IColorFns; + testCaseAttempts: ITestCaseAttempt[]; + testRunDuration: messages.IDuration; +} +export declare function formatSummary({ colorFns, testCaseAttempts, testRunDuration, }: IFormatSummaryRequest): string; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.js new file mode 100644 index 0000000..77a0677 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.js @@ -0,0 +1,73 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatSummary = void 0; +const lodash_1 = __importDefault(require("lodash")); +const duration_1 = __importDefault(require("duration")); +const status_1 = __importDefault(require("../../status")); +const time_1 = require("../../time"); +const messages_1 = require("@cucumber/messages"); +const STATUS_REPORT_ORDER = [ + status_1.default.FAILED, + status_1.default.AMBIGUOUS, + status_1.default.UNDEFINED, + status_1.default.PENDING, + status_1.default.SKIPPED, + status_1.default.PASSED, +]; +function formatSummary({ colorFns, testCaseAttempts, testRunDuration, }) { + const testCaseResults = []; + const testStepResults = []; + let totalStepDuration = time_1.getZeroDuration(); + testCaseAttempts.forEach(({ testCase, worstTestStepResult, stepResults }) => { + Object.values(stepResults).forEach((stepResult) => { + totalStepDuration = time_1.addDurations(totalStepDuration, stepResult.duration); + }); + if (!worstTestStepResult.willBeRetried) { + testCaseResults.push(worstTestStepResult); + lodash_1.default.each(testCase.testSteps, (testStep) => { + if (testStep.pickleStepId !== '') { + testStepResults.push(stepResults[testStep.id]); + } + }); + } + }); + const scenarioSummary = getCountSummary({ + colorFns, + objects: testCaseResults, + type: 'scenario', + }); + const stepSummary = getCountSummary({ + colorFns, + objects: testStepResults, + type: 'step', + }); + const durationSummary = `${getDurationSummary(testRunDuration)} (executing steps: ${getDurationSummary(totalStepDuration)})\n`; + return [scenarioSummary, stepSummary, durationSummary].join('\n'); +} +exports.formatSummary = formatSummary; +function getCountSummary({ colorFns, objects, type, }) { + const counts = lodash_1.default.chain(objects).groupBy('status').mapValues('length').value(); + const total = lodash_1.default.chain(counts).values().sum().value(); + let text = `${total.toString()} ${type}${total === 1 ? '' : 's'}`; + if (total > 0) { + const details = []; + STATUS_REPORT_ORDER.forEach((status) => { + if (counts[status] > 0) { + details.push(colorFns.forStatus(status)(`${counts[status].toString()} ${status_1.default[status].toLowerCase()}`)); + } + }); + text += ` (${details.join(', ')})`; + } + return text; +} +function getDurationSummary(durationMsg) { + const start = new Date(0); + const end = new Date(messages_1.TimeConversion.durationToMilliseconds(durationMsg)); + const duration = new duration_1.default(start, end); + // Use spaces in toString method for readability and to avoid %Ls which is a format + return duration.toString('%Ms m %S . %L s').replace(/ /g, ''); +} +//# sourceMappingURL=summary_helpers.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.js.map new file mode 100644 index 0000000..a7baa23 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/summary_helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"summary_helpers.js","sourceRoot":"","sources":["../../../src/formatter/helpers/summary_helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport Duration from 'duration'\nimport Status from '../../status'\nimport { addDurations, getZeroDuration } from '../../time'\nimport { IColorFns } from '../get_color_fns'\nimport { ITestCaseAttempt } from './event_data_collector'\nimport { messages, TimeConversion } from '@cucumber/messages'\n\nconst STATUS_REPORT_ORDER = [\n Status.FAILED,\n Status.AMBIGUOUS,\n Status.UNDEFINED,\n Status.PENDING,\n Status.SKIPPED,\n Status.PASSED,\n]\n\nexport interface IFormatSummaryRequest {\n colorFns: IColorFns\n testCaseAttempts: ITestCaseAttempt[]\n testRunDuration: messages.IDuration\n}\n\nexport function formatSummary({\n colorFns,\n testCaseAttempts,\n testRunDuration,\n}: IFormatSummaryRequest): string {\n const testCaseResults: messages.TestStepFinished.ITestStepResult[] = []\n const testStepResults: messages.TestStepFinished.ITestStepResult[] = []\n let totalStepDuration = getZeroDuration()\n testCaseAttempts.forEach(({ testCase, worstTestStepResult, stepResults }) => {\n Object.values(stepResults).forEach((stepResult) => {\n totalStepDuration = addDurations(totalStepDuration, stepResult.duration)\n })\n if (!worstTestStepResult.willBeRetried) {\n testCaseResults.push(worstTestStepResult)\n _.each(testCase.testSteps, (testStep) => {\n if (testStep.pickleStepId !== '') {\n testStepResults.push(stepResults[testStep.id])\n }\n })\n }\n })\n const scenarioSummary = getCountSummary({\n colorFns,\n objects: testCaseResults,\n type: 'scenario',\n })\n const stepSummary = getCountSummary({\n colorFns,\n objects: testStepResults,\n type: 'step',\n })\n const durationSummary = `${getDurationSummary(\n testRunDuration\n )} (executing steps: ${getDurationSummary(totalStepDuration)})\\n`\n return [scenarioSummary, stepSummary, durationSummary].join('\\n')\n}\n\ninterface IGetCountSummaryRequest {\n colorFns: IColorFns\n objects: messages.TestStepFinished.ITestStepResult[]\n type: string\n}\n\nfunction getCountSummary({\n colorFns,\n objects,\n type,\n}: IGetCountSummaryRequest): string {\n const counts = _.chain(objects).groupBy('status').mapValues('length').value()\n const total = _.chain(counts).values().sum().value()\n let text = `${total.toString()} ${type}${total === 1 ? '' : 's'}`\n if (total > 0) {\n const details: string[] = []\n STATUS_REPORT_ORDER.forEach((status) => {\n if (counts[status] > 0) {\n details.push(\n colorFns.forStatus(status)(\n `${counts[status].toString()} ${Status[status].toLowerCase()}`\n )\n )\n }\n })\n text += ` (${details.join(', ')})`\n }\n return text\n}\n\nfunction getDurationSummary(durationMsg: messages.IDuration): string {\n const start = new Date(0)\n const end = new Date(TimeConversion.durationToMilliseconds(durationMsg))\n const duration = new Duration(start, end)\n // Use spaces in toString method for readability and to avoid %Ls which is a format\n return duration.toString('%Ms m %S . %L s').replace(/ /g, '')\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.d.ts new file mode 100644 index 0000000..70fe250 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.d.ts @@ -0,0 +1,12 @@ +import { IColorFns } from '../get_color_fns'; +import { ITestCaseAttempt } from './event_data_collector'; +import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder'; +import { ISupportCodeLibrary } from '../../support_code_library_builder/types'; +export interface IFormatTestCaseAttemptRequest { + colorFns: IColorFns; + cwd: string; + testCaseAttempt: ITestCaseAttempt; + snippetBuilder: StepDefinitionSnippetBuilder; + supportCodeLibrary: ISupportCodeLibrary; +} +export declare function formatTestCaseAttempt({ colorFns, cwd, snippetBuilder, supportCodeLibrary, testCaseAttempt, }: IFormatTestCaseAttemptRequest): string; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.js new file mode 100644 index 0000000..1e67d6e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.js @@ -0,0 +1,81 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatTestCaseAttempt = void 0; +const indent_string_1 = __importDefault(require("indent-string")); +const status_1 = __importDefault(require("../../status")); +const figures_1 = __importDefault(require("figures")); +const location_helpers_1 = require("./location_helpers"); +const test_case_attempt_parser_1 = require("./test_case_attempt_parser"); +const step_argument_formatter_1 = require("./step_argument_formatter"); +const value_checker_1 = require("../../value_checker"); +const CHARACTERS = { + [status_1.default.AMBIGUOUS]: figures_1.default.cross, + [status_1.default.FAILED]: figures_1.default.cross, + [status_1.default.PASSED]: figures_1.default.tick, + [status_1.default.PENDING]: '?', + [status_1.default.SKIPPED]: '-', + [status_1.default.UNDEFINED]: '?', +}; +function getStepMessage(testStep) { + switch (testStep.result.status) { + case status_1.default.AMBIGUOUS: + case status_1.default.FAILED: + return testStep.result.message; + case status_1.default.UNDEFINED: + return `${'Undefined. Implement with the following snippet:' + '\n\n'}${indent_string_1.default(testStep.snippet, 2)}\n`; + case status_1.default.PENDING: + return 'Pending'; + } + return ''; +} +function formatStep({ colorFns, testStep }) { + const { result: { status }, actionLocation, attachments, } = testStep; + const colorFn = colorFns.forStatus(status); + const identifier = testStep.keyword + value_checker_1.valueOrDefault(testStep.text, ''); + let text = colorFn(`${CHARACTERS[status]} ${identifier}`); + if (value_checker_1.doesHaveValue(actionLocation)) { + text += ` # ${colorFns.location(location_helpers_1.formatLocation(actionLocation))}`; + } + text += '\n'; + if (value_checker_1.doesHaveValue(testStep.argument)) { + const argumentsText = step_argument_formatter_1.formatStepArgument(testStep.argument); + text += indent_string_1.default(`${colorFn(argumentsText)}\n`, 4); + } + attachments.forEach(({ body, mediaType }) => { + const message = mediaType === 'text/plain' ? `: ${body}` : ''; + text += indent_string_1.default(`Attachment (${mediaType})${message}\n`, 4); + }); + const message = getStepMessage(testStep); + if (message !== '') { + text += `${indent_string_1.default(colorFn(message), 4)}\n`; + } + return text; +} +function formatTestCaseAttempt({ colorFns, cwd, snippetBuilder, supportCodeLibrary, testCaseAttempt, }) { + const parsed = test_case_attempt_parser_1.parseTestCaseAttempt({ + cwd, + snippetBuilder, + testCaseAttempt, + supportCodeLibrary, + }); + let text = `Scenario: ${parsed.testCase.name}`; + text += getAttemptText(parsed.testCase.attempt, parsed.testCase.worstTestStepResult.willBeRetried); + text += ` # ${colorFns.location(location_helpers_1.formatLocation(parsed.testCase.sourceLocation))}\n`; + parsed.testSteps.forEach((testStep) => { + text += formatStep({ colorFns, testStep }); + }); + return `${text}\n`; +} +exports.formatTestCaseAttempt = formatTestCaseAttempt; +function getAttemptText(attempt, willBeRetried) { + if (attempt > 0 || willBeRetried) { + const numberStr = (attempt + 1).toString(); + const retriedStr = willBeRetried ? ', retried' : ''; + return ` (attempt ${numberStr}${retriedStr})`; + } + return ''; +} +//# sourceMappingURL=test_case_attempt_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.js.map new file mode 100644 index 0000000..834ba56 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"test_case_attempt_formatter.js","sourceRoot":"","sources":["../../../src/formatter/helpers/test_case_attempt_formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import indentString from 'indent-string'\nimport Status from '../../status'\nimport figures from 'figures'\nimport { formatLocation } from './location_helpers'\nimport {\n IParsedTestStep,\n parseTestCaseAttempt,\n} from './test_case_attempt_parser'\nimport { formatStepArgument } from './step_argument_formatter'\nimport { IColorFns } from '../get_color_fns'\nimport { doesHaveValue, valueOrDefault } from '../../value_checker'\nimport { ITestCaseAttempt } from './event_data_collector'\nimport StepDefinitionSnippetBuilder from '../step_definition_snippet_builder'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\n\nconst CHARACTERS: { [status: number]: string } = {\n [Status.AMBIGUOUS]: figures.cross,\n [Status.FAILED]: figures.cross,\n [Status.PASSED]: figures.tick,\n [Status.PENDING]: '?',\n [Status.SKIPPED]: '-',\n [Status.UNDEFINED]: '?',\n}\n\nfunction getStepMessage(testStep: IParsedTestStep): string {\n switch (testStep.result.status) {\n case Status.AMBIGUOUS:\n case Status.FAILED:\n return testStep.result.message\n case Status.UNDEFINED:\n return `${\n 'Undefined. Implement with the following snippet:' + '\\n\\n'\n }${indentString(testStep.snippet, 2)}\\n`\n case Status.PENDING:\n return 'Pending'\n }\n return ''\n}\n\ninterface IFormatStepRequest {\n colorFns: IColorFns\n testStep: IParsedTestStep\n}\n\nfunction formatStep({ colorFns, testStep }: IFormatStepRequest): string {\n const {\n result: { status },\n actionLocation,\n attachments,\n } = testStep\n const colorFn = colorFns.forStatus(status)\n const identifier = testStep.keyword + valueOrDefault(testStep.text, '')\n let text = colorFn(`${CHARACTERS[status]} ${identifier}`)\n if (doesHaveValue(actionLocation)) {\n text += ` # ${colorFns.location(formatLocation(actionLocation))}`\n }\n text += '\\n'\n if (doesHaveValue(testStep.argument)) {\n const argumentsText = formatStepArgument(testStep.argument)\n text += indentString(`${colorFn(argumentsText)}\\n`, 4)\n }\n attachments.forEach(({ body, mediaType }) => {\n const message = mediaType === 'text/plain' ? `: ${body}` : ''\n text += indentString(`Attachment (${mediaType})${message}\\n`, 4)\n })\n const message = getStepMessage(testStep)\n if (message !== '') {\n text += `${indentString(colorFn(message), 4)}\\n`\n }\n return text\n}\n\nexport interface IFormatTestCaseAttemptRequest {\n colorFns: IColorFns\n cwd: string\n testCaseAttempt: ITestCaseAttempt\n snippetBuilder: StepDefinitionSnippetBuilder\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport function formatTestCaseAttempt({\n colorFns,\n cwd,\n snippetBuilder,\n supportCodeLibrary,\n testCaseAttempt,\n}: IFormatTestCaseAttemptRequest): string {\n const parsed = parseTestCaseAttempt({\n cwd,\n snippetBuilder,\n testCaseAttempt,\n supportCodeLibrary,\n })\n let text = `Scenario: ${parsed.testCase.name}`\n text += getAttemptText(\n parsed.testCase.attempt,\n parsed.testCase.worstTestStepResult.willBeRetried\n )\n text += ` # ${colorFns.location(\n formatLocation(parsed.testCase.sourceLocation)\n )}\\n`\n parsed.testSteps.forEach((testStep) => {\n text += formatStep({ colorFns, testStep })\n })\n return `${text}\\n`\n}\n\nfunction getAttemptText(attempt: number, willBeRetried: boolean): string {\n if (attempt > 0 || willBeRetried) {\n const numberStr = (attempt + 1).toString()\n const retriedStr = willBeRetried ? ', retried' : ''\n return ` (attempt ${numberStr}${retriedStr})`\n }\n return ''\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.d.ts new file mode 100644 index 0000000..27649ba --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.d.ts @@ -0,0 +1,32 @@ +import { messages } from '@cucumber/messages'; +import { ITestCaseAttempt } from './event_data_collector'; +import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder'; +import { ISupportCodeLibrary } from '../../support_code_library_builder/types'; +import { ILineAndUri } from '../../types'; +export interface IParsedTestStep { + actionLocation?: ILineAndUri; + argument?: messages.IPickleStepArgument; + attachments: messages.IAttachment[]; + keyword: string; + result: messages.TestStepFinished.ITestStepResult; + snippet?: string; + sourceLocation?: ILineAndUri; + text?: string; +} +export interface IParsedTestCase { + attempt: number; + name: string; + sourceLocation?: ILineAndUri; + worstTestStepResult: messages.TestStepFinished.ITestStepResult; +} +export interface IParsedTestCaseAttempt { + testCase: IParsedTestCase; + testSteps: IParsedTestStep[]; +} +export interface IParseTestCaseAttemptRequest { + cwd: string; + testCaseAttempt: ITestCaseAttempt; + snippetBuilder: StepDefinitionSnippetBuilder; + supportCodeLibrary: ISupportCodeLibrary; +} +export declare function parseTestCaseAttempt({ cwd, testCaseAttempt, snippetBuilder, supportCodeLibrary, }: IParseTestCaseAttemptRequest): IParsedTestCaseAttempt; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.js new file mode 100644 index 0000000..38f1f99 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.js @@ -0,0 +1,115 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseTestCaseAttempt = void 0; +const lodash_1 = __importDefault(require("lodash")); +const status_1 = __importDefault(require("../../status")); +const keyword_type_1 = require("./keyword_type"); +const gherkin_document_parser_1 = require("./gherkin_document_parser"); +const pickle_parser_1 = require("./pickle_parser"); +const path_1 = __importDefault(require("path")); +const value_checker_1 = require("../../value_checker"); +function parseStep({ isBeforeHook, gherkinStepMap, keyword, keywordType, pickleStep, pickleUri, snippetBuilder, supportCodeLibrary, testStep, testStepResult, testStepAttachments, }) { + const out = { + attachments: testStepAttachments, + keyword: testStep.pickleStepId !== '' + ? keyword + : isBeforeHook + ? 'Before' + : 'After', + result: testStepResult, + }; + if (testStep.hookId !== '') { + let hookDefinition; + if (isBeforeHook) { + hookDefinition = supportCodeLibrary.beforeTestCaseHookDefinitions.find((x) => x.id === testStep.hookId); + } + else { + hookDefinition = supportCodeLibrary.afterTestCaseHookDefinitions.find((x) => x.id === testStep.hookId); + } + out.actionLocation = { + uri: hookDefinition.uri, + line: hookDefinition.line, + }; + } + if (value_checker_1.doesHaveValue(testStep.stepDefinitionIds) && + testStep.stepDefinitionIds.length === 1) { + const stepDefinition = supportCodeLibrary.stepDefinitions.find((x) => x.id === testStep.stepDefinitionIds[0]); + out.actionLocation = { + uri: stepDefinition.uri, + line: stepDefinition.line, + }; + } + if (testStep.pickleStepId !== '') { + out.sourceLocation = { + uri: pickleUri, + line: gherkinStepMap[pickleStep.astNodeIds[0]].location.line, + }; + out.text = pickleStep.text; + if (value_checker_1.doesHaveValue(pickleStep.argument)) { + out.argument = pickleStep.argument; + } + } + if (testStepResult.status === status_1.default.UNDEFINED) { + out.snippet = snippetBuilder.build({ keywordType, pickleStep }); + } + return out; +} +// Converts a testCaseAttempt into a json object with all data needed for +// displaying it in a pretty format +function parseTestCaseAttempt({ cwd, testCaseAttempt, snippetBuilder, supportCodeLibrary, }) { + const { testCase, pickle, gherkinDocument } = testCaseAttempt; + const gherkinStepMap = gherkin_document_parser_1.getGherkinStepMap(gherkinDocument); + const gherkinScenarioLocationMap = gherkin_document_parser_1.getGherkinScenarioLocationMap(gherkinDocument); + const pickleStepMap = pickle_parser_1.getPickleStepMap(pickle); + const relativePickleUri = path_1.default.relative(cwd, pickle.uri); + const parsedTestCase = { + attempt: testCaseAttempt.attempt, + name: pickle.name, + sourceLocation: { + uri: relativePickleUri, + line: gherkinScenarioLocationMap[lodash_1.default.last(pickle.astNodeIds)].line, + }, + worstTestStepResult: testCaseAttempt.worstTestStepResult, + }; + const parsedTestSteps = []; + let isBeforeHook = true; + let previousKeywordType = keyword_type_1.KeywordType.Precondition; + lodash_1.default.each(testCase.testSteps, (testStep) => { + const testStepResult = testCaseAttempt.stepResults[testStep.id]; + isBeforeHook = isBeforeHook && testStep.hookId !== ''; + let keyword, keywordType, pickleStep; + if (testStep.pickleStepId !== '') { + pickleStep = pickleStepMap[testStep.pickleStepId]; + keyword = pickle_parser_1.getStepKeyword({ pickleStep, gherkinStepMap }); + keywordType = keyword_type_1.getStepKeywordType({ + keyword, + language: gherkinDocument.feature.language, + previousKeywordType, + }); + } + const parsedStep = parseStep({ + isBeforeHook, + gherkinStepMap, + keyword, + keywordType, + pickleStep, + pickleUri: relativePickleUri, + snippetBuilder, + supportCodeLibrary, + testStep, + testStepResult, + testStepAttachments: value_checker_1.valueOrDefault(testCaseAttempt.stepAttachments[testStep.id], []), + }); + parsedTestSteps.push(parsedStep); + previousKeywordType = keywordType; + }); + return { + testCase: parsedTestCase, + testSteps: parsedTestSteps, + }; +} +exports.parseTestCaseAttempt = parseTestCaseAttempt; +//# sourceMappingURL=test_case_attempt_parser.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.js.map new file mode 100644 index 0000000..f3cf4d9 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/test_case_attempt_parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"test_case_attempt_parser.js","sourceRoot":"","sources":["../../../src/formatter/helpers/test_case_attempt_parser.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport Status from '../../status'\nimport { getStepKeywordType, KeywordType } from './keyword_type'\nimport {\n getGherkinScenarioLocationMap,\n getGherkinStepMap,\n} from './gherkin_document_parser'\nimport { getPickleStepMap, getStepKeyword } from './pickle_parser'\nimport path from 'path'\nimport { messages } from '@cucumber/messages'\nimport { ITestCaseAttempt } from './event_data_collector'\nimport StepDefinitionSnippetBuilder from '../step_definition_snippet_builder'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\nimport { doesHaveValue, valueOrDefault } from '../../value_checker'\nimport TestCaseHookDefinition from '../../models/test_case_hook_definition'\nimport { ILineAndUri } from '../../types'\n\nexport interface IParsedTestStep {\n actionLocation?: ILineAndUri\n argument?: messages.IPickleStepArgument\n attachments: messages.IAttachment[]\n keyword: string\n result: messages.TestStepFinished.ITestStepResult\n snippet?: string\n sourceLocation?: ILineAndUri\n text?: string\n}\n\nexport interface IParsedTestCase {\n attempt: number\n name: string\n sourceLocation?: ILineAndUri\n worstTestStepResult: messages.TestStepFinished.ITestStepResult\n}\n\nexport interface IParsedTestCaseAttempt {\n testCase: IParsedTestCase\n testSteps: IParsedTestStep[]\n}\n\ninterface IParseStepRequest {\n isBeforeHook: boolean\n gherkinStepMap: Dictionary\n keyword: string\n keywordType: KeywordType\n pickleStep: messages.Pickle.IPickleStep\n pickleUri: string\n snippetBuilder: StepDefinitionSnippetBuilder\n supportCodeLibrary: ISupportCodeLibrary\n testStep: messages.TestCase.ITestStep\n testStepResult: messages.TestStepFinished.ITestStepResult\n testStepAttachments: messages.IAttachment[]\n}\n\nfunction parseStep({\n isBeforeHook,\n gherkinStepMap,\n keyword,\n keywordType,\n pickleStep,\n pickleUri,\n snippetBuilder,\n supportCodeLibrary,\n testStep,\n testStepResult,\n testStepAttachments,\n}: IParseStepRequest): IParsedTestStep {\n const out: IParsedTestStep = {\n attachments: testStepAttachments,\n keyword:\n testStep.pickleStepId !== ''\n ? keyword\n : isBeforeHook\n ? 'Before'\n : 'After',\n result: testStepResult,\n }\n if (testStep.hookId !== '') {\n let hookDefinition: TestCaseHookDefinition\n if (isBeforeHook) {\n hookDefinition = supportCodeLibrary.beforeTestCaseHookDefinitions.find(\n (x) => x.id === testStep.hookId\n )\n } else {\n hookDefinition = supportCodeLibrary.afterTestCaseHookDefinitions.find(\n (x) => x.id === testStep.hookId\n )\n }\n out.actionLocation = {\n uri: hookDefinition.uri,\n line: hookDefinition.line,\n }\n }\n if (\n doesHaveValue(testStep.stepDefinitionIds) &&\n testStep.stepDefinitionIds.length === 1\n ) {\n const stepDefinition = supportCodeLibrary.stepDefinitions.find(\n (x) => x.id === testStep.stepDefinitionIds[0]\n )\n out.actionLocation = {\n uri: stepDefinition.uri,\n line: stepDefinition.line,\n }\n }\n if (testStep.pickleStepId !== '') {\n out.sourceLocation = {\n uri: pickleUri,\n line: gherkinStepMap[pickleStep.astNodeIds[0]].location.line,\n }\n out.text = pickleStep.text\n if (doesHaveValue(pickleStep.argument)) {\n out.argument = pickleStep.argument\n }\n }\n if (testStepResult.status === Status.UNDEFINED) {\n out.snippet = snippetBuilder.build({ keywordType, pickleStep })\n }\n return out\n}\n\nexport interface IParseTestCaseAttemptRequest {\n cwd: string\n testCaseAttempt: ITestCaseAttempt\n snippetBuilder: StepDefinitionSnippetBuilder\n supportCodeLibrary: ISupportCodeLibrary\n}\n\n// Converts a testCaseAttempt into a json object with all data needed for\n// displaying it in a pretty format\nexport function parseTestCaseAttempt({\n cwd,\n testCaseAttempt,\n snippetBuilder,\n supportCodeLibrary,\n}: IParseTestCaseAttemptRequest): IParsedTestCaseAttempt {\n const { testCase, pickle, gherkinDocument } = testCaseAttempt\n const gherkinStepMap = getGherkinStepMap(gherkinDocument)\n const gherkinScenarioLocationMap = getGherkinScenarioLocationMap(\n gherkinDocument\n )\n const pickleStepMap = getPickleStepMap(pickle)\n const relativePickleUri = path.relative(cwd, pickle.uri)\n const parsedTestCase: IParsedTestCase = {\n attempt: testCaseAttempt.attempt,\n name: pickle.name,\n sourceLocation: {\n uri: relativePickleUri,\n line: gherkinScenarioLocationMap[_.last(pickle.astNodeIds)].line,\n },\n worstTestStepResult: testCaseAttempt.worstTestStepResult,\n }\n const parsedTestSteps: IParsedTestStep[] = []\n let isBeforeHook = true\n let previousKeywordType = KeywordType.Precondition\n _.each(testCase.testSteps, (testStep) => {\n const testStepResult = testCaseAttempt.stepResults[testStep.id]\n isBeforeHook = isBeforeHook && testStep.hookId !== ''\n let keyword, keywordType, pickleStep\n if (testStep.pickleStepId !== '') {\n pickleStep = pickleStepMap[testStep.pickleStepId]\n keyword = getStepKeyword({ pickleStep, gherkinStepMap })\n keywordType = getStepKeywordType({\n keyword,\n language: gherkinDocument.feature.language,\n previousKeywordType,\n })\n }\n const parsedStep = parseStep({\n isBeforeHook,\n gherkinStepMap,\n keyword,\n keywordType,\n pickleStep,\n pickleUri: relativePickleUri,\n snippetBuilder,\n supportCodeLibrary,\n testStep,\n testStepResult,\n testStepAttachments: valueOrDefault(\n testCaseAttempt.stepAttachments[testStep.id],\n []\n ),\n })\n parsedTestSteps.push(parsedStep)\n previousKeywordType = keywordType\n })\n return {\n testCase: parsedTestCase,\n testSteps: parsedTestSteps,\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.d.ts new file mode 100644 index 0000000..44a909a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.d.ts @@ -0,0 +1,24 @@ +import { messages } from '@cucumber/messages'; +import StepDefinition from '../../../models/step_definition'; +import EventDataCollector from '../event_data_collector'; +export interface IUsageMatch { + duration?: messages.IDuration; + line: number; + text: string; + uri: string; +} +export interface IUsage { + code: string; + line: number; + matches: IUsageMatch[]; + meanDuration?: messages.IDuration; + pattern: string; + patternType: string; + uri: string; +} +export interface IGetUsageRequest { + cwd: string; + eventDataCollector: EventDataCollector; + stepDefinitions: StepDefinition[]; +} +export declare function getUsage({ cwd, stepDefinitions, eventDataCollector, }: IGetUsageRequest): IUsage[]; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.js b/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.js new file mode 100644 index 0000000..87b9ac2 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.js @@ -0,0 +1,92 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getUsage = void 0; +const lodash_1 = __importDefault(require("lodash")); +const pickle_parser_1 = require("../pickle_parser"); +const path_1 = __importDefault(require("path")); +const gherkin_document_parser_1 = require("../gherkin_document_parser"); +const time_1 = require("../../../time"); +const messages_1 = require("@cucumber/messages"); +const value_checker_1 = require("../../../value_checker"); +function buildEmptyMapping(stepDefinitions) { + const mapping = {}; + stepDefinitions.forEach((stepDefinition) => { + mapping[stepDefinition.id] = { + code: stepDefinition.unwrappedCode.toString(), + line: stepDefinition.line, + pattern: stepDefinition.expression.source, + patternType: stepDefinition.expression.constructor.name, + matches: [], + uri: stepDefinition.uri, + }; + }); + return mapping; +} +function buildMapping({ cwd, stepDefinitions, eventDataCollector, }) { + const mapping = buildEmptyMapping(stepDefinitions); + lodash_1.default.each(eventDataCollector.getTestCaseAttempts(), (testCaseAttempt) => { + const pickleStepMap = pickle_parser_1.getPickleStepMap(testCaseAttempt.pickle); + const gherkinStepMap = gherkin_document_parser_1.getGherkinStepMap(testCaseAttempt.gherkinDocument); + testCaseAttempt.testCase.testSteps.forEach((testStep) => { + if (testStep.pickleStepId !== '' && + testStep.stepDefinitionIds.length === 1) { + const stepDefinitionId = testStep.stepDefinitionIds[0]; + const pickleStep = pickleStepMap[testStep.pickleStepId]; + const gherkinStep = gherkinStepMap[pickleStep.astNodeIds[0]]; + const match = { + line: gherkinStep.location.line, + text: pickleStep.text, + uri: path_1.default.relative(cwd, testCaseAttempt.pickle.uri), + }; + const { duration, status } = testCaseAttempt.stepResults[testStep.id]; + if (![ + messages_1.messages.TestStepFinished.TestStepResult.Status.AMBIGUOUS, + messages_1.messages.TestStepFinished.TestStepResult.Status.SKIPPED, + messages_1.messages.TestStepFinished.TestStepResult.Status.UNDEFINED, + ].includes(status) && + value_checker_1.doesHaveValue(duration)) { + match.duration = duration; + } + if (value_checker_1.doesHaveValue(mapping[stepDefinitionId])) { + mapping[stepDefinitionId].matches.push(match); + } + } + }); + }); + return mapping; +} +function invertDuration(duration) { + if (value_checker_1.doesHaveValue(duration)) { + return -1 * time_1.durationToMilliseconds(duration); + } + return 1; +} +function buildResult(mapping) { + return lodash_1.default.chain(mapping) + .map(({ matches, ...rest }) => { + const sortedMatches = lodash_1.default.sortBy(matches, [ + (match) => invertDuration(match.duration), + 'text', + ]); + const result = { matches: sortedMatches, ...rest }; + const durations = lodash_1.default.chain(matches) + .map((m) => m.duration) + .compact() + .value(); + if (durations.length > 0) { + result.meanDuration = time_1.millisecondsToDuration(lodash_1.default.meanBy(durations, (d) => time_1.durationToMilliseconds(d))); + } + return result; + }) + .sortBy((usage) => invertDuration(usage.meanDuration)) + .value(); +} +function getUsage({ cwd, stepDefinitions, eventDataCollector, }) { + const mapping = buildMapping({ cwd, stepDefinitions, eventDataCollector }); + return buildResult(mapping); +} +exports.getUsage = getUsage; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.js.map b/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.js.map new file mode 100644 index 0000000..a9e860e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/helpers/usage_helpers/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/formatter/helpers/usage_helpers/index.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { getPickleStepMap } from '../pickle_parser'\nimport path from 'path'\nimport { getGherkinStepMap } from '../gherkin_document_parser'\nimport { durationToMilliseconds, millisecondsToDuration } from '../../../time'\nimport { messages } from '@cucumber/messages'\nimport StepDefinition from '../../../models/step_definition'\nimport { doesHaveValue } from '../../../value_checker'\nimport EventDataCollector from '../event_data_collector'\n\nexport interface IUsageMatch {\n duration?: messages.IDuration\n line: number\n text: string\n uri: string\n}\n\nexport interface IUsage {\n code: string\n line: number\n matches: IUsageMatch[]\n meanDuration?: messages.IDuration\n pattern: string\n patternType: string\n uri: string\n}\n\nexport interface IGetUsageRequest {\n cwd: string\n eventDataCollector: EventDataCollector\n stepDefinitions: StepDefinition[]\n}\n\nfunction buildEmptyMapping(\n stepDefinitions: StepDefinition[]\n): Dictionary {\n const mapping: Dictionary = {}\n stepDefinitions.forEach((stepDefinition) => {\n mapping[stepDefinition.id] = {\n code: stepDefinition.unwrappedCode.toString(),\n line: stepDefinition.line,\n pattern: stepDefinition.expression.source,\n patternType: stepDefinition.expression.constructor.name,\n matches: [],\n uri: stepDefinition.uri,\n }\n })\n return mapping\n}\n\nfunction buildMapping({\n cwd,\n stepDefinitions,\n eventDataCollector,\n}: IGetUsageRequest): Dictionary {\n const mapping = buildEmptyMapping(stepDefinitions)\n _.each(eventDataCollector.getTestCaseAttempts(), (testCaseAttempt) => {\n const pickleStepMap = getPickleStepMap(testCaseAttempt.pickle)\n const gherkinStepMap = getGherkinStepMap(testCaseAttempt.gherkinDocument)\n testCaseAttempt.testCase.testSteps.forEach((testStep) => {\n if (\n testStep.pickleStepId !== '' &&\n testStep.stepDefinitionIds.length === 1\n ) {\n const stepDefinitionId = testStep.stepDefinitionIds[0]\n const pickleStep = pickleStepMap[testStep.pickleStepId]\n const gherkinStep = gherkinStepMap[pickleStep.astNodeIds[0]]\n const match: IUsageMatch = {\n line: gherkinStep.location.line,\n text: pickleStep.text,\n uri: path.relative(cwd, testCaseAttempt.pickle.uri),\n }\n const { duration, status } = testCaseAttempt.stepResults[testStep.id]\n if (\n ![\n messages.TestStepFinished.TestStepResult.Status.AMBIGUOUS,\n messages.TestStepFinished.TestStepResult.Status.SKIPPED,\n messages.TestStepFinished.TestStepResult.Status.UNDEFINED,\n ].includes(status) &&\n doesHaveValue(duration)\n ) {\n match.duration = duration\n }\n if (doesHaveValue(mapping[stepDefinitionId])) {\n mapping[stepDefinitionId].matches.push(match)\n }\n }\n })\n })\n return mapping\n}\n\nfunction invertDuration(duration: messages.IDuration): number {\n if (doesHaveValue(duration)) {\n return -1 * durationToMilliseconds(duration)\n }\n return 1\n}\n\nfunction buildResult(mapping: Dictionary): IUsage[] {\n return _.chain(mapping)\n .map(({ matches, ...rest }: IUsage) => {\n const sortedMatches = _.sortBy(matches, [\n (match: IUsageMatch) => invertDuration(match.duration),\n 'text',\n ])\n const result = { matches: sortedMatches, ...rest }\n const durations: messages.IDuration[] = _.chain(matches)\n .map((m: IUsageMatch) => m.duration)\n .compact()\n .value()\n if (durations.length > 0) {\n result.meanDuration = millisecondsToDuration(\n _.meanBy(durations, (d: messages.IDuration) =>\n durationToMilliseconds(d)\n )\n )\n }\n return result\n })\n .sortBy((usage: IUsage) => invertDuration(usage.meanDuration))\n .value()\n}\n\nexport function getUsage({\n cwd,\n stepDefinitions,\n eventDataCollector,\n}: IGetUsageRequest): IUsage[] {\n const mapping = buildMapping({ cwd, stepDefinitions, eventDataCollector })\n return buildResult(mapping)\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.d.ts new file mode 100644 index 0000000..42f81d9 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.d.ts @@ -0,0 +1,6 @@ +import Formatter, { IFormatterOptions } from '.'; +export default class HtmlFormatter extends Formatter { + private readonly _finished; + constructor(options: IFormatterOptions); + finished(): Promise; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.js new file mode 100644 index 0000000..7fe0ebf --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.js @@ -0,0 +1,33 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const _1 = __importDefault(require(".")); +const resolve_pkg_1 = __importDefault(require("resolve-pkg")); +const html_formatter_1 = __importDefault(require("@cucumber/html-formatter")); +const value_checker_1 = require("../value_checker"); +const stream_1 = require("stream"); +const util_1 = require("util"); +class HtmlFormatter extends _1.default { + constructor(options) { + super(options); + const cucumberHtmlStream = new html_formatter_1.default(resolve_pkg_1.default('@cucumber/html-formatter', { cwd: __dirname }) + + '/dist/cucumber-react.css', resolve_pkg_1.default('@cucumber/html-formatter', { cwd: __dirname }) + + '/dist/main.js'); + options.eventBroadcaster.on('envelope', (envelope) => { + cucumberHtmlStream.write(envelope); + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + cucumberHtmlStream.end(); + } + }); + cucumberHtmlStream.on('data', (chunk) => this.log(chunk)); + this._finished = util_1.promisify(stream_1.finished)(cucumberHtmlStream); + } + async finished() { + await this._finished; + await super.finished(); + } +} +exports.default = HtmlFormatter; +//# sourceMappingURL=html_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.js.map new file mode 100644 index 0000000..c1d7b2b --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/html_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"html_formatter.js","sourceRoot":"","sources":["../../src/formatter/html_formatter.ts"],"names":[],"mappings":";;;;;AAAA,yCAAgD;AAEhD,8DAAoC;AACpC,8EAAyD;AACzD,oDAAgD;AAChD,mCAAiC;AACjC,+BAAgC;AAEhC,MAAqB,aAAc,SAAQ,UAAS;IAGlD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,MAAM,kBAAkB,GAAG,IAAI,wBAAkB,CAC/C,qBAAU,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;YACxD,0BAA0B,EAC5B,qBAAU,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;YACxD,eAAe,CAClB,CAAA;QACD,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAA2B,EAAE,EAAE;YACtE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAClC,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,kBAAkB,CAAC,GAAG,EAAE,CAAA;aACzB;QACH,CAAC,CAAC,CAAA;QACF,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACzD,IAAI,CAAC,SAAS,GAAG,gBAAS,CAAC,iBAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,SAAS,CAAA;QACpB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;IACxB,CAAC;CACF;AAzBD,gCAyBC","sourcesContent":["import Formatter, { IFormatterOptions } from '.'\nimport { messages } from '@cucumber/messages'\nimport resolvePkg from 'resolve-pkg'\nimport CucumberHtmlStream from '@cucumber/html-formatter'\nimport { doesHaveValue } from '../value_checker'\nimport { finished } from 'stream'\nimport { promisify } from 'util'\n\nexport default class HtmlFormatter extends Formatter {\n private readonly _finished: Promise\n\n constructor(options: IFormatterOptions) {\n super(options)\n const cucumberHtmlStream = new CucumberHtmlStream(\n resolvePkg('@cucumber/html-formatter', { cwd: __dirname }) +\n '/dist/cucumber-react.css',\n resolvePkg('@cucumber/html-formatter', { cwd: __dirname }) +\n '/dist/main.js'\n )\n options.eventBroadcaster.on('envelope', (envelope: messages.Envelope) => {\n cucumberHtmlStream.write(envelope)\n if (doesHaveValue(envelope.testRunFinished)) {\n cucumberHtmlStream.end()\n }\n })\n cucumberHtmlStream.on('data', (chunk) => this.log(chunk))\n this._finished = promisify(finished)(cucumberHtmlStream)\n }\n\n async finished(): Promise {\n await this._finished\n await super.finished()\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/http_stream.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/http_stream.d.ts new file mode 100644 index 0000000..8d4df53 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/http_stream.d.ts @@ -0,0 +1,28 @@ +/// +import { Transform } from 'stream'; +import http from 'http'; +declare type HttpMethod = 'GET' | 'POST' | 'PUT'; +/** + * This Writable writes data to a HTTP/HTTPS URL. + * + * It has special handling for https://reports.cucumber.io/ + * which uses an API where the first request is a `GET`, + * and if the response is 202 with a Location header, issues + * a PUT request to that URL. + * + * 3xx redirects are not currently followed. + */ +export default class HttpStream extends Transform { + private readonly url; + private readonly method; + private readonly headers; + private tempFilePath; + private tempFile; + constructor(url: string, method: HttpMethod, headers: http.OutgoingHttpHeaders); + _write(chunk: any, encoding: BufferEncoding, callback: (err?: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + private pushResponseBody; + private emitErrorUnlessHttp2xx; + private sendHttpRequest; +} +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/http_stream.js b/node_modules/@cucumber/cucumber/lib/formatter/http_stream.js new file mode 100644 index 0000000..1b87f83 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/http_stream.js @@ -0,0 +1,112 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const stream_1 = require("stream"); +const tmp_1 = __importDefault(require("tmp")); +const fs_1 = __importDefault(require("fs")); +const http_1 = __importDefault(require("http")); +const https_1 = __importDefault(require("https")); +const value_checker_1 = require("../value_checker"); +/** + * This Writable writes data to a HTTP/HTTPS URL. + * + * It has special handling for https://reports.cucumber.io/ + * which uses an API where the first request is a `GET`, + * and if the response is 202 with a Location header, issues + * a PUT request to that URL. + * + * 3xx redirects are not currently followed. + */ +class HttpStream extends stream_1.Transform { + constructor(url, method, headers) { + super({ + readableObjectMode: true, + }); + this.url = url; + this.method = method; + this.headers = headers; + } + _write(chunk, encoding, callback) { + if (this.tempFile === undefined) { + tmp_1.default.file((err, name, fd) => { + if (value_checker_1.doesHaveValue(err)) + return callback(err); + this.tempFilePath = name; + this.tempFile = fs_1.default.createWriteStream(name, { fd }); + this.tempFile.write(chunk, encoding, callback); + }); + } + else { + this.tempFile.write(chunk, encoding, callback); + } + } + _final(callback) { + this.tempFile.end(() => { + this.sendHttpRequest(this.url, this.method, this.headers, (err1, res1) => { + if (value_checker_1.doesHaveValue(err1)) + return callback(err1); + this.pushResponseBody(res1, () => { + this.emitErrorUnlessHttp2xx(res1, this.url, this.method); + if (res1.statusCode === 202 && + res1.headers.location !== undefined) { + this.sendHttpRequest(res1.headers.location, 'PUT', {}, (err2, res2) => { + if (value_checker_1.doesHaveValue(err2)) + return callback(err2); + this.emitErrorUnlessHttp2xx(res2, this.url, this.method); + callback(); + }); + } + else { + callback(); + } + }); + }); + }); + } + pushResponseBody(res, done) { + let body = Buffer.alloc(0); + res.on('data', (chunk) => { + body = Buffer.concat([body, chunk]); + }); + res.on('end', () => { + this.push(body.toString('utf-8')); + done(); + }); + } + emitErrorUnlessHttp2xx(res, url, method) { + if (res.statusCode >= 300) + this.emit('error', new Error(`Unexpected http status ${res.statusCode} from ${method} ${url}`)); + } + sendHttpRequest(url, method, headers, callback) { + const httpx = value_checker_1.doesHaveValue(url.match(/^https:/)) ? https_1.default : http_1.default; + const additionalHttpHeaders = {}; + const upload = method === 'PUT' || method === 'POST'; + if (upload) { + additionalHttpHeaders['Content-Length'] = fs_1.default.statSync(this.tempFilePath).size; + } + const allHeaders = { ...headers, ...additionalHttpHeaders }; + const req = httpx.request(url, { + method, + headers: allHeaders, + }); + req.on('error', (err) => this.emit('error', err)); + req.on('response', (res) => { + res.on('error', (err) => this.emit('error', err)); + callback(null, res); + }); + if (upload) { + stream_1.pipeline(fs_1.default.createReadStream(this.tempFilePath), req, (err) => { + if (value_checker_1.doesHaveValue(err)) { + this.emit('error', err); + } + }); + } + else { + req.end(); + } + } +} +exports.default = HttpStream; +//# sourceMappingURL=http_stream.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/http_stream.js.map b/node_modules/@cucumber/cucumber/lib/formatter/http_stream.js.map new file mode 100644 index 0000000..9769d20 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/http_stream.js.map @@ -0,0 +1 @@ +{"version":3,"file":"http_stream.js","sourceRoot":"","sources":["../../src/formatter/http_stream.ts"],"names":[],"mappings":"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","sourcesContent":["import { pipeline, Transform, Writable } from 'stream'\nimport tmp from 'tmp'\nimport fs from 'fs'\nimport http from 'http'\nimport https from 'https'\nimport { doesHaveValue } from '../value_checker'\n\ntype HttpMethod = 'GET' | 'POST' | 'PUT'\n\n/**\n * This Writable writes data to a HTTP/HTTPS URL.\n *\n * It has special handling for https://reports.cucumber.io/\n * which uses an API where the first request is a `GET`,\n * and if the response is 202 with a Location header, issues\n * a PUT request to that URL.\n *\n * 3xx redirects are not currently followed.\n */\nexport default class HttpStream extends Transform {\n private tempFilePath: string\n private tempFile: Writable\n\n constructor(\n private readonly url: string,\n private readonly method: HttpMethod,\n private readonly headers: http.OutgoingHttpHeaders\n ) {\n super({\n readableObjectMode: true,\n })\n }\n\n _write(\n chunk: any,\n encoding: BufferEncoding,\n callback: (err?: Error | null) => void\n ): void {\n if (this.tempFile === undefined) {\n tmp.file((err, name, fd) => {\n if (doesHaveValue(err)) return callback(err)\n this.tempFilePath = name\n this.tempFile = fs.createWriteStream(name, { fd })\n this.tempFile.write(chunk, encoding, callback)\n })\n } else {\n this.tempFile.write(chunk, encoding, callback)\n }\n }\n\n _final(callback: (error?: Error | null) => void): void {\n this.tempFile.end(() => {\n this.sendHttpRequest(\n this.url,\n this.method,\n this.headers,\n (err1, res1) => {\n if (doesHaveValue(err1)) return callback(err1)\n this.pushResponseBody(res1, () => {\n this.emitErrorUnlessHttp2xx(res1, this.url, this.method)\n if (\n res1.statusCode === 202 &&\n res1.headers.location !== undefined\n ) {\n this.sendHttpRequest(\n res1.headers.location,\n 'PUT',\n {},\n (err2, res2) => {\n if (doesHaveValue(err2)) return callback(err2)\n this.emitErrorUnlessHttp2xx(res2, this.url, this.method)\n callback()\n }\n )\n } else {\n callback()\n }\n })\n }\n )\n })\n }\n\n private pushResponseBody(res: http.IncomingMessage, done: () => void): void {\n let body = Buffer.alloc(0)\n res.on('data', (chunk) => {\n body = Buffer.concat([body, chunk])\n })\n res.on('end', () => {\n this.push(body.toString('utf-8'))\n done()\n })\n }\n\n private emitErrorUnlessHttp2xx(\n res: http.IncomingMessage,\n url: string,\n method: string\n ): void {\n if (res.statusCode >= 300)\n this.emit(\n 'error',\n new Error(\n `Unexpected http status ${res.statusCode} from ${method} ${url}`\n )\n )\n }\n\n private sendHttpRequest(\n url: string,\n method: HttpMethod,\n headers: http.OutgoingHttpHeaders,\n callback: (err?: Error | null, res?: http.IncomingMessage) => void\n ): void {\n const httpx = doesHaveValue(url.match(/^https:/)) ? https : http\n const additionalHttpHeaders: http.OutgoingHttpHeaders = {}\n\n const upload = method === 'PUT' || method === 'POST'\n if (upload) {\n additionalHttpHeaders['Content-Length'] = fs.statSync(\n this.tempFilePath\n ).size\n }\n\n const allHeaders = { ...headers, ...additionalHttpHeaders }\n const req = httpx.request(url, {\n method,\n headers: allHeaders,\n })\n req.on('error', (err) => this.emit('error', err))\n req.on('response', (res) => {\n res.on('error', (err) => this.emit('error', err))\n callback(null, res)\n })\n\n if (upload) {\n pipeline(fs.createReadStream(this.tempFilePath), req, (err) => {\n if (doesHaveValue(err)) {\n this.emit('error', err)\n }\n })\n } else {\n req.end()\n }\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/index.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/index.d.ts new file mode 100644 index 0000000..2ed8212 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/index.d.ts @@ -0,0 +1,38 @@ +/// +import { IColorFns } from './get_color_fns'; +import { EventDataCollector } from './helpers'; +import StepDefinitionSnippetBuilder from './step_definition_snippet_builder'; +import { PassThrough, Writable as WritableStream } from 'stream'; +import { ISupportCodeLibrary } from '../support_code_library_builder/types'; +import { WriteStream as FsWriteStream } from 'fs'; +import { WriteStream as TtyWriteStream } from 'tty'; +import { EventEmitter } from 'events'; +import { IParsedArgvFormatOptions } from '../cli/argv_parser'; +import HttpStream from './http_stream'; +export declare type IFormatterStream = FsWriteStream | TtyWriteStream | PassThrough | HttpStream; +export declare type IFormatterLogFn = (buffer: string | Uint8Array) => void; +export declare type IFormatterCleanupFn = () => Promise; +export interface IFormatterOptions { + colorFns: IColorFns; + cwd: string; + eventBroadcaster: EventEmitter; + eventDataCollector: EventDataCollector; + log: IFormatterLogFn; + parsedArgvOptions: IParsedArgvFormatOptions; + snippetBuilder: StepDefinitionSnippetBuilder; + stream: WritableStream; + cleanup: IFormatterCleanupFn; + supportCodeLibrary: ISupportCodeLibrary; +} +export default class Formatter { + protected colorFns: IColorFns; + protected cwd: string; + protected eventDataCollector: EventDataCollector; + protected log: IFormatterLogFn; + protected snippetBuilder: StepDefinitionSnippetBuilder; + protected stream: WritableStream; + protected supportCodeLibrary: ISupportCodeLibrary; + private readonly cleanup; + constructor(options: IFormatterOptions); + finished(): Promise; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/index.js b/node_modules/@cucumber/cucumber/lib/formatter/index.js new file mode 100644 index 0000000..f2cb9f3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/index.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Formatter { + constructor(options) { + this.colorFns = options.colorFns; + this.cwd = options.cwd; + this.eventDataCollector = options.eventDataCollector; + this.log = options.log; + this.snippetBuilder = options.snippetBuilder; + this.stream = options.stream; + this.supportCodeLibrary = options.supportCodeLibrary; + this.cleanup = options.cleanup; + } + async finished() { + await this.cleanup(); + } +} +exports.default = Formatter; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/index.js.map b/node_modules/@cucumber/cucumber/lib/formatter/index.js.map new file mode 100644 index 0000000..233c1a2 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formatter/index.ts"],"names":[],"mappings":";;AAgCA,MAAqB,SAAS;IAU5B,YAAY,OAA0B;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACtB,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACtB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;CACF;AAxBD,4BAwBC","sourcesContent":["import { IColorFns } from './get_color_fns'\nimport { EventDataCollector } from './helpers'\nimport StepDefinitionSnippetBuilder from './step_definition_snippet_builder'\nimport { PassThrough, Writable as WritableStream } from 'stream'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport { WriteStream as FsWriteStream } from 'fs'\nimport { WriteStream as TtyWriteStream } from 'tty'\nimport { EventEmitter } from 'events'\nimport { IParsedArgvFormatOptions } from '../cli/argv_parser'\nimport HttpStream from './http_stream'\n\nexport type IFormatterStream =\n | FsWriteStream\n | TtyWriteStream\n | PassThrough\n | HttpStream\nexport type IFormatterLogFn = (buffer: string | Uint8Array) => void\nexport type IFormatterCleanupFn = () => Promise\n\nexport interface IFormatterOptions {\n colorFns: IColorFns\n cwd: string\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n log: IFormatterLogFn\n parsedArgvOptions: IParsedArgvFormatOptions\n snippetBuilder: StepDefinitionSnippetBuilder\n stream: WritableStream\n cleanup: IFormatterCleanupFn\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport default class Formatter {\n protected colorFns: IColorFns\n protected cwd: string\n protected eventDataCollector: EventDataCollector\n protected log: IFormatterLogFn\n protected snippetBuilder: StepDefinitionSnippetBuilder\n protected stream: WritableStream\n protected supportCodeLibrary: ISupportCodeLibrary\n private readonly cleanup: IFormatterCleanupFn\n\n constructor(options: IFormatterOptions) {\n this.colorFns = options.colorFns\n this.cwd = options.cwd\n this.eventDataCollector = options.eventDataCollector\n this.log = options.log\n this.snippetBuilder = options.snippetBuilder\n this.stream = options.stream\n this.supportCodeLibrary = options.supportCodeLibrary\n this.cleanup = options.cleanup\n }\n\n async finished(): Promise {\n await this.cleanup()\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.d.ts new file mode 100644 index 0000000..215dfa3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.d.ts @@ -0,0 +1,83 @@ +import { Dictionary } from 'lodash'; +import Formatter, { IFormatterOptions } from './'; +import { messages } from '@cucumber/messages'; +import IFeature = messages.GherkinDocument.IFeature; +import IPickle = messages.IPickle; +import IScenario = messages.GherkinDocument.Feature.IScenario; +import IRule = messages.GherkinDocument.Feature.FeatureChild.IRule; +export interface IJsonFeature { + description: string; + elements: IJsonScenario[]; + id: string; + keyword: string; + line: number; + name: string; + tags: IJsonTag[]; + uri: string; +} +export interface IJsonScenario { + description: string; + id: string; + keyword: string; + line: number; + name: string; + steps: IJsonStep[]; + tags: IJsonTag[]; + type: string; +} +export interface IJsonStep { + arguments?: any; + embeddings?: any; + hidden?: boolean; + keyword?: string; + line?: number; + match?: any; + name?: string; + result?: any; +} +export interface IJsonTag { + name: string; + line: number; +} +interface IBuildJsonFeatureOptions { + feature: messages.GherkinDocument.IFeature; + elements: IJsonScenario[]; + uri: string; +} +interface IBuildJsonScenarioOptions { + feature: messages.GherkinDocument.IFeature; + gherkinScenarioMap: Dictionary; + gherkinExampleRuleMap: Dictionary; + gherkinScenarioLocationMap: Dictionary; + pickle: messages.IPickle; + steps: IJsonStep[]; +} +interface IBuildJsonStepOptions { + isBeforeHook: boolean; + gherkinStepMap: Dictionary; + pickleStepMap: Dictionary; + testStep: messages.TestCase.ITestStep; + testStepAttachments: messages.IAttachment[]; + testStepResult: messages.TestStepFinished.ITestStepResult; +} +export default class JsonFormatter extends Formatter { + constructor(options: IFormatterOptions); + convertNameToId(obj: IFeature | IPickle): string; + formatDataTable(dataTable: messages.PickleStepArgument.IPickleTable): any; + formatDocString(docString: messages.PickleStepArgument.IPickleDocString, gherkinStep: messages.GherkinDocument.Feature.IStep): any; + formatStepArgument(stepArgument: messages.IPickleStepArgument, gherkinStep: messages.GherkinDocument.Feature.IStep): any; + onTestRunFinished(): void; + getFeatureData({ feature, elements, uri, }: IBuildJsonFeatureOptions): IJsonFeature; + getScenarioData({ feature, gherkinScenarioLocationMap, gherkinExampleRuleMap, gherkinScenarioMap, pickle, steps, }: IBuildJsonScenarioOptions): IJsonScenario; + private formatScenarioId; + getStepData({ isBeforeHook, gherkinStepMap, pickleStepMap, testStep, testStepAttachments, testStepResult, }: IBuildJsonStepOptions): IJsonStep; + getFeatureTags(feature: IFeature): IJsonTag[]; + getScenarioTags({ feature, pickle, gherkinScenarioMap, }: { + feature: IFeature; + pickle: IPickle; + gherkinScenarioMap: { + [id: string]: IScenario; + }; + }): IJsonTag[]; +} +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js new file mode 100644 index 0000000..3f4a0a7 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js @@ -0,0 +1,194 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const _1 = __importDefault(require("./")); +const status_1 = __importDefault(require("../status")); +const helpers_1 = require("./helpers"); +const time_1 = require("../time"); +const path_1 = __importDefault(require("path")); +const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser"); +const value_checker_1 = require("../value_checker"); +const step_arguments_1 = require("../step_arguments"); +const { getGherkinStepMap, getGherkinScenarioMap } = helpers_1.GherkinDocumentParser; +const { getScenarioDescription, getPickleStepMap, getStepKeyword, } = helpers_1.PickleParser; +class JsonFormatter extends _1.default { + constructor(options) { + super(options); + console.warn("The built-in JSON formatter is deprecated and will be removed in the next major release. Where you need a structured data representation of your test run, it's best to use the `message` formatter. For legacy tools that depend on the deprecated JSON format, a standalone formatter is available (see https://github.com/cucumber/cucumber/tree/master/json-formatter)."); + options.eventBroadcaster.on('envelope', (envelope) => { + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + this.onTestRunFinished(); + } + }); + } + convertNameToId(obj) { + return obj.name.replace(/ /g, '-').toLowerCase(); + } + formatDataTable(dataTable) { + return { + rows: dataTable.rows.map((row) => ({ cells: lodash_1.default.map(row.cells, 'value') })), + }; + } + formatDocString(docString, gherkinStep) { + return { + content: docString.content, + line: gherkinStep.docString.location.line, + }; + } + formatStepArgument(stepArgument, gherkinStep) { + if (value_checker_1.doesNotHaveValue(stepArgument)) { + return []; + } + return [ + step_arguments_1.parseStepArgument(stepArgument, { + dataTable: (dataTable) => this.formatDataTable(dataTable), + docString: (docString) => this.formatDocString(docString, gherkinStep), + }), + ]; + } + onTestRunFinished() { + const groupedTestCaseAttempts = {}; + lodash_1.default.each(this.eventDataCollector.getTestCaseAttempts(), (testCaseAttempt) => { + if (!testCaseAttempt.worstTestStepResult.willBeRetried) { + const uri = path_1.default.relative(this.cwd, testCaseAttempt.pickle.uri); + if (value_checker_1.doesNotHaveValue(groupedTestCaseAttempts[uri])) { + groupedTestCaseAttempts[uri] = []; + } + groupedTestCaseAttempts[uri].push(testCaseAttempt); + } + }); + const features = lodash_1.default.map(groupedTestCaseAttempts, (group, uri) => { + const { gherkinDocument } = group[0]; + const gherkinStepMap = getGherkinStepMap(gherkinDocument); + const gherkinScenarioMap = getGherkinScenarioMap(gherkinDocument); + const gherkinExampleRuleMap = gherkin_document_parser_1.getGherkinExampleRuleMap(gherkinDocument); + const gherkinScenarioLocationMap = gherkin_document_parser_1.getGherkinScenarioLocationMap(gherkinDocument); + const elements = group.map((testCaseAttempt) => { + const { pickle } = testCaseAttempt; + const pickleStepMap = getPickleStepMap(pickle); + let isBeforeHook = true; + const steps = testCaseAttempt.testCase.testSteps.map((testStep) => { + isBeforeHook = isBeforeHook && testStep.pickleStepId === ''; + return this.getStepData({ + isBeforeHook, + gherkinStepMap, + pickleStepMap, + testStep, + testStepAttachments: testCaseAttempt.stepAttachments[testStep.id], + testStepResult: testCaseAttempt.stepResults[testStep.id], + }); + }); + return this.getScenarioData({ + feature: gherkinDocument.feature, + gherkinScenarioLocationMap, + gherkinExampleRuleMap, + gherkinScenarioMap, + pickle, + steps, + }); + }); + return this.getFeatureData({ + feature: gherkinDocument.feature, + elements, + uri, + }); + }); + this.log(JSON.stringify(features, null, 2)); + } + getFeatureData({ feature, elements, uri, }) { + return { + description: feature.description, + elements, + id: this.convertNameToId(feature), + line: feature.location.line, + keyword: feature.keyword, + name: feature.name, + tags: this.getFeatureTags(feature), + uri, + }; + } + getScenarioData({ feature, gherkinScenarioLocationMap, gherkinExampleRuleMap, gherkinScenarioMap, pickle, steps, }) { + const description = getScenarioDescription({ + pickle, + gherkinScenarioMap, + }); + return { + description, + id: this.formatScenarioId({ feature, pickle, gherkinExampleRuleMap }), + keyword: gherkinScenarioMap[pickle.astNodeIds[0]].keyword, + line: gherkinScenarioLocationMap[pickle.astNodeIds[0]].line, + name: pickle.name, + steps, + tags: this.getScenarioTags({ feature, pickle, gherkinScenarioMap }), + type: 'scenario', + }; + } + formatScenarioId({ feature, pickle, gherkinExampleRuleMap, }) { + let parts; + const rule = gherkinExampleRuleMap[pickle.astNodeIds[0]]; + if (value_checker_1.doesHaveValue(rule)) { + parts = [feature, rule, pickle]; + } + else { + parts = [feature, pickle]; + } + return parts.map((part) => this.convertNameToId(part)).join(';'); + } + getStepData({ isBeforeHook, gherkinStepMap, pickleStepMap, testStep, testStepAttachments, testStepResult, }) { + const data = {}; + if (testStep.pickleStepId !== '') { + const pickleStep = pickleStepMap[testStep.pickleStepId]; + data.arguments = this.formatStepArgument(pickleStep.argument, gherkinStepMap[pickleStep.astNodeIds[0]]); + data.keyword = getStepKeyword({ pickleStep, gherkinStepMap }); + data.line = gherkinStepMap[pickleStep.astNodeIds[0]].location.line; + data.name = pickleStep.text; + } + else { + data.keyword = isBeforeHook ? 'Before' : 'After'; + data.hidden = true; + } + if (testStep.stepDefinitionIds.length === 1) { + const stepDefinition = this.supportCodeLibrary.stepDefinitions.find((s) => s.id === testStep.stepDefinitionIds[0]); + data.match = { location: helpers_1.formatLocation(stepDefinition) }; + } + const { message, status } = testStepResult; + data.result = { status: status_1.default[status].toLowerCase() }; + if (value_checker_1.doesHaveValue(testStepResult.duration)) { + data.result.duration = time_1.durationToNanoseconds(testStepResult.duration); + } + if (status === status_1.default.FAILED && value_checker_1.doesHaveValue(message)) { + data.result.error_message = message; + } + if (lodash_1.default.size(testStepAttachments) > 0) { + data.embeddings = testStepAttachments.map((attachment) => ({ + data: attachment.body, + mime_type: attachment.mediaType, + })); + } + return data; + } + getFeatureTags(feature) { + return lodash_1.default.map(feature.tags, (tagData) => ({ + name: tagData.name, + line: tagData.location.line, + })); + } + getScenarioTags({ feature, pickle, gherkinScenarioMap, }) { + return lodash_1.default.map(pickle.tags, (tagData) => { + const featureSource = feature.tags.find((t) => t.id === tagData.astNodeId); + const scenarioSource = gherkinScenarioMap[pickle.astNodeIds[0]].tags.find((t) => t.id === tagData.astNodeId); + const line = value_checker_1.doesHaveValue(featureSource) + ? featureSource.location.line + : scenarioSource.location.line; + return { + name: tagData.name, + line, + }; + }); + } +} +exports.default = JsonFormatter; +//# sourceMappingURL=json_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js.map new file mode 100644 index 0000000..cc7c505 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"json_formatter.js","sourceRoot":"","sources":["../../src/formatter/json_formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport Formatter, { IFormatterOptions } from './'\nimport Status from '../status'\nimport { formatLocation, GherkinDocumentParser, PickleParser } from './helpers'\nimport { durationToNanoseconds } from '../time'\nimport path from 'path'\nimport { messages } from '@cucumber/messages'\nimport {\n getGherkinExampleRuleMap,\n getGherkinScenarioLocationMap,\n} from './helpers/gherkin_document_parser'\nimport { ITestCaseAttempt } from './helpers/event_data_collector'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\nimport { parseStepArgument } from '../step_arguments'\nimport ITag = messages.GherkinDocument.Feature.ITag\nimport IFeature = messages.GherkinDocument.IFeature\nimport IPickle = messages.IPickle\nimport IScenario = messages.GherkinDocument.Feature.IScenario\nimport IEnvelope = messages.IEnvelope\nimport IRule = messages.GherkinDocument.Feature.FeatureChild.IRule\n\nconst { getGherkinStepMap, getGherkinScenarioMap } = GherkinDocumentParser\n\nconst {\n getScenarioDescription,\n getPickleStepMap,\n getStepKeyword,\n} = PickleParser\n\nexport interface IJsonFeature {\n description: string\n elements: IJsonScenario[]\n id: string\n keyword: string\n line: number\n name: string\n tags: IJsonTag[]\n uri: string\n}\n\nexport interface IJsonScenario {\n description: string\n id: string\n keyword: string\n line: number\n name: string\n steps: IJsonStep[]\n tags: IJsonTag[]\n type: string\n}\n\nexport interface IJsonStep {\n arguments?: any // TODO\n embeddings?: any // TODO\n hidden?: boolean\n keyword?: string // TODO, not optional\n line?: number\n match?: any // TODO\n name?: string\n result?: any // TODO\n}\n\nexport interface IJsonTag {\n name: string\n line: number\n}\n\ninterface IBuildJsonFeatureOptions {\n feature: messages.GherkinDocument.IFeature\n elements: IJsonScenario[]\n uri: string\n}\n\ninterface IBuildJsonScenarioOptions {\n feature: messages.GherkinDocument.IFeature\n gherkinScenarioMap: Dictionary\n gherkinExampleRuleMap: Dictionary\n gherkinScenarioLocationMap: Dictionary\n pickle: messages.IPickle\n steps: IJsonStep[]\n}\n\ninterface IBuildJsonStepOptions {\n isBeforeHook: boolean\n gherkinStepMap: Dictionary\n pickleStepMap: Dictionary\n testStep: messages.TestCase.ITestStep\n testStepAttachments: messages.IAttachment[]\n testStepResult: messages.TestStepFinished.ITestStepResult\n}\n\ninterface UriToTestCaseAttemptsMap {\n [uri: string]: ITestCaseAttempt[]\n}\n\nexport default class JsonFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n console.warn(\n \"The built-in JSON formatter is deprecated and will be removed in the next major release. Where you need a structured data representation of your test run, it's best to use the `message` formatter. For legacy tools that depend on the deprecated JSON format, a standalone formatter is available (see https://github.com/cucumber/cucumber/tree/master/json-formatter).\"\n )\n options.eventBroadcaster.on('envelope', (envelope: IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.onTestRunFinished()\n }\n })\n }\n\n convertNameToId(obj: IFeature | IPickle): string {\n return obj.name.replace(/ /g, '-').toLowerCase()\n }\n\n formatDataTable(dataTable: messages.PickleStepArgument.IPickleTable): any {\n return {\n rows: dataTable.rows.map((row) => ({ cells: _.map(row.cells, 'value') })),\n }\n }\n\n formatDocString(\n docString: messages.PickleStepArgument.IPickleDocString,\n gherkinStep: messages.GherkinDocument.Feature.IStep\n ): any {\n return {\n content: docString.content,\n line: gherkinStep.docString.location.line,\n }\n }\n\n formatStepArgument(\n stepArgument: messages.IPickleStepArgument,\n gherkinStep: messages.GherkinDocument.Feature.IStep\n ): any {\n if (doesNotHaveValue(stepArgument)) {\n return []\n }\n return [\n parseStepArgument(stepArgument, {\n dataTable: (dataTable) => this.formatDataTable(dataTable),\n docString: (docString) => this.formatDocString(docString, gherkinStep),\n }),\n ]\n }\n\n onTestRunFinished(): void {\n const groupedTestCaseAttempts: UriToTestCaseAttemptsMap = {}\n _.each(\n this.eventDataCollector.getTestCaseAttempts(),\n (testCaseAttempt: ITestCaseAttempt) => {\n if (!testCaseAttempt.worstTestStepResult.willBeRetried) {\n const uri = path.relative(this.cwd, testCaseAttempt.pickle.uri)\n if (doesNotHaveValue(groupedTestCaseAttempts[uri])) {\n groupedTestCaseAttempts[uri] = []\n }\n groupedTestCaseAttempts[uri].push(testCaseAttempt)\n }\n }\n )\n const features = _.map(groupedTestCaseAttempts, (group, uri) => {\n const { gherkinDocument } = group[0]\n const gherkinStepMap = getGherkinStepMap(gherkinDocument)\n const gherkinScenarioMap = getGherkinScenarioMap(gherkinDocument)\n const gherkinExampleRuleMap = getGherkinExampleRuleMap(gherkinDocument)\n const gherkinScenarioLocationMap = getGherkinScenarioLocationMap(\n gherkinDocument\n )\n const elements = group.map((testCaseAttempt: ITestCaseAttempt) => {\n const { pickle } = testCaseAttempt\n const pickleStepMap = getPickleStepMap(pickle)\n let isBeforeHook = true\n const steps = testCaseAttempt.testCase.testSteps.map((testStep) => {\n isBeforeHook = isBeforeHook && testStep.pickleStepId === ''\n return this.getStepData({\n isBeforeHook,\n gherkinStepMap,\n pickleStepMap,\n testStep,\n testStepAttachments: testCaseAttempt.stepAttachments[testStep.id],\n testStepResult: testCaseAttempt.stepResults[testStep.id],\n })\n })\n return this.getScenarioData({\n feature: gherkinDocument.feature,\n gherkinScenarioLocationMap,\n gherkinExampleRuleMap,\n gherkinScenarioMap,\n pickle,\n steps,\n })\n })\n return this.getFeatureData({\n feature: gherkinDocument.feature,\n elements,\n uri,\n })\n })\n this.log(JSON.stringify(features, null, 2))\n }\n\n getFeatureData({\n feature,\n elements,\n uri,\n }: IBuildJsonFeatureOptions): IJsonFeature {\n return {\n description: feature.description,\n elements,\n id: this.convertNameToId(feature),\n line: feature.location.line,\n keyword: feature.keyword,\n name: feature.name,\n tags: this.getFeatureTags(feature),\n uri,\n }\n }\n\n getScenarioData({\n feature,\n gherkinScenarioLocationMap,\n gherkinExampleRuleMap,\n gherkinScenarioMap,\n pickle,\n steps,\n }: IBuildJsonScenarioOptions): IJsonScenario {\n const description = getScenarioDescription({\n pickle,\n gherkinScenarioMap,\n })\n return {\n description,\n id: this.formatScenarioId({ feature, pickle, gherkinExampleRuleMap }),\n keyword: gherkinScenarioMap[pickle.astNodeIds[0]].keyword,\n line: gherkinScenarioLocationMap[pickle.astNodeIds[0]].line,\n name: pickle.name,\n steps,\n tags: this.getScenarioTags({ feature, pickle, gherkinScenarioMap }),\n type: 'scenario',\n }\n }\n\n private formatScenarioId({\n feature,\n pickle,\n gherkinExampleRuleMap,\n }: {\n feature: IFeature\n pickle: IPickle\n gherkinExampleRuleMap: Dictionary\n }): string {\n let parts: any[]\n const rule = gherkinExampleRuleMap[pickle.astNodeIds[0]]\n if (doesHaveValue(rule)) {\n parts = [feature, rule, pickle]\n } else {\n parts = [feature, pickle]\n }\n return parts.map((part) => this.convertNameToId(part)).join(';')\n }\n\n getStepData({\n isBeforeHook,\n gherkinStepMap,\n pickleStepMap,\n testStep,\n testStepAttachments,\n testStepResult,\n }: IBuildJsonStepOptions): IJsonStep {\n const data: IJsonStep = {}\n if (testStep.pickleStepId !== '') {\n const pickleStep = pickleStepMap[testStep.pickleStepId]\n data.arguments = this.formatStepArgument(\n pickleStep.argument,\n gherkinStepMap[pickleStep.astNodeIds[0]]\n )\n data.keyword = getStepKeyword({ pickleStep, gherkinStepMap })\n data.line = gherkinStepMap[pickleStep.astNodeIds[0]].location.line\n data.name = pickleStep.text\n } else {\n data.keyword = isBeforeHook ? 'Before' : 'After'\n data.hidden = true\n }\n if (testStep.stepDefinitionIds.length === 1) {\n const stepDefinition = this.supportCodeLibrary.stepDefinitions.find(\n (s) => s.id === testStep.stepDefinitionIds[0]\n )\n data.match = { location: formatLocation(stepDefinition) }\n }\n const { message, status } = testStepResult\n data.result = { status: Status[status].toLowerCase() }\n if (doesHaveValue(testStepResult.duration)) {\n data.result.duration = durationToNanoseconds(testStepResult.duration)\n }\n if (status === Status.FAILED && doesHaveValue(message)) {\n data.result.error_message = message\n }\n if (_.size(testStepAttachments) > 0) {\n data.embeddings = testStepAttachments.map((attachment) => ({\n data: attachment.body,\n mime_type: attachment.mediaType,\n }))\n }\n return data\n }\n\n getFeatureTags(feature: IFeature): IJsonTag[] {\n return _.map(feature.tags, (tagData) => ({\n name: tagData.name,\n line: tagData.location.line,\n }))\n }\n\n getScenarioTags({\n feature,\n pickle,\n gherkinScenarioMap,\n }: {\n feature: IFeature\n pickle: IPickle\n gherkinScenarioMap: { [id: string]: IScenario }\n }): IJsonTag[] {\n return _.map(pickle.tags, (tagData) => {\n const featureSource = feature.tags.find(\n (t: ITag) => t.id === tagData.astNodeId\n )\n const scenarioSource = gherkinScenarioMap[pickle.astNodeIds[0]].tags.find(\n (t: ITag) => t.id === tagData.astNodeId\n )\n const line = doesHaveValue(featureSource)\n ? featureSource.location.line\n : scenarioSource.location.line\n return {\n name: tagData.name,\n line,\n }\n })\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.d.ts new file mode 100644 index 0000000..0e2e34e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.d.ts @@ -0,0 +1,4 @@ +import Formatter, { IFormatterOptions } from '.'; +export default class MessageFormatter extends Formatter { + constructor(options: IFormatterOptions); +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.js new file mode 100644 index 0000000..190c789 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.js @@ -0,0 +1,14 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const _1 = __importDefault(require(".")); +class MessageFormatter extends _1.default { + constructor(options) { + super(options); + options.eventBroadcaster.on('envelope', (envelope) => this.log(JSON.stringify(envelope.toJSON()) + '\n')); + } +} +exports.default = MessageFormatter; +//# sourceMappingURL=message_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.js.map new file mode 100644 index 0000000..6348d63 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/message_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"message_formatter.js","sourceRoot":"","sources":["../../src/formatter/message_formatter.ts"],"names":[],"mappings":";;;;;AAAA,yCAAgD;AAGhD,MAAqB,gBAAiB,SAAQ,UAAS;IACrD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAA2B,EAAE,EAAE,CACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CACnD,CAAA;IACH,CAAC;CACF;AAPD,mCAOC","sourcesContent":["import Formatter, { IFormatterOptions } from '.'\nimport { messages } from '@cucumber/messages'\n\nexport default class MessageFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: messages.Envelope) =>\n this.log(JSON.stringify(envelope.toJSON()) + '\\n')\n )\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.d.ts new file mode 100644 index 0000000..acc2493 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.d.ts @@ -0,0 +1,17 @@ +import Formatter, { IFormatterOptions } from './'; +import ProgressBar from 'progress'; +import { messages } from '@cucumber/messages'; +export default class ProgressBarFormatter extends Formatter { + private numberOfSteps; + private testRunStarted; + private issueCount; + progressBar: ProgressBar; + constructor(options: IFormatterOptions); + incrementStepCount(pickleId: string): void; + initializeProgressBar(): void; + logProgress({ testStepId, testCaseStartedId, }: messages.ITestStepFinished): void; + logUndefinedParametertype(parameterType: messages.IUndefinedParameterType): void; + logErrorIfNeeded(testCaseFinished: messages.ITestCaseFinished): void; + logSummary(testRunFinished: messages.ITestRunFinished): void; + parseEnvelope(envelope: messages.IEnvelope): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.js new file mode 100644 index 0000000..0cefdd6 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.js @@ -0,0 +1,98 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +const _1 = __importDefault(require("./")); +const progress_1 = __importDefault(require("progress")); +const value_checker_1 = require("../value_checker"); +const issue_helpers_1 = require("./helpers/issue_helpers"); +const time_1 = require("../time"); +// Inspired by https://github.com/thekompanee/fuubar and https://github.com/martinciu/fuubar-cucumber +class ProgressBarFormatter extends _1.default { + constructor(options) { + super(options); + options.eventBroadcaster.on('envelope', this.parseEnvelope.bind(this)); + this.numberOfSteps = 0; + this.issueCount = 0; + } + incrementStepCount(pickleId) { + const pickle = this.eventDataCollector.getPickle(pickleId); + this.numberOfSteps += pickle.steps.length; + } + initializeProgressBar() { + if (value_checker_1.doesHaveValue(this.progressBar)) { + return; + } + this.progressBar = new progress_1.default(':current/:total steps [:bar] ', { + clear: true, + incomplete: ' ', + stream: this.stream, + total: this.numberOfSteps, + width: value_checker_1.valueOrDefault(this.stream.columns, 80), + }); + } + logProgress({ testStepId, testCaseStartedId, }) { + const { testCase } = this.eventDataCollector.getTestCaseAttempt(testCaseStartedId); + const testStep = testCase.testSteps.find((s) => s.id === testStepId); + if (testStep.pickleStepId !== '') { + this.progressBar.tick(); + } + } + logUndefinedParametertype(parameterType) { + this.log(`Undefined parameter type: ${issue_helpers_1.formatUndefinedParameterType(parameterType)}\n`); + } + logErrorIfNeeded(testCaseFinished) { + const { worstTestStepResult } = this.eventDataCollector.getTestCaseAttempt(testCaseFinished.testCaseStartedId); + if (helpers_1.isIssue(worstTestStepResult)) { + this.issueCount += 1; + const testCaseAttempt = this.eventDataCollector.getTestCaseAttempt(testCaseFinished.testCaseStartedId); + this.progressBar.interrupt(helpers_1.formatIssue({ + colorFns: this.colorFns, + cwd: this.cwd, + number: this.issueCount, + snippetBuilder: this.snippetBuilder, + supportCodeLibrary: this.supportCodeLibrary, + testCaseAttempt, + })); + if (worstTestStepResult.willBeRetried) { + const stepsToRetry = testCaseAttempt.pickle.steps.length; + this.progressBar.tick(-stepsToRetry); + } + } + } + logSummary(testRunFinished) { + const testRunDuration = time_1.durationBetweenTimestamps(this.testRunStarted.timestamp, testRunFinished.timestamp); + this.log(helpers_1.formatSummary({ + colorFns: this.colorFns, + testCaseAttempts: this.eventDataCollector.getTestCaseAttempts(), + testRunDuration, + })); + } + parseEnvelope(envelope) { + if (value_checker_1.doesHaveValue(envelope.undefinedParameterType)) { + this.logUndefinedParametertype(envelope.undefinedParameterType); + } + else if (value_checker_1.doesHaveValue(envelope.pickle)) { + this.incrementStepCount(envelope.pickle.id); + } + else if (value_checker_1.doesHaveValue(envelope.testStepStarted)) { + this.initializeProgressBar(); + } + else if (value_checker_1.doesHaveValue(envelope.testStepFinished)) { + this.logProgress(envelope.testStepFinished); + } + else if (value_checker_1.doesHaveValue(envelope.testCaseFinished)) { + this.logErrorIfNeeded(envelope.testCaseFinished); + } + else if (value_checker_1.doesHaveValue(envelope.testRunStarted)) { + this.testRunStarted = envelope.testRunStarted; + } + else if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + this.logSummary(envelope.testRunFinished); + } + } +} +exports.default = ProgressBarFormatter; +//# sourceMappingURL=progress_bar_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.js.map new file mode 100644 index 0000000..dc82c27 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/progress_bar_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"progress_bar_formatter.js","sourceRoot":"","sources":["../../src/formatter/progress_bar_formatter.ts"],"names":[],"mappings":";;;;;AAAA,uCAA+D;AAC/D,0CAAiD;AACjD,wDAAkC;AAGlC,oDAAgE;AAChE,2DAAsE;AACtE,kCAAmD;AAEnD,qGAAqG;AACrG,MAAqB,oBAAqB,SAAQ,UAAS;IAMzD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,kBAAkB,CAAC,QAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC1D,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;IAC3C,CAAC;IAED,qBAAqB;QACnB,IAAI,6BAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACnC,OAAM;SACP;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAW,CAAC,+BAA+B,EAAE;YAClE,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,KAAK,EAAE,8BAAc,CAAE,IAAI,CAAC,MAAyB,CAAC,OAAO,EAAE,EAAE,CAAC;SACnE,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,EACV,UAAU,EACV,iBAAiB,GACU;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAC7D,iBAAiB,CAClB,CAAA;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAA;QACpE,IAAI,QAAQ,CAAC,YAAY,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;SACxB;IACH,CAAC;IAED,yBAAyB,CACvB,aAA+C;QAE/C,IAAI,CAAC,GAAG,CACN,6BAA6B,4CAA4B,CACvD,aAAa,CACd,IAAI,CACN,CAAA;IACH,CAAC;IAED,gBAAgB,CAAC,gBAA4C;QAC3D,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CACxE,gBAAgB,CAAC,iBAAiB,CACnC,CAAA;QACD,IAAI,iBAAO,CAAC,mBAAmB,CAAC,EAAE;YAChC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAA;YACpB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,gBAAgB,CAAC,iBAAiB,CACnC,CAAA;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,CACxB,qBAAW,CAAC;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,eAAe;aAChB,CAAC,CACH,CAAA;YACD,IAAI,mBAAmB,CAAC,aAAa,EAAE;gBACrC,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;gBACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAA;aACrC;SACF;IACH,CAAC;IAED,UAAU,CAAC,eAA0C;QACnD,MAAM,eAAe,GAAG,gCAAyB,CAC/C,IAAI,CAAC,cAAc,CAAC,SAAS,EAC7B,eAAe,CAAC,SAAS,CAC1B,CAAA;QACD,IAAI,CAAC,GAAG,CACN,uBAAa,CAAC;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE;YAC/D,eAAe;SAChB,CAAC,CACH,CAAA;IACH,CAAC;IAED,aAAa,CAAC,QAA4B;QACxC,IAAI,6BAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YAClD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;SAChE;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;SAC5C;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YAClD,IAAI,CAAC,qBAAqB,EAAE,CAAA;SAC7B;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;SAC5C;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACnD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;SACjD;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACjD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;SAC9C;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;SAC1C;IACH,CAAC;CACF;AA/GD,uCA+GC","sourcesContent":["import { formatIssue, formatSummary, isIssue } from './helpers'\nimport Formatter, { IFormatterOptions } from './'\nimport ProgressBar from 'progress'\nimport { WriteStream as TtyWriteStream } from 'tty'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue, valueOrDefault } from '../value_checker'\nimport { formatUndefinedParameterType } from './helpers/issue_helpers'\nimport { durationBetweenTimestamps } from '../time'\n\n// Inspired by https://github.com/thekompanee/fuubar and https://github.com/martinciu/fuubar-cucumber\nexport default class ProgressBarFormatter extends Formatter {\n private numberOfSteps: number\n private testRunStarted: messages.ITestRunStarted\n private issueCount: number\n public progressBar: ProgressBar\n\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', this.parseEnvelope.bind(this))\n this.numberOfSteps = 0\n this.issueCount = 0\n }\n\n incrementStepCount(pickleId: string): void {\n const pickle = this.eventDataCollector.getPickle(pickleId)\n this.numberOfSteps += pickle.steps.length\n }\n\n initializeProgressBar(): void {\n if (doesHaveValue(this.progressBar)) {\n return\n }\n this.progressBar = new ProgressBar(':current/:total steps [:bar] ', {\n clear: true,\n incomplete: ' ',\n stream: this.stream,\n total: this.numberOfSteps,\n width: valueOrDefault((this.stream as TtyWriteStream).columns, 80),\n })\n }\n\n logProgress({\n testStepId,\n testCaseStartedId,\n }: messages.ITestStepFinished): void {\n const { testCase } = this.eventDataCollector.getTestCaseAttempt(\n testCaseStartedId\n )\n const testStep = testCase.testSteps.find((s) => s.id === testStepId)\n if (testStep.pickleStepId !== '') {\n this.progressBar.tick()\n }\n }\n\n logUndefinedParametertype(\n parameterType: messages.IUndefinedParameterType\n ): void {\n this.log(\n `Undefined parameter type: ${formatUndefinedParameterType(\n parameterType\n )}\\n`\n )\n }\n\n logErrorIfNeeded(testCaseFinished: messages.ITestCaseFinished): void {\n const { worstTestStepResult } = this.eventDataCollector.getTestCaseAttempt(\n testCaseFinished.testCaseStartedId\n )\n if (isIssue(worstTestStepResult)) {\n this.issueCount += 1\n const testCaseAttempt = this.eventDataCollector.getTestCaseAttempt(\n testCaseFinished.testCaseStartedId\n )\n this.progressBar.interrupt(\n formatIssue({\n colorFns: this.colorFns,\n cwd: this.cwd,\n number: this.issueCount,\n snippetBuilder: this.snippetBuilder,\n supportCodeLibrary: this.supportCodeLibrary,\n testCaseAttempt,\n })\n )\n if (worstTestStepResult.willBeRetried) {\n const stepsToRetry = testCaseAttempt.pickle.steps.length\n this.progressBar.tick(-stepsToRetry)\n }\n }\n }\n\n logSummary(testRunFinished: messages.ITestRunFinished): void {\n const testRunDuration = durationBetweenTimestamps(\n this.testRunStarted.timestamp,\n testRunFinished.timestamp\n )\n this.log(\n formatSummary({\n colorFns: this.colorFns,\n testCaseAttempts: this.eventDataCollector.getTestCaseAttempts(),\n testRunDuration,\n })\n )\n }\n\n parseEnvelope(envelope: messages.IEnvelope): void {\n if (doesHaveValue(envelope.undefinedParameterType)) {\n this.logUndefinedParametertype(envelope.undefinedParameterType)\n } else if (doesHaveValue(envelope.pickle)) {\n this.incrementStepCount(envelope.pickle.id)\n } else if (doesHaveValue(envelope.testStepStarted)) {\n this.initializeProgressBar()\n } else if (doesHaveValue(envelope.testStepFinished)) {\n this.logProgress(envelope.testStepFinished)\n } else if (doesHaveValue(envelope.testCaseFinished)) {\n this.logErrorIfNeeded(envelope.testCaseFinished)\n } else if (doesHaveValue(envelope.testRunStarted)) {\n this.testRunStarted = envelope.testRunStarted\n } else if (doesHaveValue(envelope.testRunFinished)) {\n this.logSummary(envelope.testRunFinished)\n }\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.d.ts new file mode 100644 index 0000000..6912680 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.d.ts @@ -0,0 +1,8 @@ +import SummaryFormatter from './summary_formatter'; +import { IFormatterOptions } from './index'; +import { messages } from '@cucumber/messages'; +import ITestStepFinished = messages.ITestStepFinished; +export default class ProgressFormatter extends SummaryFormatter { + constructor(options: IFormatterOptions); + logProgress({ testStepResult: { status } }: ITestStepFinished): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.js new file mode 100644 index 0000000..0a34e51 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const summary_formatter_1 = __importDefault(require("./summary_formatter")); +const status_1 = __importDefault(require("../status")); +const value_checker_1 = require("../value_checker"); +const STATUS_CHARACTER_MAPPING = { + [status_1.default.AMBIGUOUS]: 'A', + [status_1.default.FAILED]: 'F', + [status_1.default.PASSED]: '.', + [status_1.default.PENDING]: 'P', + [status_1.default.SKIPPED]: '-', + [status_1.default.UNDEFINED]: 'U', +}; +class ProgressFormatter extends summary_formatter_1.default { + constructor(options) { + options.eventBroadcaster.on('envelope', (envelope) => { + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + this.log('\n\n'); + } + else if (value_checker_1.doesHaveValue(envelope.testStepFinished)) { + this.logProgress(envelope.testStepFinished); + } + }); + super(options); + } + logProgress({ testStepResult: { status } }) { + const character = this.colorFns.forStatus(status)(STATUS_CHARACTER_MAPPING[status]); + this.log(character); + } +} +exports.default = ProgressFormatter; +//# sourceMappingURL=progress_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.js.map new file mode 100644 index 0000000..d0ecc8e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/progress_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"progress_formatter.js","sourceRoot":"","sources":["../../src/formatter/progress_formatter.ts"],"names":[],"mappings":";;;;;AAAA,4EAAkD;AAClD,uDAA8B;AAC9B,oDAAgD;AAMhD,MAAM,wBAAwB,GAA8B;IAC1D,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,GAAG;IACvB,CAAC,gBAAM,CAAC,MAAM,CAAC,EAAE,GAAG;IACpB,CAAC,gBAAM,CAAC,MAAM,CAAC,EAAE,GAAG;IACpB,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,GAAG;IACrB,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,GAAG;IACrB,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,GAAG;CACxB,CAAA;AAED,MAAqB,iBAAkB,SAAQ,2BAAgB;IAC7D,YAAY,OAA0B;QACpC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAmB,EAAE,EAAE;YAC9D,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;aACjB;iBAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;aAC5C;QACH,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IAED,WAAW,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAqB;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAC/C,wBAAwB,CAAC,MAAM,CAAC,CACjC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;CACF;AAlBD,oCAkBC","sourcesContent":["import SummaryFormatter from './summary_formatter'\nimport Status from '../status'\nimport { doesHaveValue } from '../value_checker'\nimport { IFormatterOptions } from './index'\nimport { messages } from '@cucumber/messages'\nimport IEnvelope = messages.IEnvelope\nimport ITestStepFinished = messages.ITestStepFinished\n\nconst STATUS_CHARACTER_MAPPING: { [key: number]: string } = {\n [Status.AMBIGUOUS]: 'A',\n [Status.FAILED]: 'F',\n [Status.PASSED]: '.',\n [Status.PENDING]: 'P',\n [Status.SKIPPED]: '-',\n [Status.UNDEFINED]: 'U',\n}\n\nexport default class ProgressFormatter extends SummaryFormatter {\n constructor(options: IFormatterOptions) {\n options.eventBroadcaster.on('envelope', (envelope: IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.log('\\n\\n')\n } else if (doesHaveValue(envelope.testStepFinished)) {\n this.logProgress(envelope.testStepFinished)\n }\n })\n super(options)\n }\n\n logProgress({ testStepResult: { status } }: ITestStepFinished): void {\n const character = this.colorFns.forStatus(status)(\n STATUS_CHARACTER_MAPPING[status]\n )\n this.log(character)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.d.ts new file mode 100644 index 0000000..591377d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.d.ts @@ -0,0 +1,6 @@ +import Formatter, { IFormatterOptions } from './'; +export default class RerunFormatter extends Formatter { + private readonly separator; + constructor(options: IFormatterOptions); + logFailedTestCases(): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.js new file mode 100644 index 0000000..dad3dc9 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.js @@ -0,0 +1,44 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const _1 = __importDefault(require("./")); +const status_1 = __importDefault(require("../status")); +const path_1 = __importDefault(require("path")); +const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser"); +const value_checker_1 = require("../value_checker"); +const DEFAULT_SEPARATOR = '\n'; +class RerunFormatter extends _1.default { + constructor(options) { + super(options); + options.eventBroadcaster.on('envelope', (envelope) => { + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + this.logFailedTestCases(); + } + }); + const rerunOptions = value_checker_1.valueOrDefault(options.parsedArgvOptions.rerun, {}); + this.separator = value_checker_1.valueOrDefault(rerunOptions.separator, DEFAULT_SEPARATOR); + } + logFailedTestCases() { + const mapping = {}; + lodash_1.default.each(this.eventDataCollector.getTestCaseAttempts(), ({ gherkinDocument, pickle, worstTestStepResult }) => { + if (worstTestStepResult.status !== status_1.default.PASSED) { + const relativeUri = path_1.default.relative(this.cwd, pickle.uri); + const line = gherkin_document_parser_1.getGherkinScenarioLocationMap(gherkinDocument)[lodash_1.default.last(pickle.astNodeIds)].line; + if (value_checker_1.doesNotHaveValue(mapping[relativeUri])) { + mapping[relativeUri] = []; + } + mapping[relativeUri].push(line); + } + }); + const text = lodash_1.default.chain(mapping) + .map((lines, uri) => `${uri}:${lines.join(':')}`) + .join(this.separator) + .value(); + this.log(text); + } +} +exports.default = RerunFormatter; +//# sourceMappingURL=rerun_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.js.map new file mode 100644 index 0000000..51a0723 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/rerun_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rerun_formatter.js","sourceRoot":"","sources":["../../src/formatter/rerun_formatter.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsB;AACtB,0CAAiD;AACjD,uDAA8B;AAC9B,gDAAuB;AACvB,+EAAiF;AACjF,oDAIyB;AAGzB,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAM9B,MAAqB,cAAe,SAAQ,UAAS;IAGnD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAA4B,EAAE,EAAE;YACvE,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAA;aAC1B;QACH,CAAC,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,8BAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,SAAS,GAAG,8BAAc,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAC5E,CAAC;IAED,kBAAkB;QAChB,MAAM,OAAO,GAAkB,EAAE,CAAA;QACjC,gBAAC,CAAC,IAAI,CACJ,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAC7C,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE;YACnD,IAAI,mBAAmB,CAAC,MAAM,KAAK,gBAAM,CAAC,MAAM,EAAE;gBAChD,MAAM,WAAW,GAAG,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;gBACvD,MAAM,IAAI,GAAG,uDAA6B,CAAC,eAAe,CAAC,CACzD,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAC1B,CAAC,IAAI,CAAA;gBACN,IAAI,gCAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE;oBAC1C,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;iBAC1B;gBACD,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAChC;QACH,CAAC,CACF,CAAA;QACD,MAAM,IAAI,GAAG,gBAAC,CAAC,KAAK,CAAC,OAAO,CAAC;aAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aAChD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;aACpB,KAAK,EAAE,CAAA;QACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;CACF;AArCD,iCAqCC","sourcesContent":["import _ from 'lodash'\nimport Formatter, { IFormatterOptions } from './'\nimport Status from '../status'\nimport path from 'path'\nimport { getGherkinScenarioLocationMap } from './helpers/gherkin_document_parser'\nimport {\n doesHaveValue,\n doesNotHaveValue,\n valueOrDefault,\n} from '../value_checker'\nimport { messages } from '@cucumber/messages'\n\nconst DEFAULT_SEPARATOR = '\\n'\n\ninterface UriToLinesMap {\n [uri: string]: number[]\n}\n\nexport default class RerunFormatter extends Formatter {\n private readonly separator: string\n\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: messages.IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.logFailedTestCases()\n }\n })\n const rerunOptions = valueOrDefault(options.parsedArgvOptions.rerun, {})\n this.separator = valueOrDefault(rerunOptions.separator, DEFAULT_SEPARATOR)\n }\n\n logFailedTestCases(): void {\n const mapping: UriToLinesMap = {}\n _.each(\n this.eventDataCollector.getTestCaseAttempts(),\n ({ gherkinDocument, pickle, worstTestStepResult }) => {\n if (worstTestStepResult.status !== Status.PASSED) {\n const relativeUri = path.relative(this.cwd, pickle.uri)\n const line = getGherkinScenarioLocationMap(gherkinDocument)[\n _.last(pickle.astNodeIds)\n ].line\n if (doesNotHaveValue(mapping[relativeUri])) {\n mapping[relativeUri] = []\n }\n mapping[relativeUri].push(line)\n }\n }\n )\n const text = _.chain(mapping)\n .map((lines, uri) => `${uri}:${lines.join(':')}`)\n .join(this.separator)\n .value()\n this.log(text)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.d.ts new file mode 100644 index 0000000..0366999 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.d.ts @@ -0,0 +1,5 @@ +import Formatter, { IFormatterOptions } from './'; +export default class SnippetsFormatter extends Formatter { + constructor(options: IFormatterOptions); + logSnippets(): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.js new file mode 100644 index 0000000..c6b70b3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.js @@ -0,0 +1,38 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const _1 = __importDefault(require("./")); +const status_1 = __importDefault(require("../status")); +const helpers_1 = require("./helpers"); +const value_checker_1 = require("../value_checker"); +class SnippetsFormatter extends _1.default { + constructor(options) { + super(options); + options.eventBroadcaster.on('envelope', (envelope) => { + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + this.logSnippets(); + } + }); + } + logSnippets() { + const snippets = []; + this.eventDataCollector.getTestCaseAttempts().forEach((testCaseAttempt) => { + const parsed = helpers_1.parseTestCaseAttempt({ + cwd: this.cwd, + snippetBuilder: this.snippetBuilder, + supportCodeLibrary: this.supportCodeLibrary, + testCaseAttempt, + }); + parsed.testSteps.forEach((testStep) => { + if (testStep.result.status === status_1.default.UNDEFINED) { + snippets.push(testStep.snippet); + } + }); + }); + this.log(snippets.join('\n\n')); + } +} +exports.default = SnippetsFormatter; +//# sourceMappingURL=snippets_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.js.map new file mode 100644 index 0000000..eff8063 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/snippets_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"snippets_formatter.js","sourceRoot":"","sources":["../../src/formatter/snippets_formatter.ts"],"names":[],"mappings":";;;;;AAAA,0CAAiD;AACjD,uDAA8B;AAC9B,uCAAgD;AAChD,oDAAgD;AAIhD,MAAqB,iBAAkB,SAAQ,UAAS;IACtD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAmB,EAAE,EAAE;YAC9D,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,CAAC,WAAW,EAAE,CAAA;aACnB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW;QACT,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YACxE,MAAM,MAAM,GAAG,8BAAoB,CAAC;gBAClC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,eAAe;aAChB,CAAC,CAAA;YACF,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACpC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,SAAS,EAAE;oBAC/C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;iBAChC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,CAAC;CACF;AA3BD,oCA2BC","sourcesContent":["import Formatter, { IFormatterOptions } from './'\nimport Status from '../status'\nimport { parseTestCaseAttempt } from './helpers'\nimport { doesHaveValue } from '../value_checker'\nimport { messages } from '@cucumber/messages'\nimport IEnvelope = messages.IEnvelope\n\nexport default class SnippetsFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.logSnippets()\n }\n })\n }\n\n logSnippets(): void {\n const snippets: string[] = []\n this.eventDataCollector.getTestCaseAttempts().forEach((testCaseAttempt) => {\n const parsed = parseTestCaseAttempt({\n cwd: this.cwd,\n snippetBuilder: this.snippetBuilder,\n supportCodeLibrary: this.supportCodeLibrary,\n testCaseAttempt,\n })\n parsed.testSteps.forEach((testStep) => {\n if (testStep.result.status === Status.UNDEFINED) {\n snippets.push(testStep.snippet)\n }\n })\n })\n this.log(snippets.join('\\n\\n'))\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.d.ts new file mode 100644 index 0000000..9831f01 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.d.ts @@ -0,0 +1,20 @@ +import { KeywordType } from '../helpers'; +import { ISnippetSnytax } from './snippet_syntax'; +import { ParameterTypeRegistry } from '@cucumber/cucumber-expressions'; +import { messages } from '@cucumber/messages'; +export interface INewStepDefinitionSnippetBuilderOptions { + snippetSyntax: ISnippetSnytax; + parameterTypeRegistry: ParameterTypeRegistry; +} +export interface IBuildRequest { + keywordType: KeywordType; + pickleStep: messages.Pickle.IPickleStep; +} +export default class StepDefinitionSnippetBuilder { + private readonly snippetSyntax; + private readonly cucumberExpressionGenerator; + constructor({ snippetSyntax, parameterTypeRegistry, }: INewStepDefinitionSnippetBuilderOptions); + build({ keywordType, pickleStep }: IBuildRequest): string; + getFunctionName(keywordType: KeywordType): string; + getStepParameterNames(step: messages.Pickle.IPickleStep): string[]; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.js b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.js new file mode 100644 index 0000000..c84d9e7 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("../helpers"); +const step_arguments_1 = require("../../step_arguments"); +const cucumber_expressions_1 = require("@cucumber/cucumber-expressions"); +const value_checker_1 = require("../../value_checker"); +class StepDefinitionSnippetBuilder { + constructor({ snippetSyntax, parameterTypeRegistry, }) { + this.snippetSyntax = snippetSyntax; + this.cucumberExpressionGenerator = new cucumber_expressions_1.CucumberExpressionGenerator(() => parameterTypeRegistry.parameterTypes); + } + build({ keywordType, pickleStep }) { + const comment = 'Write code here that turns the phrase above into concrete actions'; + const functionName = this.getFunctionName(keywordType); + const generatedExpressions = this.cucumberExpressionGenerator.generateExpressions(pickleStep.text); + const stepParameterNames = this.getStepParameterNames(pickleStep); + return this.snippetSyntax.build({ + comment, + functionName, + generatedExpressions, + stepParameterNames, + }); + } + getFunctionName(keywordType) { + switch (keywordType) { + case helpers_1.KeywordType.Event: + return 'When'; + case helpers_1.KeywordType.Outcome: + return 'Then'; + case helpers_1.KeywordType.Precondition: + return 'Given'; + } + } + getStepParameterNames(step) { + if (value_checker_1.doesHaveValue(step.argument)) { + const argumentName = step_arguments_1.parseStepArgument(step.argument, { + dataTable: () => 'dataTable', + docString: () => 'docString', + }); + return [argumentName]; + } + return []; + } +} +exports.default = StepDefinitionSnippetBuilder; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.js.map b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.js.map new file mode 100644 index 0000000..b012637 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatter/step_definition_snippet_builder/index.ts"],"names":[],"mappings":";;AAAA,wCAAwC;AACxC,yDAAwD;AAExD,yEAGuC;AAEvC,uDAAmD;AAYnD,MAAqB,4BAA4B;IAI/C,YAAY,EACV,aAAa,EACb,qBAAqB,GACmB;QACxC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,2BAA2B,GAAG,IAAI,kDAA2B,CAChE,GAAG,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAC3C,CAAA;IACH,CAAC;IAED,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,EAAiB;QAC9C,MAAM,OAAO,GACX,mEAAmE,CAAA;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QACtD,MAAM,oBAAoB,GAAG,IAAI,CAAC,2BAA2B,CAAC,mBAAmB,CAC/E,UAAU,CAAC,IAAI,CAChB,CAAA;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC9B,OAAO;YACP,YAAY;YACZ,oBAAoB;YACpB,kBAAkB;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,WAAwB;QACtC,QAAQ,WAAW,EAAE;YACnB,KAAK,qBAAW,CAAC,KAAK;gBACpB,OAAO,MAAM,CAAA;YACf,KAAK,qBAAW,CAAC,OAAO;gBACtB,OAAO,MAAM,CAAA;YACf,KAAK,qBAAW,CAAC,YAAY;gBAC3B,OAAO,OAAO,CAAA;SACjB;IACH,CAAC;IAED,qBAAqB,CAAC,IAAiC;QACrD,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,YAAY,GAAG,kCAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACpD,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW;gBAC5B,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW;aAC7B,CAAC,CAAA;YACF,OAAO,CAAC,YAAY,CAAC,CAAA;SACtB;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF;AAnDD,+CAmDC","sourcesContent":["import { KeywordType } from '../helpers'\nimport { parseStepArgument } from '../../step_arguments'\nimport { ISnippetSnytax } from './snippet_syntax'\nimport {\n CucumberExpressionGenerator,\n ParameterTypeRegistry,\n} from '@cucumber/cucumber-expressions'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue } from '../../value_checker'\n\nexport interface INewStepDefinitionSnippetBuilderOptions {\n snippetSyntax: ISnippetSnytax\n parameterTypeRegistry: ParameterTypeRegistry\n}\n\nexport interface IBuildRequest {\n keywordType: KeywordType\n pickleStep: messages.Pickle.IPickleStep\n}\n\nexport default class StepDefinitionSnippetBuilder {\n private readonly snippetSyntax: ISnippetSnytax\n private readonly cucumberExpressionGenerator: CucumberExpressionGenerator\n\n constructor({\n snippetSyntax,\n parameterTypeRegistry,\n }: INewStepDefinitionSnippetBuilderOptions) {\n this.snippetSyntax = snippetSyntax\n this.cucumberExpressionGenerator = new CucumberExpressionGenerator(\n () => parameterTypeRegistry.parameterTypes\n )\n }\n\n build({ keywordType, pickleStep }: IBuildRequest): string {\n const comment =\n 'Write code here that turns the phrase above into concrete actions'\n const functionName = this.getFunctionName(keywordType)\n const generatedExpressions = this.cucumberExpressionGenerator.generateExpressions(\n pickleStep.text\n )\n const stepParameterNames = this.getStepParameterNames(pickleStep)\n return this.snippetSyntax.build({\n comment,\n functionName,\n generatedExpressions,\n stepParameterNames,\n })\n }\n\n getFunctionName(keywordType: KeywordType): string {\n switch (keywordType) {\n case KeywordType.Event:\n return 'When'\n case KeywordType.Outcome:\n return 'Then'\n case KeywordType.Precondition:\n return 'Given'\n }\n }\n\n getStepParameterNames(step: messages.Pickle.IPickleStep): string[] {\n if (doesHaveValue(step.argument)) {\n const argumentName = parseStepArgument(step.argument, {\n dataTable: () => 'dataTable',\n docString: () => 'docString',\n })\n return [argumentName]\n }\n return []\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts new file mode 100644 index 0000000..766a5e5 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts @@ -0,0 +1,6 @@ +import { ISnippetSnytax, ISnippetSyntaxBuildOptions, SnippetInterface } from './snippet_syntax'; +export default class JavaScriptSnippetSyntax implements ISnippetSnytax { + private readonly snippetInterface; + constructor(snippetInterface: SnippetInterface); + build({ comment, generatedExpressions, functionName, stepParameterNames, }: ISnippetSyntaxBuildOptions): string; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js new file mode 100644 index 0000000..0789a9f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const snippet_syntax_1 = require("./snippet_syntax"); +const CALLBACK_NAME = 'callback'; +class JavaScriptSnippetSyntax { + constructor(snippetInterface) { + this.snippetInterface = snippetInterface; + } + build({ comment, generatedExpressions, functionName, stepParameterNames, }) { + let functionKeyword = 'function '; + if (this.snippetInterface === snippet_syntax_1.SnippetInterface.AsyncAwait) { + functionKeyword = 'async ' + functionKeyword; + } + else if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Generator) { + functionKeyword += '*'; + } + let implementation; + if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Callback) { + implementation = `${CALLBACK_NAME}(null, 'pending');`; + } + else { + implementation = "return 'pending';"; + } + const definitionChoices = generatedExpressions.map((generatedExpression, index) => { + const prefix = index === 0 ? '' : '// '; + const allParameterNames = generatedExpression.parameterNames.concat(stepParameterNames); + if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Callback) { + allParameterNames.push(CALLBACK_NAME); + } + return `${prefix + functionName}('${generatedExpression.source.replace(/'/g, "\\'")}', ${functionKeyword}(${allParameterNames.join(', ')}) {\n`; + }); + return (`${definitionChoices.join('')} // ${comment}\n` + + ` ${implementation}\n` + + '});'); + } +} +exports.default = JavaScriptSnippetSyntax; +//# sourceMappingURL=javascript_snippet_syntax.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map new file mode 100644 index 0000000..6e42175 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map @@ -0,0 +1 @@ +{"version":3,"file":"javascript_snippet_syntax.js","sourceRoot":"","sources":["../../../src/formatter/step_definition_snippet_builder/javascript_snippet_syntax.ts"],"names":[],"mappings":";;AAAA,qDAIyB;AAEzB,MAAM,aAAa,GAAG,UAAU,CAAA;AAEhC,MAAqB,uBAAuB;IAG1C,YAAY,gBAAkC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,EACJ,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,GACS;QAC3B,IAAI,eAAe,GAAG,WAAW,CAAA;QACjC,IAAI,IAAI,CAAC,gBAAgB,KAAK,iCAAgB,CAAC,UAAU,EAAE;YACzD,eAAe,GAAG,QAAQ,GAAG,eAAe,CAAA;SAC7C;aAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,iCAAgB,CAAC,SAAS,EAAE;YAC/D,eAAe,IAAI,GAAG,CAAA;SACvB;QAED,IAAI,cAAsB,CAAA;QAC1B,IAAI,IAAI,CAAC,gBAAgB,KAAK,iCAAgB,CAAC,QAAQ,EAAE;YACvD,cAAc,GAAG,GAAG,aAAa,oBAAoB,CAAA;SACtD;aAAM;YACL,cAAc,GAAG,mBAAmB,CAAA;SACrC;QAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAChD,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;YACvC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,cAAc,CAAC,MAAM,CACjE,kBAAkB,CACnB,CAAA;YACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,iCAAgB,CAAC,QAAQ,EAAE;gBACvD,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aACtC;YACD,OAAO,GAAG,MAAM,GAAG,YAAY,KAAK,mBAAmB,CAAC,MAAM,CAAC,OAAO,CACpE,IAAI,EACJ,KAAK,CACN,MAAM,eAAe,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAC/D,CAAC,CACF,CAAA;QAED,OAAO,CACL,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,OAAO,IAAI;YAChD,KAAK,cAAc,IAAI;YACvB,KAAK,CACN,CAAA;IACH,CAAC;CACF;AAjDD,0CAiDC","sourcesContent":["import {\n ISnippetSnytax,\n ISnippetSyntaxBuildOptions,\n SnippetInterface,\n} from './snippet_syntax'\n\nconst CALLBACK_NAME = 'callback'\n\nexport default class JavaScriptSnippetSyntax implements ISnippetSnytax {\n private readonly snippetInterface: SnippetInterface\n\n constructor(snippetInterface: SnippetInterface) {\n this.snippetInterface = snippetInterface\n }\n\n build({\n comment,\n generatedExpressions,\n functionName,\n stepParameterNames,\n }: ISnippetSyntaxBuildOptions): string {\n let functionKeyword = 'function '\n if (this.snippetInterface === SnippetInterface.AsyncAwait) {\n functionKeyword = 'async ' + functionKeyword\n } else if (this.snippetInterface === SnippetInterface.Generator) {\n functionKeyword += '*'\n }\n\n let implementation: string\n if (this.snippetInterface === SnippetInterface.Callback) {\n implementation = `${CALLBACK_NAME}(null, 'pending');`\n } else {\n implementation = \"return 'pending';\"\n }\n\n const definitionChoices = generatedExpressions.map(\n (generatedExpression, index) => {\n const prefix = index === 0 ? '' : '// '\n const allParameterNames = generatedExpression.parameterNames.concat(\n stepParameterNames\n )\n if (this.snippetInterface === SnippetInterface.Callback) {\n allParameterNames.push(CALLBACK_NAME)\n }\n return `${prefix + functionName}('${generatedExpression.source.replace(\n /'/g,\n \"\\\\'\"\n )}', ${functionKeyword}(${allParameterNames.join(', ')}) {\\n`\n }\n )\n\n return (\n `${definitionChoices.join('')} // ${comment}\\n` +\n ` ${implementation}\\n` +\n '});'\n )\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts new file mode 100644 index 0000000..590707f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts @@ -0,0 +1,17 @@ +import GeneratedExpression from '@cucumber/cucumber-expressions/dist/src/GeneratedExpression'; +export declare enum SnippetInterface { + AsyncAwait = "async-await", + Callback = "callback", + Generator = "generator", + Promise = "promise", + Synchronous = "synchronous" +} +export interface ISnippetSyntaxBuildOptions { + comment: string; + functionName: string; + generatedExpressions: readonly GeneratedExpression[]; + stepParameterNames: string[]; +} +export interface ISnippetSnytax { + build: (options: ISnippetSyntaxBuildOptions) => string; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.js b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.js new file mode 100644 index 0000000..d1e20f0 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SnippetInterface = void 0; +var SnippetInterface; +(function (SnippetInterface) { + SnippetInterface["AsyncAwait"] = "async-await"; + SnippetInterface["Callback"] = "callback"; + SnippetInterface["Generator"] = "generator"; + SnippetInterface["Promise"] = "promise"; + SnippetInterface["Synchronous"] = "synchronous"; +})(SnippetInterface = exports.SnippetInterface || (exports.SnippetInterface = {})); +//# sourceMappingURL=snippet_syntax.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map new file mode 100644 index 0000000..f72288f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map @@ -0,0 +1 @@ +{"version":3,"file":"snippet_syntax.js","sourceRoot":"","sources":["../../../src/formatter/step_definition_snippet_builder/snippet_syntax.ts"],"names":[],"mappings":";;;AAEA,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,8CAA0B,CAAA;IAC1B,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,+CAA2B,CAAA;AAC7B,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B","sourcesContent":["import GeneratedExpression from '@cucumber/cucumber-expressions/dist/src/GeneratedExpression'\n\nexport enum SnippetInterface {\n AsyncAwait = 'async-await',\n Callback = 'callback',\n Generator = 'generator',\n Promise = 'promise',\n Synchronous = 'synchronous',\n}\n\nexport interface ISnippetSyntaxBuildOptions {\n comment: string\n functionName: string\n generatedExpressions: readonly GeneratedExpression[]\n stepParameterNames: string[]\n}\n\nexport interface ISnippetSnytax {\n build: (options: ISnippetSyntaxBuildOptions) => string\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.d.ts new file mode 100644 index 0000000..312702b --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.d.ts @@ -0,0 +1,13 @@ +import Formatter, { IFormatterOptions } from './'; +import { messages } from '@cucumber/messages'; +import { ITestCaseAttempt } from './helpers/event_data_collector'; +interface ILogIssuesRequest { + issues: ITestCaseAttempt[]; + title: string; +} +export default class SummaryFormatter extends Formatter { + constructor(options: IFormatterOptions); + logSummary(testRunDuration: messages.IDuration): void; + logIssues({ issues, title }: ILogIssuesRequest): void; +} +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.js new file mode 100644 index 0000000..7887e29 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.js @@ -0,0 +1,68 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const helpers_1 = require("./helpers"); +const _1 = __importDefault(require("./")); +const value_checker_1 = require("../value_checker"); +const issue_helpers_1 = require("./helpers/issue_helpers"); +const time_1 = require("../time"); +class SummaryFormatter extends _1.default { + constructor(options) { + super(options); + let testRunStartedTimestamp; + options.eventBroadcaster.on('envelope', (envelope) => { + if (value_checker_1.doesHaveValue(envelope.testRunStarted)) { + testRunStartedTimestamp = envelope.testRunStarted.timestamp; + } + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + const testRunFinishedTimestamp = envelope.testRunFinished.timestamp; + this.logSummary(time_1.durationBetweenTimestamps(testRunStartedTimestamp, testRunFinishedTimestamp)); + } + }); + } + logSummary(testRunDuration) { + const failures = []; + const warnings = []; + const testCaseAttempts = this.eventDataCollector.getTestCaseAttempts(); + lodash_1.default.each(testCaseAttempts, (testCaseAttempt) => { + if (helpers_1.isFailure(testCaseAttempt.worstTestStepResult)) { + failures.push(testCaseAttempt); + } + else if (helpers_1.isWarning(testCaseAttempt.worstTestStepResult)) { + warnings.push(testCaseAttempt); + } + }); + if (this.eventDataCollector.undefinedParameterTypes.length > 0) { + this.log(issue_helpers_1.formatUndefinedParameterTypes(this.eventDataCollector.undefinedParameterTypes)); + } + if (failures.length > 0) { + this.logIssues({ issues: failures, title: 'Failures' }); + } + if (warnings.length > 0) { + this.logIssues({ issues: warnings, title: 'Warnings' }); + } + this.log(helpers_1.formatSummary({ + colorFns: this.colorFns, + testCaseAttempts, + testRunDuration, + })); + } + logIssues({ issues, title }) { + this.log(`${title}:\n\n`); + issues.forEach((testCaseAttempt, index) => { + this.log(helpers_1.formatIssue({ + colorFns: this.colorFns, + cwd: this.cwd, + number: index + 1, + snippetBuilder: this.snippetBuilder, + supportCodeLibrary: this.supportCodeLibrary, + testCaseAttempt, + })); + }); + } +} +exports.default = SummaryFormatter; +//# sourceMappingURL=summary_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.js.map new file mode 100644 index 0000000..8068bb5 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/summary_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"summary_formatter.js","sourceRoot":"","sources":["../../src/formatter/summary_formatter.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsB;AACtB,uCAA4E;AAC5E,0CAAiD;AACjD,oDAAgD;AAGhD,2DAAuE;AACvE,kCAAmD;AAOnD,MAAqB,gBAAiB,SAAQ,UAAS;IACrD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,uBAA4C,CAAA;QAChD,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAA4B,EAAE,EAAE;YACvE,IAAI,6BAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC1C,uBAAuB,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAA;aAC5D;YACD,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,MAAM,wBAAwB,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAA;gBACnE,IAAI,CAAC,UAAU,CACb,gCAAyB,CACvB,uBAAuB,EACvB,wBAAwB,CACzB,CACF,CAAA;aACF;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,eAAmC;QAC5C,MAAM,QAAQ,GAAuB,EAAE,CAAA;QACvC,MAAM,QAAQ,GAAuB,EAAE,CAAA;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAA;QACtE,gBAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,eAAe,EAAE,EAAE;YAC3C,IAAI,mBAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;gBAClD,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aAC/B;iBAAM,IAAI,mBAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;gBACzD,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aAC/B;QACH,CAAC,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,IAAI,CAAC,GAAG,CACN,6CAA6B,CAC3B,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAChD,CACF,CAAA;SACF;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;SACxD;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;SACxD;QACD,IAAI,CAAC,GAAG,CACN,uBAAa,CAAC;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB;YAChB,eAAe;SAChB,CAAC,CACH,CAAA;IACH,CAAC;IAED,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAqB;QAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,CAAA;QACzB,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CACN,qBAAW,CAAC;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,KAAK,GAAG,CAAC;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,eAAe;aAChB,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AApED,mCAoEC","sourcesContent":["import _ from 'lodash'\nimport { formatIssue, formatSummary, isFailure, isWarning } from './helpers'\nimport Formatter, { IFormatterOptions } from './'\nimport { doesHaveValue } from '../value_checker'\nimport { messages } from '@cucumber/messages'\nimport { ITestCaseAttempt } from './helpers/event_data_collector'\nimport { formatUndefinedParameterTypes } from './helpers/issue_helpers'\nimport { durationBetweenTimestamps } from '../time'\n\ninterface ILogIssuesRequest {\n issues: ITestCaseAttempt[]\n title: string\n}\n\nexport default class SummaryFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n let testRunStartedTimestamp: messages.ITimestamp\n options.eventBroadcaster.on('envelope', (envelope: messages.IEnvelope) => {\n if (doesHaveValue(envelope.testRunStarted)) {\n testRunStartedTimestamp = envelope.testRunStarted.timestamp\n }\n if (doesHaveValue(envelope.testRunFinished)) {\n const testRunFinishedTimestamp = envelope.testRunFinished.timestamp\n this.logSummary(\n durationBetweenTimestamps(\n testRunStartedTimestamp,\n testRunFinishedTimestamp\n )\n )\n }\n })\n }\n\n logSummary(testRunDuration: messages.IDuration): void {\n const failures: ITestCaseAttempt[] = []\n const warnings: ITestCaseAttempt[] = []\n const testCaseAttempts = this.eventDataCollector.getTestCaseAttempts()\n _.each(testCaseAttempts, (testCaseAttempt) => {\n if (isFailure(testCaseAttempt.worstTestStepResult)) {\n failures.push(testCaseAttempt)\n } else if (isWarning(testCaseAttempt.worstTestStepResult)) {\n warnings.push(testCaseAttempt)\n }\n })\n if (this.eventDataCollector.undefinedParameterTypes.length > 0) {\n this.log(\n formatUndefinedParameterTypes(\n this.eventDataCollector.undefinedParameterTypes\n )\n )\n }\n if (failures.length > 0) {\n this.logIssues({ issues: failures, title: 'Failures' })\n }\n if (warnings.length > 0) {\n this.logIssues({ issues: warnings, title: 'Warnings' })\n }\n this.log(\n formatSummary({\n colorFns: this.colorFns,\n testCaseAttempts,\n testRunDuration,\n })\n )\n }\n\n logIssues({ issues, title }: ILogIssuesRequest): void {\n this.log(`${title}:\\n\\n`)\n issues.forEach((testCaseAttempt, index) => {\n this.log(\n formatIssue({\n colorFns: this.colorFns,\n cwd: this.cwd,\n number: index + 1,\n snippetBuilder: this.snippetBuilder,\n supportCodeLibrary: this.supportCodeLibrary,\n testCaseAttempt,\n })\n )\n })\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.d.ts new file mode 100644 index 0000000..770aafe --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.d.ts @@ -0,0 +1,5 @@ +import Formatter, { IFormatterOptions } from './'; +export default class UsageFormatter extends Formatter { + constructor(options: IFormatterOptions); + logUsage(): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.js new file mode 100644 index 0000000..304e080 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.js @@ -0,0 +1,76 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const helpers_1 = require("./helpers"); +const _1 = __importDefault(require("./")); +const cli_table3_1 = __importDefault(require("cli-table3")); +const time_1 = require("../time"); +const value_checker_1 = require("../value_checker"); +class UsageFormatter extends _1.default { + constructor(options) { + super(options); + options.eventBroadcaster.on('envelope', (envelope) => { + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + this.logUsage(); + } + }); + } + logUsage() { + const usage = helpers_1.getUsage({ + cwd: this.cwd, + stepDefinitions: this.supportCodeLibrary.stepDefinitions, + eventDataCollector: this.eventDataCollector, + }); + if (usage.length === 0) { + this.log('No step definitions'); + return; + } + const table = new cli_table3_1.default({ + head: ['Pattern / Text', 'Duration', 'Location'], + style: { + border: [], + head: [], + }, + }); + usage.forEach(({ line, matches, meanDuration, pattern, patternType, uri }) => { + let formattedPattern = pattern; + if (patternType === 'RegularExpression') { + formattedPattern = '/' + formattedPattern + '/'; + } + const col1 = [formattedPattern]; + const col2 = []; + if (matches.length > 0) { + if (value_checker_1.doesHaveValue(meanDuration)) { + col2.push(`${time_1.durationToMilliseconds(meanDuration).toFixed(2)}ms`); + } + else { + col2.push('-'); + } + } + else { + col2.push('UNUSED'); + } + const col3 = [helpers_1.formatLocation({ line, uri })]; + lodash_1.default.take(matches, 5).forEach((match) => { + col1.push(` ${match.text}`); + if (value_checker_1.doesHaveValue(match.duration)) { + col2.push(`${time_1.durationToMilliseconds(match.duration).toString()}ms`); + } + else { + col2.push('-'); + } + col3.push(helpers_1.formatLocation(match)); + }); + if (matches.length > 5) { + col1.push(` ${(matches.length - 5).toString()} more`); + } + table.push([col1.join('\n'), col2.join('\n'), col3.join('\n')]); + }); + this.log(`${table.toString()}\n`); + } +} +exports.default = UsageFormatter; +//# sourceMappingURL=usage_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.js.map new file mode 100644 index 0000000..32724ef --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/usage_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usage_formatter.js","sourceRoot":"","sources":["../../src/formatter/usage_formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport { formatLocation, getUsage } from './helpers'\nimport Formatter, { IFormatterOptions } from './'\nimport Table from 'cli-table3'\nimport { durationToMilliseconds } from '../time'\nimport { doesHaveValue } from '../value_checker'\nimport { messages } from '@cucumber/messages'\nimport IEnvelope = messages.IEnvelope\n\nexport default class UsageFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.logUsage()\n }\n })\n }\n\n logUsage(): void {\n const usage = getUsage({\n cwd: this.cwd,\n stepDefinitions: this.supportCodeLibrary.stepDefinitions,\n eventDataCollector: this.eventDataCollector,\n })\n if (usage.length === 0) {\n this.log('No step definitions')\n return\n }\n const table = new Table({\n head: ['Pattern / Text', 'Duration', 'Location'],\n style: {\n border: [],\n head: [],\n },\n })\n usage.forEach(\n ({ line, matches, meanDuration, pattern, patternType, uri }) => {\n let formattedPattern = pattern\n if (patternType === 'RegularExpression') {\n formattedPattern = '/' + formattedPattern + '/'\n }\n const col1 = [formattedPattern]\n const col2 = []\n if (matches.length > 0) {\n if (doesHaveValue(meanDuration)) {\n col2.push(`${durationToMilliseconds(meanDuration).toFixed(2)}ms`)\n } else {\n col2.push('-')\n }\n } else {\n col2.push('UNUSED')\n }\n const col3 = [formatLocation({ line, uri })]\n _.take(matches, 5).forEach((match) => {\n col1.push(` ${match.text}`)\n if (doesHaveValue(match.duration)) {\n col2.push(`${durationToMilliseconds(match.duration).toString()}ms`)\n } else {\n col2.push('-')\n }\n col3.push(formatLocation(match))\n })\n if (matches.length > 5) {\n col1.push(` ${(matches.length - 5).toString()} more`)\n }\n table.push([col1.join('\\n'), col2.join('\\n'), col3.join('\\n')] as any)\n }\n )\n this.log(`${table.toString()}\\n`)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.d.ts b/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.d.ts new file mode 100644 index 0000000..6803d28 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.d.ts @@ -0,0 +1,6 @@ +import Formatter, { IFormatterOptions } from './'; +export default class UsageJsonFormatter extends Formatter { + constructor(options: IFormatterOptions); + logUsage(): void; + replacer(key: string, value: any): any; +} diff --git a/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.js b/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.js new file mode 100644 index 0000000..e912516 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.js @@ -0,0 +1,34 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("./helpers"); +const _1 = __importDefault(require("./")); +const value_checker_1 = require("../value_checker"); +class UsageJsonFormatter extends _1.default { + constructor(options) { + super(options); + options.eventBroadcaster.on('envelope', (envelope) => { + if (value_checker_1.doesHaveValue(envelope.testRunFinished)) { + this.logUsage(); + } + }); + } + logUsage() { + const usage = helpers_1.getUsage({ + cwd: this.cwd, + stepDefinitions: this.supportCodeLibrary.stepDefinitions, + eventDataCollector: this.eventDataCollector, + }); + this.log(JSON.stringify(usage, this.replacer, 2)); + } + replacer(key, value) { + if (key === 'seconds') { + return parseInt(value); + } + return value; + } +} +exports.default = UsageJsonFormatter; +//# sourceMappingURL=usage_json_formatter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.js.map b/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.js.map new file mode 100644 index 0000000..7f71b73 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/formatter/usage_json_formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usage_json_formatter.js","sourceRoot":"","sources":["../../src/formatter/usage_json_formatter.ts"],"names":[],"mappings":";;;;;AAAA,uCAAoC;AACpC,0CAAiD;AACjD,oDAAgD;AAIhD,MAAqB,kBAAmB,SAAQ,UAAS;IACvD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAmB,EAAE,EAAE;YAC9D,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAA;aAChB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAG,kBAAQ,CAAC;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,eAAe;YACxD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAU;QAC9B,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAzBD,qCAyBC","sourcesContent":["import { getUsage } from './helpers'\nimport Formatter, { IFormatterOptions } from './'\nimport { doesHaveValue } from '../value_checker'\nimport { messages } from '@cucumber/messages'\nimport IEnvelope = messages.IEnvelope\n\nexport default class UsageJsonFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.logUsage()\n }\n })\n }\n\n logUsage(): void {\n const usage = getUsage({\n cwd: this.cwd,\n stepDefinitions: this.supportCodeLibrary.stepDefinitions,\n eventDataCollector: this.eventDataCollector,\n })\n this.log(JSON.stringify(usage, this.replacer, 2))\n }\n\n replacer(key: string, value: any): any {\n if (key === 'seconds') {\n return parseInt(value)\n }\n return value\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/importers.js b/node_modules/@cucumber/cucumber/lib/importers.js new file mode 100644 index 0000000..0a125fd --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/importers.js @@ -0,0 +1,17 @@ +/* +Provides the async `import()` function to source code that needs it, +without having it transpiled down to commonjs `require()` by TypeScript. +When we drop Node 10 support, we'll stop transpiling to commonjs and remove this. + */ + +const { pathToFileURL } = require('url') + +module.exports = { + legacy: async (descriptor) => await Promise.resolve(require(descriptor)), + esm: async (descriptor, isFilePath) => { + if (isFilePath) { + descriptor = pathToFileURL(descriptor).toString() + } + return await import(descriptor) + }, +} diff --git a/node_modules/@cucumber/cucumber/lib/index.d.ts b/node_modules/@cucumber/cucumber/lib/index.d.ts new file mode 100644 index 0000000..eb042ba --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/index.d.ts @@ -0,0 +1,33 @@ +import * as formatterHelpers from './formatter/helpers'; +export { default as Cli } from './cli'; +export { parseGherkinMessageStream } from './cli/helpers'; +export { default as PickleFilter } from './pickle_filter'; +export { default as Runtime } from './runtime'; +export { default as supportCodeLibraryBuilder } from './support_code_library_builder'; +export { default as Status } from './status'; +export { default as DataTable } from './models/data_table'; +export { default as Formatter } from './formatter'; +export { default as FormatterBuilder } from './formatter/builder'; +export { default as JsonFormatter } from './formatter/json_formatter'; +export { default as ProgressFormatter } from './formatter/progress_formatter'; +export { default as RerunFormatter } from './formatter/rerun_formatter'; +export { default as SnippetsFormatter } from './formatter/snippets_formatter'; +export { default as SummaryFormatter } from './formatter/summary_formatter'; +export { default as UsageFormatter } from './formatter/usage_formatter'; +export { default as UsageJsonFormatter } from './formatter/usage_json_formatter'; +export { formatterHelpers }; +export declare const After: ((code: import("./support_code_library_builder/types").TestCaseHookFunction) => void) & ((tags: string, code: import("./support_code_library_builder/types").TestCaseHookFunction) => void) & ((options: import("./support_code_library_builder/types").IDefineTestCaseHookOptions, code: import("./support_code_library_builder/types").TestCaseHookFunction) => void); +export declare const AfterAll: ((code: Function) => void) & ((options: import("./support_code_library_builder/types").IDefineTestRunHookOptions, code: Function) => void); +export declare const AfterStep: ((code: import("./support_code_library_builder/types").TestStepHookFunction) => void) & ((tags: string, code: import("./support_code_library_builder/types").TestStepHookFunction) => void) & ((options: import("./support_code_library_builder/types").IDefineTestStepHookOptions, code: import("./support_code_library_builder/types").TestStepHookFunction) => void); +export declare const Before: ((code: import("./support_code_library_builder/types").TestCaseHookFunction) => void) & ((tags: string, code: import("./support_code_library_builder/types").TestCaseHookFunction) => void) & ((options: import("./support_code_library_builder/types").IDefineTestCaseHookOptions, code: import("./support_code_library_builder/types").TestCaseHookFunction) => void); +export declare const BeforeAll: ((code: Function) => void) & ((options: import("./support_code_library_builder/types").IDefineTestRunHookOptions, code: Function) => void); +export declare const BeforeStep: ((code: import("./support_code_library_builder/types").TestStepHookFunction) => void) & ((tags: string, code: import("./support_code_library_builder/types").TestStepHookFunction) => void) & ((options: import("./support_code_library_builder/types").IDefineTestStepHookOptions, code: import("./support_code_library_builder/types").TestStepHookFunction) => void); +export declare const defineParameterType: (options: import("./support_code_library_builder/types").IParameterTypeDefinition) => void; +export declare const defineStep: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void); +export declare const Given: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void); +export declare const setDefaultTimeout: (milliseconds: number) => void; +export declare const setDefinitionFunctionWrapper: (fn: Function) => void; +export declare const setWorldConstructor: (fn: any) => void; +export declare const Then: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void); +export declare const When: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void); +export { default as World, IWorldOptions, } from './support_code_library_builder/world'; diff --git a/node_modules/@cucumber/cucumber/lib/index.js b/node_modules/@cucumber/cucumber/lib/index.js new file mode 100644 index 0000000..c3c2cec --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/index.js @@ -0,0 +1,81 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.World = exports.When = exports.Then = exports.setWorldConstructor = exports.setDefinitionFunctionWrapper = exports.setDefaultTimeout = exports.Given = exports.defineStep = exports.defineParameterType = exports.BeforeStep = exports.BeforeAll = exports.Before = exports.AfterStep = exports.AfterAll = exports.After = exports.formatterHelpers = exports.UsageJsonFormatter = exports.UsageFormatter = exports.SummaryFormatter = exports.SnippetsFormatter = exports.RerunFormatter = exports.ProgressFormatter = exports.JsonFormatter = exports.FormatterBuilder = exports.Formatter = exports.DataTable = exports.Status = exports.supportCodeLibraryBuilder = exports.Runtime = exports.PickleFilter = exports.parseGherkinMessageStream = exports.Cli = void 0; +const formatterHelpers = __importStar(require("./formatter/helpers")); +exports.formatterHelpers = formatterHelpers; +const support_code_library_builder_1 = __importDefault(require("./support_code_library_builder")); +// Top level +var cli_1 = require("./cli"); +Object.defineProperty(exports, "Cli", { enumerable: true, get: function () { return __importDefault(cli_1).default; } }); +var helpers_1 = require("./cli/helpers"); +Object.defineProperty(exports, "parseGherkinMessageStream", { enumerable: true, get: function () { return helpers_1.parseGherkinMessageStream; } }); +var pickle_filter_1 = require("./pickle_filter"); +Object.defineProperty(exports, "PickleFilter", { enumerable: true, get: function () { return __importDefault(pickle_filter_1).default; } }); +var runtime_1 = require("./runtime"); +Object.defineProperty(exports, "Runtime", { enumerable: true, get: function () { return __importDefault(runtime_1).default; } }); +var support_code_library_builder_2 = require("./support_code_library_builder"); +Object.defineProperty(exports, "supportCodeLibraryBuilder", { enumerable: true, get: function () { return __importDefault(support_code_library_builder_2).default; } }); +var status_1 = require("./status"); +Object.defineProperty(exports, "Status", { enumerable: true, get: function () { return __importDefault(status_1).default; } }); +var data_table_1 = require("./models/data_table"); +Object.defineProperty(exports, "DataTable", { enumerable: true, get: function () { return __importDefault(data_table_1).default; } }); +// Formatters +var formatter_1 = require("./formatter"); +Object.defineProperty(exports, "Formatter", { enumerable: true, get: function () { return __importDefault(formatter_1).default; } }); +var builder_1 = require("./formatter/builder"); +Object.defineProperty(exports, "FormatterBuilder", { enumerable: true, get: function () { return __importDefault(builder_1).default; } }); +var json_formatter_1 = require("./formatter/json_formatter"); +Object.defineProperty(exports, "JsonFormatter", { enumerable: true, get: function () { return __importDefault(json_formatter_1).default; } }); +var progress_formatter_1 = require("./formatter/progress_formatter"); +Object.defineProperty(exports, "ProgressFormatter", { enumerable: true, get: function () { return __importDefault(progress_formatter_1).default; } }); +var rerun_formatter_1 = require("./formatter/rerun_formatter"); +Object.defineProperty(exports, "RerunFormatter", { enumerable: true, get: function () { return __importDefault(rerun_formatter_1).default; } }); +var snippets_formatter_1 = require("./formatter/snippets_formatter"); +Object.defineProperty(exports, "SnippetsFormatter", { enumerable: true, get: function () { return __importDefault(snippets_formatter_1).default; } }); +var summary_formatter_1 = require("./formatter/summary_formatter"); +Object.defineProperty(exports, "SummaryFormatter", { enumerable: true, get: function () { return __importDefault(summary_formatter_1).default; } }); +var usage_formatter_1 = require("./formatter/usage_formatter"); +Object.defineProperty(exports, "UsageFormatter", { enumerable: true, get: function () { return __importDefault(usage_formatter_1).default; } }); +var usage_json_formatter_1 = require("./formatter/usage_json_formatter"); +Object.defineProperty(exports, "UsageJsonFormatter", { enumerable: true, get: function () { return __importDefault(usage_json_formatter_1).default; } }); +// Support Code Functions +const { methods } = support_code_library_builder_1.default; +exports.After = methods.After; +exports.AfterAll = methods.AfterAll; +exports.AfterStep = methods.AfterStep; +exports.Before = methods.Before; +exports.BeforeAll = methods.BeforeAll; +exports.BeforeStep = methods.BeforeStep; +exports.defineParameterType = methods.defineParameterType; +exports.defineStep = methods.defineStep; +exports.Given = methods.Given; +exports.setDefaultTimeout = methods.setDefaultTimeout; +exports.setDefinitionFunctionWrapper = methods.setDefinitionFunctionWrapper; +exports.setWorldConstructor = methods.setWorldConstructor; +exports.Then = methods.Then; +exports.When = methods.When; +var world_1 = require("./support_code_library_builder/world"); +Object.defineProperty(exports, "World", { enumerable: true, get: function () { return __importDefault(world_1).default; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/index.js.map b/node_modules/@cucumber/cucumber/lib/index.js.map new file mode 100644 index 0000000..0460359 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAuD;AAsB9C,4CAAgB;AArBzB,kGAAsE;AAEtE,YAAY;AACZ,6BAAsC;AAA7B,2GAAA,OAAO,OAAO;AACvB,yCAAyD;AAAhD,oHAAA,yBAAyB,OAAA;AAClC,iDAAyD;AAAhD,8HAAA,OAAO,OAAgB;AAChC,qCAA8C;AAArC,mHAAA,OAAO,OAAW;AAC3B,+EAAqF;AAA5E,0JAAA,OAAO,OAA6B;AAC7C,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,kDAA0D;AAAjD,wHAAA,OAAO,OAAa;AAE7B,aAAa;AACb,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,+CAAiE;AAAxD,4HAAA,OAAO,OAAoB;AACpC,6DAAqE;AAA5D,gIAAA,OAAO,OAAiB;AACjC,qEAA6E;AAApE,wIAAA,OAAO,OAAqB;AACrC,+DAAuE;AAA9D,kIAAA,OAAO,OAAkB;AAClC,qEAA6E;AAApE,wIAAA,OAAO,OAAqB;AACrC,mEAA2E;AAAlE,sIAAA,OAAO,OAAoB;AACpC,+DAAuE;AAA9D,kIAAA,OAAO,OAAkB;AAClC,yEAAgF;AAAvE,2IAAA,OAAO,OAAsB;AAGtC,yBAAyB;AACzB,MAAM,EAAE,OAAO,EAAE,GAAG,sCAAyB,CAAA;AAChC,QAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;AACrB,QAAA,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;AAC3B,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AAC7B,QAAA,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;AACvB,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AAC7B,QAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;AAC/B,QAAA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;AACjD,QAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;AAC/B,QAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;AACrB,QAAA,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;AAC7C,QAAA,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAA;AACnE,QAAA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;AACjD,QAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AACnB,QAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AAChC,8DAG6C;AAF3C,+GAAA,OAAO,OAAS","sourcesContent":["import * as formatterHelpers from './formatter/helpers'\nimport supportCodeLibraryBuilder from './support_code_library_builder'\n\n// Top level\nexport { default as Cli } from './cli'\nexport { parseGherkinMessageStream } from './cli/helpers'\nexport { default as PickleFilter } from './pickle_filter'\nexport { default as Runtime } from './runtime'\nexport { default as supportCodeLibraryBuilder } from './support_code_library_builder'\nexport { default as Status } from './status'\nexport { default as DataTable } from './models/data_table'\n\n// Formatters\nexport { default as Formatter } from './formatter'\nexport { default as FormatterBuilder } from './formatter/builder'\nexport { default as JsonFormatter } from './formatter/json_formatter'\nexport { default as ProgressFormatter } from './formatter/progress_formatter'\nexport { default as RerunFormatter } from './formatter/rerun_formatter'\nexport { default as SnippetsFormatter } from './formatter/snippets_formatter'\nexport { default as SummaryFormatter } from './formatter/summary_formatter'\nexport { default as UsageFormatter } from './formatter/usage_formatter'\nexport { default as UsageJsonFormatter } from './formatter/usage_json_formatter'\nexport { formatterHelpers }\n\n// Support Code Functions\nconst { methods } = supportCodeLibraryBuilder\nexport const After = methods.After\nexport const AfterAll = methods.AfterAll\nexport const AfterStep = methods.AfterStep\nexport const Before = methods.Before\nexport const BeforeAll = methods.BeforeAll\nexport const BeforeStep = methods.BeforeStep\nexport const defineParameterType = methods.defineParameterType\nexport const defineStep = methods.defineStep\nexport const Given = methods.Given\nexport const setDefaultTimeout = methods.setDefaultTimeout\nexport const setDefinitionFunctionWrapper = methods.setDefinitionFunctionWrapper\nexport const setWorldConstructor = methods.setWorldConstructor\nexport const Then = methods.Then\nexport const When = methods.When\nexport {\n default as World,\n IWorldOptions,\n} from './support_code_library_builder/world'\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/data_table.d.ts b/node_modules/@cucumber/cucumber/lib/models/data_table.d.ts new file mode 100644 index 0000000..78ba2f3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/data_table.d.ts @@ -0,0 +1,11 @@ +import { Dictionary } from 'lodash'; +import { messages } from '@cucumber/messages'; +export default class DataTable { + private readonly rawTable; + constructor(sourceTable: messages.PickleStepArgument.IPickleTable | string[][]); + hashes(): any[]; + raw(): string[][]; + rows(): string[][]; + rowsHash(): Dictionary; + transpose(): DataTable; +} diff --git a/node_modules/@cucumber/cucumber/lib/models/data_table.js b/node_modules/@cucumber/cucumber/lib/models/data_table.js new file mode 100644 index 0000000..767524d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/data_table.js @@ -0,0 +1,44 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +class DataTable { + constructor(sourceTable) { + if (sourceTable instanceof Array) { + this.rawTable = sourceTable; + } + else { + this.rawTable = sourceTable.rows.map((row) => row.cells.map((cell) => cell.value)); + } + } + hashes() { + const copy = this.raw(); + const keys = copy[0]; + const valuesArray = copy.slice(1); + return valuesArray.map((values) => lodash_1.default.zipObject(keys, values)); + } + raw() { + return this.rawTable.slice(0); + } + rows() { + const copy = this.raw(); + copy.shift(); + return copy; + } + rowsHash() { + const rows = this.raw(); + const everyRowHasTwoColumns = lodash_1.default.every(rows, (row) => row.length === 2); + if (!everyRowHasTwoColumns) { + throw new Error('rowsHash can only be called on a data table where all rows have exactly two columns'); + } + return lodash_1.default.fromPairs(rows); + } + transpose() { + const transposed = this.rawTable[0].map((x, i) => this.rawTable.map((y) => y[i])); + return new DataTable(transposed); + } +} +exports.default = DataTable; +//# sourceMappingURL=data_table.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/data_table.js.map b/node_modules/@cucumber/cucumber/lib/models/data_table.js.map new file mode 100644 index 0000000..62a8168 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/data_table.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data_table.js","sourceRoot":"","sources":["../../src/models/data_table.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsC;AAGtC,MAAqB,SAAS;IAG5B,YACE,WAAkE;QAElE,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAA;SAC5B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,CAAA;SACF;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,qBAAqB,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;SACF;QACD,OAAO,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,SAAS;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;QACD,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC;CACF;AAjDD,4BAiDC","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { messages } from '@cucumber/messages'\n\nexport default class DataTable {\n private readonly rawTable: string[][]\n\n constructor(\n sourceTable: messages.PickleStepArgument.IPickleTable | string[][]\n ) {\n if (sourceTable instanceof Array) {\n this.rawTable = sourceTable\n } else {\n this.rawTable = sourceTable.rows.map((row) =>\n row.cells.map((cell) => cell.value)\n )\n }\n }\n\n hashes(): any[] {\n const copy = this.raw()\n const keys = copy[0]\n const valuesArray = copy.slice(1)\n return valuesArray.map((values) => _.zipObject(keys, values))\n }\n\n raw(): string[][] {\n return this.rawTable.slice(0)\n }\n\n rows(): string[][] {\n const copy = this.raw()\n copy.shift()\n return copy\n }\n\n rowsHash(): Dictionary {\n const rows = this.raw()\n const everyRowHasTwoColumns = _.every(rows, (row) => row.length === 2)\n if (!everyRowHasTwoColumns) {\n throw new Error(\n 'rowsHash can only be called on a data table where all rows have exactly two columns'\n )\n }\n return _.fromPairs(rows)\n }\n\n transpose(): DataTable {\n const transposed = this.rawTable[0].map((x, i) =>\n this.rawTable.map((y) => y[i])\n )\n return new DataTable(transposed)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/definition.d.ts b/node_modules/@cucumber/cucumber/lib/models/definition.d.ts new file mode 100644 index 0000000..c353abe --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/definition.d.ts @@ -0,0 +1,52 @@ +import { messages } from '@cucumber/messages'; +import { ITestCaseHookParameter } from '../support_code_library_builder/types'; +import { Expression } from '@cucumber/cucumber-expressions'; +export interface IGetInvocationDataRequest { + hookParameter: ITestCaseHookParameter; + step: messages.Pickle.IPickleStep; + world: any; +} +export interface IGetInvocationDataResponse { + getInvalidCodeLengthMessage: () => string; + parameters: any[]; + validCodeLengths: number[]; +} +export interface IDefinitionOptions { + timeout?: number; + wrapperOptions?: any; +} +export interface IHookDefinitionOptions extends IDefinitionOptions { + tags?: string; +} +export interface IDefinitionParameters { + code: Function; + id: string; + line: number; + options: T; + unwrappedCode?: Function; + uri: string; +} +export interface IStepDefinitionParameters extends IDefinitionParameters { + pattern: string | RegExp; + expression: Expression; +} +export interface IDefinition { + readonly code: Function; + readonly id: string; + readonly line: number; + readonly options: IDefinitionOptions; + readonly unwrappedCode: Function; + readonly uri: string; + getInvocationParameters: (options: IGetInvocationDataRequest) => Promise; +} +export default abstract class Definition { + readonly code: Function; + readonly id: string; + readonly line: number; + readonly options: IDefinitionOptions; + readonly unwrappedCode: Function; + readonly uri: string; + constructor({ code, id, line, options, unwrappedCode, uri, }: IDefinitionParameters); + buildInvalidCodeLengthMessage(syncOrPromiseLength: number | string, callbackLength: number | string): string; + baseGetInvalidCodeLengthMessage(parameters: any[]): string; +} diff --git a/node_modules/@cucumber/cucumber/lib/models/definition.js b/node_modules/@cucumber/cucumber/lib/models/definition.js new file mode 100644 index 0000000..4005ec4 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/definition.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Definition { + constructor({ code, id, line, options, unwrappedCode, uri, }) { + this.code = code; + this.id = id; + this.line = line; + this.options = options; + this.unwrappedCode = unwrappedCode; + this.uri = uri; + } + buildInvalidCodeLengthMessage(syncOrPromiseLength, callbackLength) { + return (`function has ${this.code.length.toString()} arguments` + + `, should have ${syncOrPromiseLength.toString()} (if synchronous or returning a promise)` + + ` or ${callbackLength.toString()} (if accepting a callback)`); + } + baseGetInvalidCodeLengthMessage(parameters) { + return this.buildInvalidCodeLengthMessage(parameters.length, parameters.length + 1); + } +} +exports.default = Definition; +//# sourceMappingURL=definition.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/definition.js.map b/node_modules/@cucumber/cucumber/lib/models/definition.js.map new file mode 100644 index 0000000..38a3968 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/definition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/models/definition.ts"],"names":[],"mappings":";;AAqDA,MAA8B,UAAU;IAQtC,YAAY,EACV,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,OAAO,EACP,aAAa,EACb,GAAG,GACuC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,6BAA6B,CAC3B,mBAAoC,EACpC,cAA+B;QAE/B,OAAO,CACL,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY;YACvD,iBAAiB,mBAAmB,CAAC,QAAQ,EAAE,0CAA0C;YACzF,OAAO,cAAc,CAAC,QAAQ,EAAE,4BAA4B,CAC7D,CAAA;IACH,CAAC;IAED,+BAA+B,CAAC,UAAiB;QAC/C,OAAO,IAAI,CAAC,6BAA6B,CACvC,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,MAAM,GAAG,CAAC,CACtB,CAAA;IACH,CAAC;CACF;AAzCD,6BAyCC","sourcesContent":["import { messages } from '@cucumber/messages'\nimport { ITestCaseHookParameter } from '../support_code_library_builder/types'\nimport { Expression } from '@cucumber/cucumber-expressions'\n\nexport interface IGetInvocationDataRequest {\n hookParameter: ITestCaseHookParameter\n step: messages.Pickle.IPickleStep\n world: any\n}\n\nexport interface IGetInvocationDataResponse {\n getInvalidCodeLengthMessage: () => string\n parameters: any[]\n validCodeLengths: number[]\n}\n\nexport interface IDefinitionOptions {\n timeout?: number\n wrapperOptions?: any\n}\n\nexport interface IHookDefinitionOptions extends IDefinitionOptions {\n tags?: string\n}\n\nexport interface IDefinitionParameters {\n code: Function\n id: string\n line: number\n options: T\n unwrappedCode?: Function\n uri: string\n}\n\nexport interface IStepDefinitionParameters\n extends IDefinitionParameters {\n pattern: string | RegExp\n expression: Expression\n}\n\nexport interface IDefinition {\n readonly code: Function\n readonly id: string\n readonly line: number\n readonly options: IDefinitionOptions\n readonly unwrappedCode: Function\n readonly uri: string\n\n getInvocationParameters: (\n options: IGetInvocationDataRequest\n ) => Promise\n}\n\nexport default abstract class Definition {\n public readonly code: Function\n public readonly id: string\n public readonly line: number\n public readonly options: IDefinitionOptions\n public readonly unwrappedCode: Function\n public readonly uri: string\n\n constructor({\n code,\n id,\n line,\n options,\n unwrappedCode,\n uri,\n }: IDefinitionParameters) {\n this.code = code\n this.id = id\n this.line = line\n this.options = options\n this.unwrappedCode = unwrappedCode\n this.uri = uri\n }\n\n buildInvalidCodeLengthMessage(\n syncOrPromiseLength: number | string,\n callbackLength: number | string\n ): string {\n return (\n `function has ${this.code.length.toString()} arguments` +\n `, should have ${syncOrPromiseLength.toString()} (if synchronous or returning a promise)` +\n ` or ${callbackLength.toString()} (if accepting a callback)`\n )\n }\n\n baseGetInvalidCodeLengthMessage(parameters: any[]): string {\n return this.buildInvalidCodeLengthMessage(\n parameters.length,\n parameters.length + 1\n )\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/step_definition.d.ts b/node_modules/@cucumber/cucumber/lib/models/step_definition.d.ts new file mode 100644 index 0000000..eb7c855 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/step_definition.d.ts @@ -0,0 +1,9 @@ +import Definition, { IDefinition, IGetInvocationDataRequest, IGetInvocationDataResponse, IStepDefinitionParameters } from './definition'; +import { Expression } from '@cucumber/cucumber-expressions'; +export default class StepDefinition extends Definition implements IDefinition { + readonly pattern: string | RegExp; + readonly expression: Expression; + constructor(data: IStepDefinitionParameters); + getInvocationParameters({ step, world, }: IGetInvocationDataRequest): Promise; + matchesStepName(stepName: string): boolean; +} diff --git a/node_modules/@cucumber/cucumber/lib/models/step_definition.js b/node_modules/@cucumber/cucumber/lib/models/step_definition.js new file mode 100644 index 0000000..77c5d36 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/step_definition.js @@ -0,0 +1,37 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const data_table_1 = __importDefault(require("./data_table")); +const definition_1 = __importDefault(require("./definition")); +const step_arguments_1 = require("../step_arguments"); +const bluebird_1 = __importDefault(require("bluebird")); +const value_checker_1 = require("../value_checker"); +class StepDefinition extends definition_1.default { + constructor(data) { + super(data); + this.pattern = data.pattern; + this.expression = data.expression; + } + async getInvocationParameters({ step, world, }) { + const parameters = await bluebird_1.default.all(this.expression.match(step.text).map((arg) => arg.getValue(world))); + if (value_checker_1.doesHaveValue(step.argument)) { + const argumentParamater = step_arguments_1.parseStepArgument(step.argument, { + dataTable: (arg) => new data_table_1.default(arg), + docString: (arg) => arg.content, + }); + parameters.push(argumentParamater); + } + return { + getInvalidCodeLengthMessage: () => this.baseGetInvalidCodeLengthMessage(parameters), + parameters, + validCodeLengths: [parameters.length, parameters.length + 1], + }; + } + matchesStepName(stepName) { + return value_checker_1.doesHaveValue(this.expression.match(stepName)); + } +} +exports.default = StepDefinition; +//# sourceMappingURL=step_definition.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/step_definition.js.map b/node_modules/@cucumber/cucumber/lib/models/step_definition.js.map new file mode 100644 index 0000000..b042001 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/step_definition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"step_definition.js","sourceRoot":"","sources":["../../src/models/step_definition.ts"],"names":[],"mappings":";;;;;AAAA,8DAAoC;AACpC,8DAKqB;AACrB,sDAAqD;AAErD,wDAA+B;AAC/B,oDAAgD;AAEhD,MAAqB,cAAe,SAAQ,oBAAU;IAIpD,YAAY,IAA+B;QACzC,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,IAAI,EACJ,KAAK,GACqB;QAC1B,MAAM,UAAU,GAAG,MAAM,kBAAQ,CAAC,GAAG,CACnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACnE,CAAA;QACD,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,iBAAiB,GAAG,kCAAiB,CAAM,IAAI,CAAC,QAAQ,EAAE;gBAC9D,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,oBAAS,CAAC,GAAG,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO;aAChC,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;SACnC;QACD,OAAO;YACL,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC;YAClD,UAAU;YACV,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;SAC7D,CAAA;IACH,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,OAAO,6BAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvD,CAAC;CACF;AAnCD,iCAmCC","sourcesContent":["import DataTable from './data_table'\nimport Definition, {\n IDefinition,\n IGetInvocationDataRequest,\n IGetInvocationDataResponse,\n IStepDefinitionParameters,\n} from './definition'\nimport { parseStepArgument } from '../step_arguments'\nimport { Expression } from '@cucumber/cucumber-expressions'\nimport bluebird from 'bluebird'\nimport { doesHaveValue } from '../value_checker'\n\nexport default class StepDefinition extends Definition implements IDefinition {\n public readonly pattern: string | RegExp\n public readonly expression: Expression\n\n constructor(data: IStepDefinitionParameters) {\n super(data)\n this.pattern = data.pattern\n this.expression = data.expression\n }\n\n async getInvocationParameters({\n step,\n world,\n }: IGetInvocationDataRequest): Promise {\n const parameters = await bluebird.all(\n this.expression.match(step.text).map((arg) => arg.getValue(world))\n )\n if (doesHaveValue(step.argument)) {\n const argumentParamater = parseStepArgument(step.argument, {\n dataTable: (arg) => new DataTable(arg),\n docString: (arg) => arg.content,\n })\n parameters.push(argumentParamater)\n }\n return {\n getInvalidCodeLengthMessage: () =>\n this.baseGetInvalidCodeLengthMessage(parameters),\n parameters,\n validCodeLengths: [parameters.length, parameters.length + 1],\n }\n }\n\n matchesStepName(stepName: string): boolean {\n return doesHaveValue(this.expression.match(stepName))\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.d.ts b/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.d.ts new file mode 100644 index 0000000..81cdf00 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.d.ts @@ -0,0 +1,9 @@ +import Definition, { IDefinition, IDefinitionParameters, IGetInvocationDataRequest, IGetInvocationDataResponse, IHookDefinitionOptions } from './definition'; +import { messages } from '@cucumber/messages'; +export default class TestCaseHookDefinition extends Definition implements IDefinition { + readonly tagExpression: string; + private readonly pickleTagFilter; + constructor(data: IDefinitionParameters); + appliesToTestCase(pickle: messages.IPickle): boolean; + getInvocationParameters({ hookParameter, }: IGetInvocationDataRequest): Promise; +} diff --git a/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.js b/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.js new file mode 100644 index 0000000..6064172 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.js @@ -0,0 +1,26 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const pickle_filter_1 = require("../pickle_filter"); +const definition_1 = __importDefault(require("./definition")); +class TestCaseHookDefinition extends definition_1.default { + constructor(data) { + super(data); + this.tagExpression = data.options.tags; + this.pickleTagFilter = new pickle_filter_1.PickleTagFilter(data.options.tags); + } + appliesToTestCase(pickle) { + return this.pickleTagFilter.matchesAllTagExpressions(pickle); + } + async getInvocationParameters({ hookParameter, }) { + return await Promise.resolve({ + getInvalidCodeLengthMessage: () => this.buildInvalidCodeLengthMessage('0 or 1', '2'), + parameters: [hookParameter], + validCodeLengths: [0, 1, 2], + }); + } +} +exports.default = TestCaseHookDefinition; +//# sourceMappingURL=test_case_hook_definition.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.js.map b/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.js.map new file mode 100644 index 0000000..71991fe --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_case_hook_definition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"test_case_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_case_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,8DAMqB;AAGrB,MAAqB,sBACnB,SAAQ,oBAAU;IAKlB,YAAY,IAAmD;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAC,MAAwB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,aAAa,GACa;QAC1B,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC;YAC3B,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC;YACnD,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AA1BD,yCA0BC","sourcesContent":["import { PickleTagFilter } from '../pickle_filter'\nimport Definition, {\n IDefinition,\n IDefinitionParameters,\n IGetInvocationDataRequest,\n IGetInvocationDataResponse,\n IHookDefinitionOptions,\n} from './definition'\nimport { messages } from '@cucumber/messages'\n\nexport default class TestCaseHookDefinition\n extends Definition\n implements IDefinition {\n public readonly tagExpression: string\n private readonly pickleTagFilter: PickleTagFilter\n\n constructor(data: IDefinitionParameters) {\n super(data)\n this.tagExpression = data.options.tags\n this.pickleTagFilter = new PickleTagFilter(data.options.tags)\n }\n\n appliesToTestCase(pickle: messages.IPickle): boolean {\n return this.pickleTagFilter.matchesAllTagExpressions(pickle)\n }\n\n async getInvocationParameters({\n hookParameter,\n }: IGetInvocationDataRequest): Promise {\n return await Promise.resolve({\n getInvalidCodeLengthMessage: () =>\n this.buildInvalidCodeLengthMessage('0 or 1', '2'),\n parameters: [hookParameter],\n validCodeLengths: [0, 1, 2],\n })\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.d.ts b/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.d.ts new file mode 100644 index 0000000..da2c337 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.d.ts @@ -0,0 +1,3 @@ +import Definition from './definition'; +export default class TestRunHookDefinition extends Definition { +} diff --git a/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.js b/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.js new file mode 100644 index 0000000..2263e8b --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.js @@ -0,0 +1,10 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const definition_1 = __importDefault(require("./definition")); +class TestRunHookDefinition extends definition_1.default { +} +exports.default = TestRunHookDefinition; +//# sourceMappingURL=test_run_hook_definition.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.js.map b/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.js.map new file mode 100644 index 0000000..94bb6f6 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_run_hook_definition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"test_run_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_run_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAqB,qBAAsB,SAAQ,oBAAU;CAAG;AAAhE,wCAAgE","sourcesContent":["import Definition from './definition'\n\nexport default class TestRunHookDefinition extends Definition {}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.d.ts b/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.d.ts new file mode 100644 index 0000000..b23e726 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.d.ts @@ -0,0 +1,9 @@ +import Definition, { IDefinition, IGetInvocationDataResponse, IGetInvocationDataRequest, IDefinitionParameters, IHookDefinitionOptions } from './definition'; +import { messages } from '@cucumber/messages'; +export default class TestStepHookDefinition extends Definition implements IDefinition { + readonly tagExpression: string; + private readonly pickleTagFilter; + constructor(data: IDefinitionParameters); + appliesToTestCase(pickle: messages.IPickle): boolean; + getInvocationParameters({ hookParameter, }: IGetInvocationDataRequest): Promise; +} diff --git a/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.js b/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.js new file mode 100644 index 0000000..3f9db26 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.js @@ -0,0 +1,26 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const pickle_filter_1 = require("../pickle_filter"); +const definition_1 = __importDefault(require("./definition")); +class TestStepHookDefinition extends definition_1.default { + constructor(data) { + super(data); + this.tagExpression = data.options.tags; + this.pickleTagFilter = new pickle_filter_1.PickleTagFilter(data.options.tags); + } + appliesToTestCase(pickle) { + return this.pickleTagFilter.matchesAllTagExpressions(pickle); + } + async getInvocationParameters({ hookParameter, }) { + return await Promise.resolve({ + getInvalidCodeLengthMessage: () => this.buildInvalidCodeLengthMessage('0 or 1', '2'), + parameters: [hookParameter], + validCodeLengths: [0, 1, 2], + }); + } +} +exports.default = TestStepHookDefinition; +//# sourceMappingURL=test_step_hook_definition.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.js.map b/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.js.map new file mode 100644 index 0000000..d747986 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/models/test_step_hook_definition.js.map @@ -0,0 +1 @@ +{"version":3,"file":"test_step_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_step_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,8DAMqB;AAGrB,MAAqB,sBACnB,SAAQ,oBAAU;IAKlB,YAAY,IAAmD;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAC,MAAwB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,aAAa,GACa;QAC1B,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC;YAC3B,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC;YACnD,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AA1BD,yCA0BC","sourcesContent":["import { PickleTagFilter } from '../pickle_filter'\nimport Definition, {\n IDefinition,\n IGetInvocationDataResponse,\n IGetInvocationDataRequest,\n IDefinitionParameters,\n IHookDefinitionOptions,\n} from './definition'\nimport { messages } from '@cucumber/messages'\n\nexport default class TestStepHookDefinition\n extends Definition\n implements IDefinition {\n public readonly tagExpression: string\n private readonly pickleTagFilter: PickleTagFilter\n\n constructor(data: IDefinitionParameters) {\n super(data)\n this.tagExpression = data.options.tags\n this.pickleTagFilter = new PickleTagFilter(data.options.tags)\n }\n\n appliesToTestCase(pickle: messages.IPickle): boolean {\n return this.pickleTagFilter.matchesAllTagExpressions(pickle)\n }\n\n async getInvocationParameters({\n hookParameter,\n }: IGetInvocationDataRequest): Promise {\n return await Promise.resolve({\n getInvalidCodeLengthMessage: () =>\n this.buildInvalidCodeLengthMessage('0 or 1', '2'),\n parameters: [hookParameter],\n validCodeLengths: [0, 1, 2],\n })\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/pickle_filter.d.ts b/node_modules/@cucumber/cucumber/lib/pickle_filter.d.ts new file mode 100644 index 0000000..8ac3fe8 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/pickle_filter.d.ts @@ -0,0 +1,43 @@ +import { Dictionary } from 'lodash'; +import { messages } from '@cucumber/messages'; +import IGherkinDocument = messages.IGherkinDocument; +import IPickle = messages.IPickle; +export interface IPickleFilterOptions { + cwd: string; + featurePaths?: string[]; + names?: string[]; + tagExpression?: string; +} +export interface IMatchesAnyLineRequest { + gherkinDocument: messages.IGherkinDocument; + pickle: messages.IPickle; +} +export default class PickleFilter { + private readonly lineFilter; + private readonly nameFilter; + private readonly tagFilter; + constructor({ cwd, featurePaths, names, tagExpression, }: IPickleFilterOptions); + matches({ gherkinDocument, pickle, }: { + gherkinDocument: IGherkinDocument; + pickle: IPickle; + }): boolean; +} +export declare class PickleLineFilter { + private readonly featureUriToLinesMapping; + constructor(cwd: string, featurePaths?: string[]); + getFeatureUriToLinesMapping({ cwd, featurePaths, }: { + cwd: string; + featurePaths: string[]; + }): Dictionary; + matchesAnyLine({ gherkinDocument, pickle }: IMatchesAnyLineRequest): boolean; +} +export declare class PickleNameFilter { + private readonly names; + constructor(names?: string[]); + matchesAnyName(pickle: messages.IPickle): boolean; +} +export declare class PickleTagFilter { + private readonly tagExpressionNode; + constructor(tagExpression: string); + matchesAllTagExpressions(pickle: messages.IPickle): boolean; +} diff --git a/node_modules/@cucumber/cucumber/lib/pickle_filter.js b/node_modules/@cucumber/cucumber/lib/pickle_filter.js new file mode 100644 index 0000000..6f7b049 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/pickle_filter.js @@ -0,0 +1,92 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PickleTagFilter = exports.PickleNameFilter = exports.PickleLineFilter = void 0; +const lodash_1 = __importDefault(require("lodash")); +const path_1 = __importDefault(require("path")); +const tag_expressions_1 = __importDefault(require("@cucumber/tag-expressions")); +const gherkin_document_parser_1 = require("./formatter/helpers/gherkin_document_parser"); +const value_checker_1 = require("./value_checker"); +const FEATURE_LINENUM_REGEXP = /^(.*?)((?::[\d]+)+)?$/; +class PickleFilter { + constructor({ cwd, featurePaths, names, tagExpression, }) { + this.lineFilter = new PickleLineFilter(cwd, featurePaths); + this.nameFilter = new PickleNameFilter(names); + this.tagFilter = new PickleTagFilter(tagExpression); + } + matches({ gherkinDocument, pickle, }) { + return (this.lineFilter.matchesAnyLine({ gherkinDocument, pickle }) && + this.nameFilter.matchesAnyName(pickle) && + this.tagFilter.matchesAllTagExpressions(pickle)); + } +} +exports.default = PickleFilter; +class PickleLineFilter { + constructor(cwd, featurePaths = []) { + this.featureUriToLinesMapping = this.getFeatureUriToLinesMapping({ + cwd, + featurePaths, + }); + } + getFeatureUriToLinesMapping({ cwd, featurePaths, }) { + const mapping = {}; + featurePaths.forEach((featurePath) => { + const match = FEATURE_LINENUM_REGEXP.exec(featurePath); + if (value_checker_1.doesHaveValue(match)) { + const uri = path_1.default.resolve(cwd, match[1]); + const linesExpression = match[2]; + if (value_checker_1.doesHaveValue(linesExpression)) { + if (value_checker_1.doesNotHaveValue(mapping[uri])) { + mapping[uri] = []; + } + linesExpression + .slice(1) + .split(':') + .forEach((line) => { + mapping[uri].push(parseInt(line)); + }); + } + } + }); + return mapping; + } + matchesAnyLine({ gherkinDocument, pickle }) { + const linesToMatch = this.featureUriToLinesMapping[pickle.uri]; + if (value_checker_1.doesHaveValue(linesToMatch)) { + const gherkinScenarioLocationMap = gherkin_document_parser_1.getGherkinScenarioLocationMap(gherkinDocument); + const pickleLines = pickle.astNodeIds.map((sourceId) => gherkinScenarioLocationMap[sourceId].line); + return lodash_1.default.size(lodash_1.default.intersection(linesToMatch, pickleLines)) > 0; + } + return true; + } +} +exports.PickleLineFilter = PickleLineFilter; +class PickleNameFilter { + constructor(names = []) { + this.names = names; + } + matchesAnyName(pickle) { + if (this.names.length === 0) { + return true; + } + return lodash_1.default.some(this.names, (name) => pickle.name.match(name)); + } +} +exports.PickleNameFilter = PickleNameFilter; +class PickleTagFilter { + constructor(tagExpression) { + if (value_checker_1.doesHaveValue(tagExpression) && tagExpression !== '') { + this.tagExpressionNode = tag_expressions_1.default(tagExpression); + } + } + matchesAllTagExpressions(pickle) { + if (value_checker_1.doesNotHaveValue(this.tagExpressionNode)) { + return true; + } + return this.tagExpressionNode.evaluate(lodash_1.default.map(pickle.tags, 'name')); + } +} +exports.PickleTagFilter = PickleTagFilter; +//# sourceMappingURL=pickle_filter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/pickle_filter.js.map b/node_modules/@cucumber/cucumber/lib/pickle_filter.js.map new file mode 100644 index 0000000..a83c42a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/pickle_filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pickle_filter.js","sourceRoot":"","sources":["../src/pickle_filter.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport path from 'path'\nimport parse from '@cucumber/tag-expressions'\nimport { getGherkinScenarioLocationMap } from './formatter/helpers/gherkin_document_parser'\nimport { doesHaveValue, doesNotHaveValue } from './value_checker'\nimport { messages } from '@cucumber/messages'\nimport IGherkinDocument = messages.IGherkinDocument\nimport IPickle = messages.IPickle\n\nconst FEATURE_LINENUM_REGEXP = /^(.*?)((?::[\\d]+)+)?$/\n\nexport interface IPickleFilterOptions {\n cwd: string\n featurePaths?: string[]\n names?: string[]\n tagExpression?: string\n}\n\nexport interface IMatchesAnyLineRequest {\n gherkinDocument: messages.IGherkinDocument\n pickle: messages.IPickle\n}\n\nexport default class PickleFilter {\n private readonly lineFilter: PickleLineFilter\n private readonly nameFilter: PickleNameFilter\n private readonly tagFilter: PickleTagFilter\n\n constructor({\n cwd,\n featurePaths,\n names,\n tagExpression,\n }: IPickleFilterOptions) {\n this.lineFilter = new PickleLineFilter(cwd, featurePaths)\n this.nameFilter = new PickleNameFilter(names)\n this.tagFilter = new PickleTagFilter(tagExpression)\n }\n\n matches({\n gherkinDocument,\n pickle,\n }: {\n gherkinDocument: IGherkinDocument\n pickle: IPickle\n }): boolean {\n return (\n this.lineFilter.matchesAnyLine({ gherkinDocument, pickle }) &&\n this.nameFilter.matchesAnyName(pickle) &&\n this.tagFilter.matchesAllTagExpressions(pickle)\n )\n }\n}\n\nexport class PickleLineFilter {\n private readonly featureUriToLinesMapping: Dictionary\n\n constructor(cwd: string, featurePaths: string[] = []) {\n this.featureUriToLinesMapping = this.getFeatureUriToLinesMapping({\n cwd,\n featurePaths,\n })\n }\n\n getFeatureUriToLinesMapping({\n cwd,\n featurePaths,\n }: {\n cwd: string\n featurePaths: string[]\n }): Dictionary {\n const mapping: Dictionary = {}\n featurePaths.forEach((featurePath) => {\n const match = FEATURE_LINENUM_REGEXP.exec(featurePath)\n if (doesHaveValue(match)) {\n const uri = path.resolve(cwd, match[1])\n const linesExpression = match[2]\n if (doesHaveValue(linesExpression)) {\n if (doesNotHaveValue(mapping[uri])) {\n mapping[uri] = []\n }\n linesExpression\n .slice(1)\n .split(':')\n .forEach((line) => {\n mapping[uri].push(parseInt(line))\n })\n }\n }\n })\n return mapping\n }\n\n matchesAnyLine({ gherkinDocument, pickle }: IMatchesAnyLineRequest): boolean {\n const linesToMatch = this.featureUriToLinesMapping[pickle.uri]\n if (doesHaveValue(linesToMatch)) {\n const gherkinScenarioLocationMap = getGherkinScenarioLocationMap(\n gherkinDocument\n )\n const pickleLines = pickle.astNodeIds.map(\n (sourceId) => gherkinScenarioLocationMap[sourceId].line\n )\n return _.size(_.intersection(linesToMatch, pickleLines)) > 0\n }\n return true\n }\n}\n\nexport class PickleNameFilter {\n private readonly names: string[]\n\n constructor(names: string[] = []) {\n this.names = names\n }\n\n matchesAnyName(pickle: messages.IPickle): boolean {\n if (this.names.length === 0) {\n return true\n }\n return _.some(this.names, (name) => pickle.name.match(name))\n }\n}\n\nexport class PickleTagFilter {\n private readonly tagExpressionNode: any // cucumber-tag-expressions does not export interface\n\n constructor(tagExpression: string) {\n if (doesHaveValue(tagExpression) && tagExpression !== '') {\n this.tagExpressionNode = parse(tagExpression)\n }\n }\n\n matchesAllTagExpressions(pickle: messages.IPickle): boolean {\n if (doesNotHaveValue(this.tagExpressionNode)) {\n return true\n }\n return this.tagExpressionNode.evaluate(_.map(pickle.tags, 'name'))\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.d.ts new file mode 100644 index 0000000..b14692f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.d.ts @@ -0,0 +1,23 @@ +/// +import { Readable } from 'stream'; +import { messages } from '@cucumber/messages'; +export interface IAttachmentMedia { + encoding: messages.Attachment.ContentEncoding; + contentType: string; +} +export interface IAttachment { + data: string; + media: IAttachmentMedia; +} +export declare type IAttachFunction = (attachment: IAttachment) => void; +export declare type ICreateAttachment = (data: Buffer | Readable | string, mediaType?: string, callback?: () => void) => void | Promise; +export declare type ICreateLog = (text: string) => void | Promise; +export default class AttachmentManager { + private readonly onAttachment; + constructor(onAttachment: IAttachFunction); + log(text: string): void | Promise; + create(data: Buffer | Readable | string, mediaType?: string, callback?: () => void): void | Promise; + createBufferAttachment(data: Buffer, mediaType: string): void; + createStreamAttachment(data: Readable, mediaType: string, callback: () => void): void | Promise; + createStringAttachment(data: string, media: IAttachmentMedia): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.js b/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.js new file mode 100644 index 0000000..d182338 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.js @@ -0,0 +1,80 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const is_stream_1 = __importDefault(require("is-stream")); +const messages_1 = require("@cucumber/messages"); +const value_checker_1 = require("../../value_checker"); +class AttachmentManager { + constructor(onAttachment) { + this.onAttachment = onAttachment; + } + log(text) { + return this.create(text, 'text/x.cucumber.log+plain'); + } + create(data, mediaType, callback) { + if (Buffer.isBuffer(data)) { + if (value_checker_1.doesNotHaveValue(mediaType)) { + throw Error('Buffer attachments must specify a media type'); + } + this.createBufferAttachment(data, mediaType); + } + else if (is_stream_1.default.readable(data)) { + if (value_checker_1.doesNotHaveValue(mediaType)) { + throw Error('Stream attachments must specify a media type'); + } + return this.createStreamAttachment(data, mediaType, callback); + } + else if (typeof data === 'string') { + if (value_checker_1.doesNotHaveValue(mediaType)) { + mediaType = 'text/plain'; + } + if (mediaType.startsWith('base64:')) { + this.createStringAttachment(data, { + encoding: messages_1.messages.Attachment.ContentEncoding.BASE64, + contentType: mediaType.replace('base64:', ''), + }); + } + else { + this.createStringAttachment(data, { + encoding: messages_1.messages.Attachment.ContentEncoding.IDENTITY, + contentType: mediaType, + }); + } + } + else { + throw Error('Invalid attachment data: must be a buffer, readable stream, or string'); + } + } + createBufferAttachment(data, mediaType) { + this.createStringAttachment(data.toString('base64'), { + encoding: messages_1.messages.Attachment.ContentEncoding.BASE64, + contentType: mediaType, + }); + } + createStreamAttachment(data, mediaType, callback) { + const promise = new Promise((resolve, reject) => { + const buffers = []; + data.on('data', (chunk) => { + buffers.push(chunk); + }); + data.on('end', () => { + this.createBufferAttachment(Buffer.concat(buffers), mediaType); + resolve(); + }); + data.on('error', reject); + }); + if (value_checker_1.doesHaveValue(callback)) { + promise.then(callback, callback); + } + else { + return promise; + } + } + createStringAttachment(data, media) { + this.onAttachment({ data, media }); + } +} +exports.default = AttachmentManager; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.js.map b/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.js.map new file mode 100644 index 0000000..caf1b18 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/attachment_manager/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/attachment_manager/index.ts"],"names":[],"mappings":"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","sourcesContent":["import isStream from 'is-stream'\nimport { Readable } from 'stream'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue, doesNotHaveValue } from '../../value_checker'\n\nexport interface IAttachmentMedia {\n encoding: messages.Attachment.ContentEncoding\n contentType: string\n}\n\nexport interface IAttachment {\n data: string\n media: IAttachmentMedia\n}\n\nexport type IAttachFunction = (attachment: IAttachment) => void\nexport type ICreateAttachment = (\n data: Buffer | Readable | string,\n mediaType?: string,\n callback?: () => void\n) => void | Promise\nexport type ICreateLog = (text: string) => void | Promise\n\nexport default class AttachmentManager {\n private readonly onAttachment: IAttachFunction\n\n constructor(onAttachment: IAttachFunction) {\n this.onAttachment = onAttachment\n }\n\n log(text: string): void | Promise {\n return this.create(text, 'text/x.cucumber.log+plain')\n }\n\n create(\n data: Buffer | Readable | string,\n mediaType?: string,\n callback?: () => void\n ): void | Promise {\n if (Buffer.isBuffer(data)) {\n if (doesNotHaveValue(mediaType)) {\n throw Error('Buffer attachments must specify a media type')\n }\n this.createBufferAttachment(data, mediaType)\n } else if (isStream.readable(data)) {\n if (doesNotHaveValue(mediaType)) {\n throw Error('Stream attachments must specify a media type')\n }\n return this.createStreamAttachment(data, mediaType, callback)\n } else if (typeof data === 'string') {\n if (doesNotHaveValue(mediaType)) {\n mediaType = 'text/plain'\n }\n if (mediaType.startsWith('base64:')) {\n this.createStringAttachment(data, {\n encoding: messages.Attachment.ContentEncoding.BASE64,\n contentType: mediaType.replace('base64:', ''),\n })\n } else {\n this.createStringAttachment(data, {\n encoding: messages.Attachment.ContentEncoding.IDENTITY,\n contentType: mediaType,\n })\n }\n } else {\n throw Error(\n 'Invalid attachment data: must be a buffer, readable stream, or string'\n )\n }\n }\n\n createBufferAttachment(data: Buffer, mediaType: string): void {\n this.createStringAttachment(data.toString('base64'), {\n encoding: messages.Attachment.ContentEncoding.BASE64,\n contentType: mediaType,\n })\n }\n\n createStreamAttachment(\n data: Readable,\n mediaType: string,\n callback: () => void\n ): void | Promise {\n const promise = new Promise((resolve, reject) => {\n const buffers: Uint8Array[] = []\n data.on('data', (chunk) => {\n buffers.push(chunk)\n })\n data.on('end', () => {\n this.createBufferAttachment(Buffer.concat(buffers), mediaType)\n resolve()\n })\n data.on('error', reject)\n })\n if (doesHaveValue(callback)) {\n promise.then(callback, callback)\n } else {\n return promise\n }\n }\n\n createStringAttachment(data: string, media: IAttachmentMedia): void {\n this.onAttachment({ data, media })\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/helpers.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/helpers.d.ts new file mode 100644 index 0000000..e46656c --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/helpers.d.ts @@ -0,0 +1,5 @@ +import StepDefinition from '../models/step_definition'; +import { messages } from '@cucumber/messages'; +import { IRuntimeOptions } from '.'; +export declare function getAmbiguousStepException(stepDefinitions: StepDefinition[]): string; +export declare function retriesForPickle(pickle: messages.IPickle, options: IRuntimeOptions): number; diff --git a/node_modules/@cucumber/cucumber/lib/runtime/helpers.js b/node_modules/@cucumber/cucumber/lib/runtime/helpers.js new file mode 100644 index 0000000..8c6b538 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/helpers.js @@ -0,0 +1,59 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.retriesForPickle = exports.getAmbiguousStepException = void 0; +const location_helpers_1 = require("../formatter/helpers/location_helpers"); +const cli_table3_1 = __importDefault(require("cli-table3")); +const indent_string_1 = __importDefault(require("indent-string")); +const pickle_filter_1 = require("../pickle_filter"); +function getAmbiguousStepException(stepDefinitions) { + const table = new cli_table3_1.default({ + chars: { + bottom: '', + 'bottom-left': '', + 'bottom-mid': '', + 'bottom-right': '', + left: '', + 'left-mid': '', + mid: '', + 'mid-mid': '', + middle: ' - ', + right: '', + 'right-mid': '', + top: '', + 'top-left': '', + 'top-mid': '', + 'top-right': '', + }, + style: { + border: [], + 'padding-left': 0, + 'padding-right': 0, + }, + }); + table.push(...stepDefinitions.map((stepDefinition) => { + const pattern = stepDefinition.pattern.toString(); + return [pattern, location_helpers_1.formatLocation(stepDefinition)]; + })); + return `${'Multiple step definitions match:' + '\n'}${indent_string_1.default(table.toString(), 2)}`; +} +exports.getAmbiguousStepException = getAmbiguousStepException; +function retriesForPickle(pickle, options) { + const retries = options.retry; + if (retries === 0) { + return 0; + } + const retryTagFilter = options.retryTagFilter; + if (retryTagFilter === '') { + return retries; + } + const pickleTagFilter = new pickle_filter_1.PickleTagFilter(retryTagFilter); + if (pickleTagFilter.matchesAllTagExpressions(pickle)) { + return retries; + } + return 0; +} +exports.retriesForPickle = retriesForPickle; +//# sourceMappingURL=helpers.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/helpers.js.map b/node_modules/@cucumber/cucumber/lib/runtime/helpers.js.map new file mode 100644 index 0000000..c5cf68d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/runtime/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAsE;AACtE,4DAA8B;AAC9B,kEAAwC;AACxC,oDAAkD;AAKlD,SAAgB,yBAAyB,CACvC,eAAiC;IAEjC,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;YACP,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;SACnB;KACF,CAAC,CAAA;IACF,KAAK,CAAC,IAAI,CACR,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACjD,OAAO,CAAC,OAAO,EAAE,iCAAc,CAAC,cAAc,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CACH,CAAA;IACD,OAAO,GAAG,kCAAkC,GAAG,IAAI,GAAG,uBAAY,CAChE,KAAK,CAAC,QAAQ,EAAE,EAChB,CAAC,CACF,EAAE,CAAA;AACL,CAAC;AArCD,8DAqCC;AAED,SAAgB,gBAAgB,CAC9B,MAAwB,EACxB,OAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7B,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,OAAO,CAAC,CAAA;KACT;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;IAC7C,IAAI,cAAc,KAAK,EAAE,EAAE;QACzB,OAAO,OAAO,CAAA;KACf;IACD,MAAM,eAAe,GAAG,IAAI,+BAAe,CAAC,cAAc,CAAC,CAAA;IAC3D,IAAI,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;QACpD,OAAO,OAAO,CAAA;KACf;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAjBD,4CAiBC","sourcesContent":["import { formatLocation } from '../formatter/helpers/location_helpers'\nimport Table from 'cli-table3'\nimport indentString from 'indent-string'\nimport { PickleTagFilter } from '../pickle_filter'\nimport StepDefinition from '../models/step_definition'\nimport { messages } from '@cucumber/messages'\nimport { IRuntimeOptions } from '.'\n\nexport function getAmbiguousStepException(\n stepDefinitions: StepDefinition[]\n): string {\n const table = new Table({\n chars: {\n bottom: '',\n 'bottom-left': '',\n 'bottom-mid': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n middle: ' - ',\n right: '',\n 'right-mid': '',\n top: '',\n 'top-left': '',\n 'top-mid': '',\n 'top-right': '',\n },\n style: {\n border: [],\n 'padding-left': 0,\n 'padding-right': 0,\n },\n })\n table.push(\n ...stepDefinitions.map((stepDefinition) => {\n const pattern = stepDefinition.pattern.toString()\n return [pattern, formatLocation(stepDefinition)]\n })\n )\n return `${'Multiple step definitions match:' + '\\n'}${indentString(\n table.toString(),\n 2\n )}`\n}\n\nexport function retriesForPickle(\n pickle: messages.IPickle,\n options: IRuntimeOptions\n): number {\n const retries = options.retry\n if (retries === 0) {\n return 0\n }\n const retryTagFilter = options.retryTagFilter\n if (retryTagFilter === '') {\n return retries\n }\n const pickleTagFilter = new PickleTagFilter(retryTagFilter)\n if (pickleTagFilter.matchesAllTagExpressions(pickle)) {\n return retries\n }\n return 0\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/index.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/index.d.ts new file mode 100644 index 0000000..40598ae --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/index.d.ts @@ -0,0 +1,40 @@ +/// +import { EventDataCollector } from '../formatter/helpers'; +import { IdGenerator, messages } from '@cucumber/messages'; +import { EventEmitter } from 'events'; +import { ISupportCodeLibrary } from '../support_code_library_builder/types'; +import TestRunHookDefinition from '../models/test_run_hook_definition'; +export interface INewRuntimeOptions { + eventBroadcaster: EventEmitter; + eventDataCollector: EventDataCollector; + newId: IdGenerator.NewId; + options: IRuntimeOptions; + pickleIds: string[]; + supportCodeLibrary: ISupportCodeLibrary; +} +export interface IRuntimeOptions { + dryRun: boolean; + predictableIds: boolean; + failFast: boolean; + filterStacktraces: boolean; + retry: number; + retryTagFilter: string; + strict: boolean; + worldParameters: any; +} +export default class Runtime { + private readonly eventBroadcaster; + private readonly eventDataCollector; + private readonly stopwatch; + private readonly newId; + private readonly options; + private readonly pickleIds; + private readonly stackTraceFilter; + private readonly supportCodeLibrary; + private success; + constructor({ eventBroadcaster, eventDataCollector, newId, options, pickleIds, supportCodeLibrary, }: INewRuntimeOptions); + runTestRunHooks(definitions: TestRunHookDefinition[], name: string): Promise; + runPickle(pickleId: string): Promise; + start(): Promise; + shouldCauseFailure(status: messages.TestStepFinished.TestStepResult.Status): boolean; +} diff --git a/node_modules/@cucumber/cucumber/lib/runtime/index.js b/node_modules/@cucumber/cucumber/lib/runtime/index.js new file mode 100644 index 0000000..3becadc --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/index.js @@ -0,0 +1,118 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importStar(require("lodash")); +const helpers_1 = require("../formatter/helpers"); +const bluebird_1 = __importDefault(require("bluebird")); +const stack_trace_filter_1 = __importDefault(require("../stack_trace_filter")); +const status_1 = __importDefault(require("../status")); +const user_code_runner_1 = __importDefault(require("../user_code_runner")); +const verror_1 = __importDefault(require("verror")); +const helpers_2 = require("./helpers"); +const messages_1 = require("@cucumber/messages"); +const pickle_runner_1 = __importDefault(require("./pickle_runner")); +const value_checker_1 = require("../value_checker"); +const stopwatch_1 = require("./stopwatch"); +class Runtime { + constructor({ eventBroadcaster, eventDataCollector, newId, options, pickleIds, supportCodeLibrary, }) { + this.eventBroadcaster = eventBroadcaster; + this.eventDataCollector = eventDataCollector; + this.stopwatch = options.predictableIds + ? new stopwatch_1.PredictableTestRunStopwatch() + : new stopwatch_1.RealTestRunStopwatch(); + this.newId = newId; + this.options = options; + this.pickleIds = pickleIds; + this.stackTraceFilter = new stack_trace_filter_1.default(); + this.supportCodeLibrary = supportCodeLibrary; + this.success = true; + } + async runTestRunHooks(definitions, name) { + if (this.options.dryRun) { + return; + } + await bluebird_1.default.each(definitions, async (hookDefinition) => { + const { error } = await user_code_runner_1.default.run({ + argsArray: [], + fn: hookDefinition.code, + thisArg: null, + timeoutInMilliseconds: value_checker_1.valueOrDefault(hookDefinition.options.timeout, this.supportCodeLibrary.defaultTimeout), + }); + if (value_checker_1.doesHaveValue(error)) { + const location = helpers_1.formatLocation(hookDefinition); + throw new verror_1.default(error, `${name} hook errored, process exiting: ${location}`); + } + }); + } + async runPickle(pickleId) { + const pickle = this.eventDataCollector.getPickle(pickleId); + const retries = helpers_2.retriesForPickle(pickle, this.options); + const skip = this.options.dryRun || (this.options.failFast && !this.success); + const pickleRunner = new pickle_runner_1.default({ + eventBroadcaster: this.eventBroadcaster, + stopwatch: this.stopwatch, + gherkinDocument: this.eventDataCollector.getGherkinDocument(pickle.uri), + newId: this.newId, + pickle, + retries, + skip, + supportCodeLibrary: this.supportCodeLibrary, + worldParameters: this.options.worldParameters, + }); + const status = await pickleRunner.run(); + if (this.shouldCauseFailure(status)) { + this.success = false; + } + } + async start() { + if (this.options.filterStacktraces) { + this.stackTraceFilter.filter(); + } + this.eventBroadcaster.emit('envelope', new messages_1.messages.Envelope({ + testRunStarted: { + timestamp: this.stopwatch.timestamp(), + }, + })); + this.stopwatch.start(); + await this.runTestRunHooks(this.supportCodeLibrary.beforeTestRunHookDefinitions, 'a BeforeAll'); + await bluebird_1.default.each(this.pickleIds, this.runPickle.bind(this)); + await this.runTestRunHooks(lodash_1.clone(this.supportCodeLibrary.afterTestRunHookDefinitions).reverse(), 'an AfterAll'); + this.stopwatch.stop(); + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + testRunFinished: { + timestamp: this.stopwatch.timestamp(), + }, + })); + if (this.options.filterStacktraces) { + this.stackTraceFilter.unfilter(); + } + return this.success; + } + shouldCauseFailure(status) { + return (lodash_1.default.includes([status_1.default.AMBIGUOUS, status_1.default.FAILED, status_1.default.UNDEFINED], status) || + (status === status_1.default.PENDING && this.options.strict)); + } +} +exports.default = Runtime; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/index.js.map b/node_modules/@cucumber/cucumber/lib/runtime/index.js.map new file mode 100644 index 0000000..599eb52 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { clone } from 'lodash'\nimport { EventDataCollector, formatLocation } from '../formatter/helpers'\nimport bluebird from 'bluebird'\nimport StackTraceFilter from '../stack_trace_filter'\nimport Status from '../status'\nimport UserCodeRunner from '../user_code_runner'\nimport VError from 'verror'\nimport { retriesForPickle } from './helpers'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport PickleRunner from './pickle_runner'\nimport { EventEmitter } from 'events'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport TestRunHookDefinition from '../models/test_run_hook_definition'\nimport { doesHaveValue, valueOrDefault } from '../value_checker'\nimport {\n ITestRunStopwatch,\n PredictableTestRunStopwatch,\n RealTestRunStopwatch,\n} from './stopwatch'\n\nexport interface INewRuntimeOptions {\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n newId: IdGenerator.NewId\n options: IRuntimeOptions\n pickleIds: string[]\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport interface IRuntimeOptions {\n dryRun: boolean\n predictableIds: boolean\n failFast: boolean\n filterStacktraces: boolean\n retry: number\n retryTagFilter: string\n strict: boolean\n worldParameters: any\n}\n\nexport default class Runtime {\n private readonly eventBroadcaster: EventEmitter\n private readonly eventDataCollector: EventDataCollector\n private readonly stopwatch: ITestRunStopwatch\n private readonly newId: IdGenerator.NewId\n private readonly options: IRuntimeOptions\n private readonly pickleIds: string[]\n private readonly stackTraceFilter: StackTraceFilter\n private readonly supportCodeLibrary: ISupportCodeLibrary\n private success: boolean\n\n constructor({\n eventBroadcaster,\n eventDataCollector,\n newId,\n options,\n pickleIds,\n supportCodeLibrary,\n }: INewRuntimeOptions) {\n this.eventBroadcaster = eventBroadcaster\n this.eventDataCollector = eventDataCollector\n this.stopwatch = options.predictableIds\n ? new PredictableTestRunStopwatch()\n : new RealTestRunStopwatch()\n this.newId = newId\n this.options = options\n this.pickleIds = pickleIds\n this.stackTraceFilter = new StackTraceFilter()\n this.supportCodeLibrary = supportCodeLibrary\n this.success = true\n }\n\n async runTestRunHooks(\n definitions: TestRunHookDefinition[],\n name: string\n ): Promise {\n if (this.options.dryRun) {\n return\n }\n await bluebird.each(\n definitions,\n async (hookDefinition: TestRunHookDefinition) => {\n const { error } = await UserCodeRunner.run({\n argsArray: [],\n fn: hookDefinition.code,\n thisArg: null,\n timeoutInMilliseconds: valueOrDefault(\n hookDefinition.options.timeout,\n this.supportCodeLibrary.defaultTimeout\n ),\n })\n if (doesHaveValue(error)) {\n const location = formatLocation(hookDefinition)\n throw new VError(\n error,\n `${name} hook errored, process exiting: ${location}`\n )\n }\n }\n )\n }\n\n async runPickle(pickleId: string): Promise {\n const pickle = this.eventDataCollector.getPickle(pickleId)\n const retries = retriesForPickle(pickle, this.options)\n const skip = this.options.dryRun || (this.options.failFast && !this.success)\n const pickleRunner = new PickleRunner({\n eventBroadcaster: this.eventBroadcaster,\n stopwatch: this.stopwatch,\n gherkinDocument: this.eventDataCollector.getGherkinDocument(pickle.uri),\n newId: this.newId,\n pickle,\n retries,\n skip,\n supportCodeLibrary: this.supportCodeLibrary,\n worldParameters: this.options.worldParameters,\n })\n const status = await pickleRunner.run()\n if (this.shouldCauseFailure(status)) {\n this.success = false\n }\n }\n\n async start(): Promise {\n if (this.options.filterStacktraces) {\n this.stackTraceFilter.filter()\n }\n this.eventBroadcaster.emit(\n 'envelope',\n new messages.Envelope({\n testRunStarted: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.stopwatch.start()\n await this.runTestRunHooks(\n this.supportCodeLibrary.beforeTestRunHookDefinitions,\n 'a BeforeAll'\n )\n await bluebird.each(this.pickleIds, this.runPickle.bind(this))\n await this.runTestRunHooks(\n clone(this.supportCodeLibrary.afterTestRunHookDefinitions).reverse(),\n 'an AfterAll'\n )\n this.stopwatch.stop()\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testRunFinished: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n if (this.options.filterStacktraces) {\n this.stackTraceFilter.unfilter()\n }\n return this.success\n }\n\n shouldCauseFailure(\n status: messages.TestStepFinished.TestStepResult.Status\n ): boolean {\n return (\n _.includes([Status.AMBIGUOUS, Status.FAILED, Status.UNDEFINED], status) ||\n (status === Status.PENDING && this.options.strict)\n )\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.d.ts new file mode 100644 index 0000000..b6ff5a8 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.d.ts @@ -0,0 +1,30 @@ +import { messages } from '@cucumber/messages'; +import { IRuntimeOptions } from '../index'; +export interface IWorkerCommand { + initialize?: IWorkerCommandInitialize; + run?: IWorkerCommandRun; + finalize?: boolean; +} +export interface IWorkerCommandInitialize { + filterStacktraces: boolean; + supportCodePaths: string[]; + supportCodeRequiredModules: string[]; + options: IRuntimeOptions; +} +export interface IWorkerCommandRun { + retries: number; + skip: boolean; + elapsed: number; + pickle: messages.IPickle; + gherkinDocument: messages.IGherkinDocument; +} +export interface ICoordinatorReport { + jsonEnvelope?: string; + ready?: boolean; + supportCodeIds?: ICoordinatorReportSupportCodeIds; +} +export interface ICoordinatorReportSupportCodeIds { + stepDefinitionIds: string[]; + beforeTestCaseHookDefinitionIds: string[]; + afterTestCaseHookDefinitionIds: string[]; +} diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.js b/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.js new file mode 100644 index 0000000..933e870 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=command_types.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.js.map b/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.js.map new file mode 100644 index 0000000..fbcc315 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/command_types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"command_types.js","sourceRoot":"","sources":["../../../src/runtime/parallel/command_types.ts"],"names":[],"mappings":"","sourcesContent":["import { messages } from '@cucumber/messages'\nimport { IRuntimeOptions } from '../index'\n\n// Messages from Coordinator to Worker\n\nexport interface IWorkerCommand {\n initialize?: IWorkerCommandInitialize\n run?: IWorkerCommandRun\n finalize?: boolean\n}\n\nexport interface IWorkerCommandInitialize {\n filterStacktraces: boolean\n supportCodePaths: string[]\n supportCodeRequiredModules: string[]\n options: IRuntimeOptions\n}\n\nexport interface IWorkerCommandRun {\n retries: number\n skip: boolean\n elapsed: number\n pickle: messages.IPickle\n gherkinDocument: messages.IGherkinDocument\n}\n\n// Messages from Worker to Coordinator\n\nexport interface ICoordinatorReport {\n jsonEnvelope?: string\n ready?: boolean\n supportCodeIds?: ICoordinatorReportSupportCodeIds\n}\n\nexport interface ICoordinatorReportSupportCodeIds {\n stepDefinitionIds: string[]\n beforeTestCaseHookDefinitionIds: string[]\n afterTestCaseHookDefinitionIds: string[]\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.d.ts new file mode 100644 index 0000000..16f1b59 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.d.ts @@ -0,0 +1,49 @@ +/// +import { ChildProcess } from 'child_process'; +import { messages } from '@cucumber/messages'; +import { EventEmitter } from 'events'; +import { EventDataCollector } from '../../formatter/helpers'; +import { IRuntimeOptions } from '..'; +import { ISupportCodeLibrary } from '../../support_code_library_builder/types'; +import { ICoordinatorReport, ICoordinatorReportSupportCodeIds } from './command_types'; +export interface INewCoordinatorOptions { + cwd: string; + eventBroadcaster: EventEmitter; + eventDataCollector: EventDataCollector; + options: IRuntimeOptions; + pickleIds: string[]; + supportCodeLibrary: ISupportCodeLibrary; + supportCodePaths: string[]; + supportCodeRequiredModules: string[]; +} +interface IWorker { + closed: boolean; + process: ChildProcess; +} +export default class Coordinator { + private readonly cwd; + private readonly eventBroadcaster; + private readonly eventDataCollector; + private readonly stopwatch; + private onFinish; + private nextPickleIdIndex; + private readonly options; + private readonly pickleIds; + private workers; + private supportCodeIdMap; + private readonly supportCodeLibrary; + private readonly supportCodePaths; + private readonly supportCodeRequiredModules; + private success; + constructor({ cwd, eventBroadcaster, eventDataCollector, pickleIds, options, supportCodeLibrary, supportCodePaths, supportCodeRequiredModules, }: INewCoordinatorOptions); + parseWorkerMessage(worker: IWorker, message: ICoordinatorReport): void; + saveDefinitionIdMapping(message: ICoordinatorReportSupportCodeIds): void; + remapDefinitionIds(testCase: messages.ITestCase): void; + startWorker(id: string, total: number): void; + onWorkerProcessClose(exitCode: number): void; + parseTestCaseResult(testCaseFinished: messages.ITestCaseFinished): void; + run(numberOfWorkers: number, done: (success: boolean) => void): void; + giveWork(worker: IWorker): void; + shouldCauseFailure(status: messages.TestStepFinished.TestStepResult.Status): boolean; +} +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.js b/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.js new file mode 100644 index 0000000..743520d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.js @@ -0,0 +1,163 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const child_process_1 = require("child_process"); +const path_1 = __importDefault(require("path")); +const status_1 = __importDefault(require("../../status")); +const helpers_1 = require("../helpers"); +const messages_1 = require("@cucumber/messages"); +const value_checker_1 = require("../../value_checker"); +const stopwatch_1 = require("../stopwatch"); +const runWorkerPath = path_1.default.resolve(__dirname, 'run_worker.js'); +class Coordinator { + constructor({ cwd, eventBroadcaster, eventDataCollector, pickleIds, options, supportCodeLibrary, supportCodePaths, supportCodeRequiredModules, }) { + this.cwd = cwd; + this.eventBroadcaster = eventBroadcaster; + this.eventDataCollector = eventDataCollector; + this.stopwatch = options.predictableIds + ? new stopwatch_1.PredictableTestRunStopwatch() + : new stopwatch_1.RealTestRunStopwatch(); + this.options = options; + this.supportCodeLibrary = supportCodeLibrary; + this.supportCodePaths = supportCodePaths; + this.supportCodeRequiredModules = supportCodeRequiredModules; + this.pickleIds = pickleIds; + this.nextPickleIdIndex = 0; + this.success = true; + this.workers = {}; + this.supportCodeIdMap = {}; + } + parseWorkerMessage(worker, message) { + if (value_checker_1.doesHaveValue(message.supportCodeIds)) { + this.saveDefinitionIdMapping(message.supportCodeIds); + } + else if (message.ready) { + this.giveWork(worker); + } + else if (value_checker_1.doesHaveValue(message.jsonEnvelope)) { + const envelope = messages_1.messages.Envelope.fromObject(JSON.parse(message.jsonEnvelope)); + this.eventBroadcaster.emit('envelope', envelope); + if (value_checker_1.doesHaveValue(envelope.testCase)) { + this.remapDefinitionIds(envelope.testCase); + } + if (value_checker_1.doesHaveValue(envelope.testCaseFinished)) { + this.parseTestCaseResult(envelope.testCaseFinished); + } + } + else { + throw new Error(`Unexpected message from worker: ${JSON.stringify(message)}`); + } + } + saveDefinitionIdMapping(message) { + lodash_1.default.each(message.stepDefinitionIds, (id, index) => { + this.supportCodeIdMap[id] = this.supportCodeLibrary.stepDefinitions[index].id; + }); + lodash_1.default.each(message.beforeTestCaseHookDefinitionIds, (id, index) => { + this.supportCodeIdMap[id] = this.supportCodeLibrary.beforeTestCaseHookDefinitions[index].id; + }); + lodash_1.default.each(message.afterTestCaseHookDefinitionIds, (id, index) => { + this.supportCodeIdMap[id] = this.supportCodeLibrary.afterTestCaseHookDefinitions[index].id; + }); + } + remapDefinitionIds(testCase) { + for (const testStep of testCase.testSteps) { + if (testStep.hookId !== '') { + testStep.hookId = this.supportCodeIdMap[testStep.hookId]; + } + if (value_checker_1.doesHaveValue(testStep.stepDefinitionIds)) { + testStep.stepDefinitionIds = testStep.stepDefinitionIds.map((id) => this.supportCodeIdMap[id]); + } + } + } + startWorker(id, total) { + const workerProcess = child_process_1.fork(runWorkerPath, [], { + cwd: this.cwd, + env: lodash_1.default.assign({}, process.env, { + CUCUMBER_PARALLEL: 'true', + CUCUMBER_TOTAL_WORKERS: total, + CUCUMBER_WORKER_ID: id, + }), + stdio: ['inherit', 'inherit', 'inherit', 'ipc'], + }); + const worker = { closed: false, process: workerProcess }; + this.workers[id] = worker; + worker.process.on('message', (message) => { + this.parseWorkerMessage(worker, message); + }); + worker.process.on('close', (exitCode) => { + worker.closed = true; + this.onWorkerProcessClose(exitCode); + }); + const initializeCommand = { + initialize: { + filterStacktraces: this.options.filterStacktraces, + supportCodePaths: this.supportCodePaths, + supportCodeRequiredModules: this.supportCodeRequiredModules, + options: this.options, + }, + }; + worker.process.send(initializeCommand); + } + onWorkerProcessClose(exitCode) { + if (exitCode !== 0) { + this.success = false; + } + if (lodash_1.default.every(this.workers, 'closed')) { + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + testRunFinished: { + timestamp: this.stopwatch.timestamp(), + }, + })); + this.onFinish(this.success); + } + } + parseTestCaseResult(testCaseFinished) { + const { worstTestStepResult } = this.eventDataCollector.getTestCaseAttempt(testCaseFinished.testCaseStartedId); + if (!worstTestStepResult.willBeRetried && + this.shouldCauseFailure(worstTestStepResult.status)) { + this.success = false; + } + } + run(numberOfWorkers, done) { + this.eventBroadcaster.emit('envelope', new messages_1.messages.Envelope({ + testRunStarted: { + timestamp: this.stopwatch.timestamp(), + }, + })); + this.stopwatch.start(); + lodash_1.default.times(numberOfWorkers, (id) => this.startWorker(id.toString(), numberOfWorkers)); + this.onFinish = done; + } + giveWork(worker) { + if (this.nextPickleIdIndex === this.pickleIds.length) { + const finalizeCommand = { finalize: true }; + worker.process.send(finalizeCommand); + return; + } + const pickleId = this.pickleIds[this.nextPickleIdIndex]; + this.nextPickleIdIndex += 1; + const pickle = this.eventDataCollector.getPickle(pickleId); + const gherkinDocument = this.eventDataCollector.getGherkinDocument(pickle.uri); + const retries = helpers_1.retriesForPickle(pickle, this.options); + const skip = this.options.dryRun || (this.options.failFast && !this.success); + const runCommand = { + run: { + retries, + skip, + elapsed: this.stopwatch.duration().nanos(), + pickle, + gherkinDocument, + }, + }; + worker.process.send(runCommand); + } + shouldCauseFailure(status) { + return (lodash_1.default.includes([status_1.default.AMBIGUOUS, status_1.default.FAILED, status_1.default.UNDEFINED], status) || + (status === status_1.default.PENDING && this.options.strict)); + } +} +exports.default = Coordinator; +//# sourceMappingURL=coordinator.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.js.map b/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.js.map new file mode 100644 index 0000000..7a09a2e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/coordinator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/runtime/parallel/coordinator.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { ChildProcess, fork } from 'child_process'\nimport path from 'path'\nimport Status from '../../status'\nimport { retriesForPickle } from '../helpers'\nimport { messages } from '@cucumber/messages'\nimport { EventEmitter } from 'events'\nimport { EventDataCollector } from '../../formatter/helpers'\nimport { IRuntimeOptions } from '..'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\nimport {\n ICoordinatorReport,\n ICoordinatorReportSupportCodeIds,\n IWorkerCommand,\n} from './command_types'\nimport { doesHaveValue } from '../../value_checker'\nimport {\n ITestRunStopwatch,\n PredictableTestRunStopwatch,\n RealTestRunStopwatch,\n} from '../stopwatch'\n\nconst runWorkerPath = path.resolve(__dirname, 'run_worker.js')\n\nexport interface INewCoordinatorOptions {\n cwd: string\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n options: IRuntimeOptions\n pickleIds: string[]\n supportCodeLibrary: ISupportCodeLibrary\n supportCodePaths: string[]\n supportCodeRequiredModules: string[]\n}\n\ninterface IWorker {\n closed: boolean\n process: ChildProcess\n}\n\nexport default class Coordinator {\n private readonly cwd: string\n private readonly eventBroadcaster: EventEmitter\n private readonly eventDataCollector: EventDataCollector\n private readonly stopwatch: ITestRunStopwatch\n private onFinish: (success: boolean) => void\n private nextPickleIdIndex: number\n private readonly options: IRuntimeOptions\n private readonly pickleIds: string[]\n private workers: Dictionary\n private supportCodeIdMap: Dictionary\n private readonly supportCodeLibrary: ISupportCodeLibrary\n private readonly supportCodePaths: string[]\n private readonly supportCodeRequiredModules: string[]\n private success: boolean\n\n constructor({\n cwd,\n eventBroadcaster,\n eventDataCollector,\n pickleIds,\n options,\n supportCodeLibrary,\n supportCodePaths,\n supportCodeRequiredModules,\n }: INewCoordinatorOptions) {\n this.cwd = cwd\n this.eventBroadcaster = eventBroadcaster\n this.eventDataCollector = eventDataCollector\n this.stopwatch = options.predictableIds\n ? new PredictableTestRunStopwatch()\n : new RealTestRunStopwatch()\n this.options = options\n this.supportCodeLibrary = supportCodeLibrary\n this.supportCodePaths = supportCodePaths\n this.supportCodeRequiredModules = supportCodeRequiredModules\n this.pickleIds = pickleIds\n this.nextPickleIdIndex = 0\n this.success = true\n this.workers = {}\n this.supportCodeIdMap = {}\n }\n\n parseWorkerMessage(worker: IWorker, message: ICoordinatorReport): void {\n if (doesHaveValue(message.supportCodeIds)) {\n this.saveDefinitionIdMapping(message.supportCodeIds)\n } else if (message.ready) {\n this.giveWork(worker)\n } else if (doesHaveValue(message.jsonEnvelope)) {\n const envelope = messages.Envelope.fromObject(\n JSON.parse(message.jsonEnvelope)\n )\n this.eventBroadcaster.emit('envelope', envelope)\n if (doesHaveValue(envelope.testCase)) {\n this.remapDefinitionIds(envelope.testCase)\n }\n if (doesHaveValue(envelope.testCaseFinished)) {\n this.parseTestCaseResult(envelope.testCaseFinished)\n }\n } else {\n throw new Error(\n `Unexpected message from worker: ${JSON.stringify(message)}`\n )\n }\n }\n\n saveDefinitionIdMapping(message: ICoordinatorReportSupportCodeIds): void {\n _.each(message.stepDefinitionIds, (id: string, index: number) => {\n this.supportCodeIdMap[id] = this.supportCodeLibrary.stepDefinitions[\n index\n ].id\n })\n _.each(\n message.beforeTestCaseHookDefinitionIds,\n (id: string, index: number) => {\n this.supportCodeIdMap[\n id\n ] = this.supportCodeLibrary.beforeTestCaseHookDefinitions[index].id\n }\n )\n _.each(\n message.afterTestCaseHookDefinitionIds,\n (id: string, index: number) => {\n this.supportCodeIdMap[\n id\n ] = this.supportCodeLibrary.afterTestCaseHookDefinitions[index].id\n }\n )\n }\n\n remapDefinitionIds(testCase: messages.ITestCase): void {\n for (const testStep of testCase.testSteps) {\n if (testStep.hookId !== '') {\n testStep.hookId = this.supportCodeIdMap[testStep.hookId]\n }\n if (doesHaveValue(testStep.stepDefinitionIds)) {\n testStep.stepDefinitionIds = testStep.stepDefinitionIds.map(\n (id) => this.supportCodeIdMap[id]\n )\n }\n }\n }\n\n startWorker(id: string, total: number): void {\n const workerProcess = fork(runWorkerPath, [], {\n cwd: this.cwd,\n env: _.assign({}, process.env, {\n CUCUMBER_PARALLEL: 'true',\n CUCUMBER_TOTAL_WORKERS: total,\n CUCUMBER_WORKER_ID: id,\n }),\n stdio: ['inherit', 'inherit', 'inherit', 'ipc'],\n })\n const worker = { closed: false, process: workerProcess }\n this.workers[id] = worker\n worker.process.on('message', (message: ICoordinatorReport) => {\n this.parseWorkerMessage(worker, message)\n })\n worker.process.on('close', (exitCode) => {\n worker.closed = true\n this.onWorkerProcessClose(exitCode)\n })\n const initializeCommand: IWorkerCommand = {\n initialize: {\n filterStacktraces: this.options.filterStacktraces,\n supportCodePaths: this.supportCodePaths,\n supportCodeRequiredModules: this.supportCodeRequiredModules,\n options: this.options,\n },\n }\n worker.process.send(initializeCommand)\n }\n\n onWorkerProcessClose(exitCode: number): void {\n if (exitCode !== 0) {\n this.success = false\n }\n if (_.every(this.workers, 'closed')) {\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testRunFinished: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.onFinish(this.success)\n }\n }\n\n parseTestCaseResult(testCaseFinished: messages.ITestCaseFinished): void {\n const { worstTestStepResult } = this.eventDataCollector.getTestCaseAttempt(\n testCaseFinished.testCaseStartedId\n )\n if (\n !worstTestStepResult.willBeRetried &&\n this.shouldCauseFailure(worstTestStepResult.status)\n ) {\n this.success = false\n }\n }\n\n run(numberOfWorkers: number, done: (success: boolean) => void): void {\n this.eventBroadcaster.emit(\n 'envelope',\n new messages.Envelope({\n testRunStarted: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.stopwatch.start()\n _.times(numberOfWorkers, (id) =>\n this.startWorker(id.toString(), numberOfWorkers)\n )\n this.onFinish = done\n }\n\n giveWork(worker: IWorker): void {\n if (this.nextPickleIdIndex === this.pickleIds.length) {\n const finalizeCommand: IWorkerCommand = { finalize: true }\n worker.process.send(finalizeCommand)\n return\n }\n const pickleId = this.pickleIds[this.nextPickleIdIndex]\n this.nextPickleIdIndex += 1\n const pickle = this.eventDataCollector.getPickle(pickleId)\n const gherkinDocument = this.eventDataCollector.getGherkinDocument(\n pickle.uri\n )\n const retries = retriesForPickle(pickle, this.options)\n const skip = this.options.dryRun || (this.options.failFast && !this.success)\n const runCommand: IWorkerCommand = {\n run: {\n retries,\n skip,\n elapsed: this.stopwatch.duration().nanos(),\n pickle,\n gherkinDocument,\n },\n }\n worker.process.send(runCommand)\n }\n\n shouldCauseFailure(\n status: messages.TestStepFinished.TestStepResult.Status\n ): boolean {\n return (\n _.includes([Status.AMBIGUOUS, Status.FAILED, Status.UNDEFINED], status) ||\n (status === Status.PENDING && this.options.strict)\n )\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.js b/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.js new file mode 100644 index 0000000..a2a3603 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.js @@ -0,0 +1,29 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const worker_1 = __importDefault(require("./worker")); +const verror_1 = __importDefault(require("verror")); +const value_checker_1 = require("../../value_checker"); +function run() { + const exit = (exitCode, error, message) => { + if (value_checker_1.doesHaveValue(error)) { + console.error(verror_1.default.fullStack(new verror_1.default(error, message))); // eslint-disable-line no-console + } + process.exit(exitCode); + }; + const worker = new worker_1.default({ + id: process.env.CUCUMBER_WORKER_ID, + sendMessage: (message) => process.send(message), + cwd: process.cwd(), + exit, + }); + process.on('message', (m) => { + worker + .receiveMessage(m) + .catch((error) => exit(1, error, 'Unexpected error on worker.receiveMessage')); + }); +} +run(); +//# sourceMappingURL=run_worker.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.js.map b/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.js.map new file mode 100644 index 0000000..3702b0e --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/run_worker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"run_worker.js","sourceRoot":"","sources":["../../../src/runtime/parallel/run_worker.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,oDAA2B;AAC3B,uDAAmD;AAEnD,SAAS,GAAG;IACV,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAgB,EAAQ,EAAE;QACvE,IAAI,6BAAa,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,CAAC,IAAI,gBAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,iCAAiC;SAC9F;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACxB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClC,WAAW,EAAE,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACpD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI;KACL,CAAC,CAAA;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAM,EAAQ,EAAE;QACrC,MAAM;aACH,cAAc,CAAC,CAAC,CAAC;aACjB,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CACtB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,2CAA2C,CAAC,CAC5D,CAAA;IACL,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,GAAG,EAAE,CAAA","sourcesContent":["import Worker from './worker'\nimport VError from 'verror'\nimport { doesHaveValue } from '../../value_checker'\n\nfunction run(): void {\n const exit = (exitCode: number, error?: Error, message?: string): void => {\n if (doesHaveValue(error)) {\n console.error(VError.fullStack(new VError(error, message))) // eslint-disable-line no-console\n }\n process.exit(exitCode)\n }\n const worker = new Worker({\n id: process.env.CUCUMBER_WORKER_ID,\n sendMessage: (message: any) => process.send(message),\n cwd: process.cwd(),\n exit,\n })\n process.on('message', (m: any): void => {\n worker\n .receiveMessage(m)\n .catch((error: Error) =>\n exit(1, error, 'Unexpected error on worker.receiveMessage')\n )\n })\n}\n\nrun()\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.d.ts new file mode 100644 index 0000000..c96f75d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.d.ts @@ -0,0 +1,29 @@ +import { ICoordinatorReport, IWorkerCommand, IWorkerCommandInitialize, IWorkerCommandRun } from './command_types'; +import TestRunHookDefinition from '../../models/test_run_hook_definition'; +declare type IExitFunction = (exitCode: number, error?: Error, message?: string) => void; +declare type IMessageSender = (command: ICoordinatorReport) => void; +export default class Worker { + private readonly cwd; + private readonly exit; + private readonly id; + private readonly eventBroadcaster; + private filterStacktraces; + private readonly newId; + private readonly sendMessage; + private readonly stackTraceFilter; + private supportCodeLibrary; + private worldParameters; + private options; + constructor({ cwd, exit, id, sendMessage, }: { + cwd: string; + exit: IExitFunction; + id: string; + sendMessage: IMessageSender; + }); + initialize({ filterStacktraces, supportCodeRequiredModules, supportCodePaths, options, }: IWorkerCommandInitialize): Promise; + finalize(): Promise; + receiveMessage(message: IWorkerCommand): Promise; + runTestCase({ gherkinDocument, pickle, elapsed, retries, skip, }: IWorkerCommandRun): Promise; + runTestRunHooks(testRunHookDefinitions: TestRunHookDefinition[], name: string): Promise; +} +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.js b/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.js new file mode 100644 index 0000000..a7911e6 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.js @@ -0,0 +1,110 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const helpers_1 = require("../../formatter/helpers"); +const events_1 = require("events"); +const bluebird_1 = __importDefault(require("bluebird")); +const stack_trace_filter_1 = __importDefault(require("../../stack_trace_filter")); +const support_code_library_builder_1 = __importDefault(require("../../support_code_library_builder")); +const pickle_runner_1 = __importDefault(require("../pickle_runner")); +const user_code_runner_1 = __importDefault(require("../../user_code_runner")); +const messages_1 = require("@cucumber/messages"); +const value_checker_1 = require("../../value_checker"); +const stopwatch_1 = require("../stopwatch"); +const durations_1 = require("durations"); +const { uuid } = messages_1.IdGenerator; +class Worker { + constructor({ cwd, exit, id, sendMessage, }) { + this.id = id; + this.newId = uuid(); + this.cwd = cwd; + this.exit = exit; + this.sendMessage = sendMessage; + this.eventBroadcaster = new events_1.EventEmitter(); + this.stackTraceFilter = new stack_trace_filter_1.default(); + this.eventBroadcaster.on('envelope', (envelope) => { + this.sendMessage({ + jsonEnvelope: JSON.stringify(envelope.toJSON()), + }); + }); + } + async initialize({ filterStacktraces, supportCodeRequiredModules, supportCodePaths, options, }) { + supportCodeRequiredModules.map((module) => require(module)); + support_code_library_builder_1.default.reset(this.cwd, this.newId); + supportCodePaths.forEach((codePath) => require(codePath)); + this.supportCodeLibrary = support_code_library_builder_1.default.finalize(); + this.sendMessage({ + supportCodeIds: { + stepDefinitionIds: this.supportCodeLibrary.stepDefinitions.map((s) => s.id), + beforeTestCaseHookDefinitionIds: this.supportCodeLibrary.beforeTestCaseHookDefinitions.map((h) => h.id), + afterTestCaseHookDefinitionIds: this.supportCodeLibrary.afterTestCaseHookDefinitions.map((h) => h.id), + }, + }); + this.worldParameters = options.worldParameters; + this.options = options; + this.filterStacktraces = filterStacktraces; + if (this.filterStacktraces) { + this.stackTraceFilter.filter(); + } + await this.runTestRunHooks(this.supportCodeLibrary.beforeTestRunHookDefinitions, 'a BeforeAll'); + this.sendMessage({ ready: true }); + } + async finalize() { + await this.runTestRunHooks(this.supportCodeLibrary.afterTestRunHookDefinitions, 'an AfterAll'); + if (this.filterStacktraces) { + this.stackTraceFilter.unfilter(); + } + this.exit(0); + } + async receiveMessage(message) { + if (value_checker_1.doesHaveValue(message.initialize)) { + await this.initialize(message.initialize); + } + else if (message.finalize) { + await this.finalize(); + } + else if (value_checker_1.doesHaveValue(message.run)) { + await this.runTestCase(message.run); + } + } + async runTestCase({ gherkinDocument, pickle, elapsed, retries, skip, }) { + const stopwatch = this.options.predictableIds + ? new stopwatch_1.PredictableTestRunStopwatch() + : new stopwatch_1.RealTestRunStopwatch(); + stopwatch.from(durations_1.duration(elapsed)); + const pickleRunner = new pickle_runner_1.default({ + eventBroadcaster: this.eventBroadcaster, + stopwatch, + gherkinDocument, + newId: this.newId, + pickle, + retries, + skip, + supportCodeLibrary: this.supportCodeLibrary, + worldParameters: this.worldParameters, + }); + await pickleRunner.run(); + this.sendMessage({ ready: true }); + } + async runTestRunHooks(testRunHookDefinitions, name) { + if (this.options.dryRun) { + return; + } + await bluebird_1.default.each(testRunHookDefinitions, async (hookDefinition) => { + const { error } = await user_code_runner_1.default.run({ + argsArray: [], + fn: hookDefinition.code, + thisArg: null, + timeoutInMilliseconds: value_checker_1.valueOrDefault(hookDefinition.options.timeout, this.supportCodeLibrary.defaultTimeout), + }); + if (value_checker_1.doesHaveValue(error)) { + const location = helpers_1.formatLocation(hookDefinition); + this.exit(1, error, `${name} hook errored on worker ${this.id}, process exiting: ${location}`); + } + }); + } +} +exports.default = Worker; +//# sourceMappingURL=worker.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.js.map b/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.js.map new file mode 100644 index 0000000..7f4e2d4 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/parallel/worker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/runtime/parallel/worker.ts"],"names":[],"mappings":"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","sourcesContent":["import { formatLocation } from '../../formatter/helpers'\nimport {\n ICoordinatorReport,\n IWorkerCommand,\n IWorkerCommandInitialize,\n IWorkerCommandRun,\n} from './command_types'\nimport { EventEmitter } from 'events'\nimport bluebird from 'bluebird'\nimport StackTraceFilter from '../../stack_trace_filter'\nimport supportCodeLibraryBuilder from '../../support_code_library_builder'\nimport PickleRunner from '../pickle_runner'\nimport UserCodeRunner from '../../user_code_runner'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport TestRunHookDefinition from '../../models/test_run_hook_definition'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\nimport { doesHaveValue, valueOrDefault } from '../../value_checker'\nimport { IRuntimeOptions } from '../index'\nimport { PredictableTestRunStopwatch, RealTestRunStopwatch } from '../stopwatch'\nimport { duration } from 'durations'\n\nconst { uuid } = IdGenerator\n\ntype IExitFunction = (exitCode: number, error?: Error, message?: string) => void\ntype IMessageSender = (command: ICoordinatorReport) => void\n\nexport default class Worker {\n private readonly cwd: string\n private readonly exit: IExitFunction\n\n private readonly id: string\n private readonly eventBroadcaster: EventEmitter\n private filterStacktraces: boolean\n private readonly newId: IdGenerator.NewId\n private readonly sendMessage: IMessageSender\n private readonly stackTraceFilter: StackTraceFilter\n private supportCodeLibrary: ISupportCodeLibrary\n private worldParameters: any\n private options: IRuntimeOptions\n\n constructor({\n cwd,\n exit,\n id,\n sendMessage,\n }: {\n cwd: string\n exit: IExitFunction\n id: string\n sendMessage: IMessageSender\n }) {\n this.id = id\n this.newId = uuid()\n this.cwd = cwd\n this.exit = exit\n this.sendMessage = sendMessage\n this.eventBroadcaster = new EventEmitter()\n this.stackTraceFilter = new StackTraceFilter()\n this.eventBroadcaster.on('envelope', (envelope: messages.Envelope) => {\n this.sendMessage({\n jsonEnvelope: JSON.stringify(envelope.toJSON()),\n })\n })\n }\n\n async initialize({\n filterStacktraces,\n supportCodeRequiredModules,\n supportCodePaths,\n options,\n }: IWorkerCommandInitialize): Promise {\n supportCodeRequiredModules.map((module) => require(module))\n supportCodeLibraryBuilder.reset(this.cwd, this.newId)\n supportCodePaths.forEach((codePath) => require(codePath))\n this.supportCodeLibrary = supportCodeLibraryBuilder.finalize()\n this.sendMessage({\n supportCodeIds: {\n stepDefinitionIds: this.supportCodeLibrary.stepDefinitions.map(\n (s) => s.id\n ),\n beforeTestCaseHookDefinitionIds: this.supportCodeLibrary.beforeTestCaseHookDefinitions.map(\n (h) => h.id\n ),\n afterTestCaseHookDefinitionIds: this.supportCodeLibrary.afterTestCaseHookDefinitions.map(\n (h) => h.id\n ),\n },\n })\n this.worldParameters = options.worldParameters\n this.options = options\n this.filterStacktraces = filterStacktraces\n if (this.filterStacktraces) {\n this.stackTraceFilter.filter()\n }\n await this.runTestRunHooks(\n this.supportCodeLibrary.beforeTestRunHookDefinitions,\n 'a BeforeAll'\n )\n this.sendMessage({ ready: true })\n }\n\n async finalize(): Promise {\n await this.runTestRunHooks(\n this.supportCodeLibrary.afterTestRunHookDefinitions,\n 'an AfterAll'\n )\n if (this.filterStacktraces) {\n this.stackTraceFilter.unfilter()\n }\n this.exit(0)\n }\n\n async receiveMessage(message: IWorkerCommand): Promise {\n if (doesHaveValue(message.initialize)) {\n await this.initialize(message.initialize)\n } else if (message.finalize) {\n await this.finalize()\n } else if (doesHaveValue(message.run)) {\n await this.runTestCase(message.run)\n }\n }\n\n async runTestCase({\n gherkinDocument,\n pickle,\n elapsed,\n retries,\n skip,\n }: IWorkerCommandRun): Promise {\n const stopwatch = this.options.predictableIds\n ? new PredictableTestRunStopwatch()\n : new RealTestRunStopwatch()\n stopwatch.from(duration(elapsed))\n const pickleRunner = new PickleRunner({\n eventBroadcaster: this.eventBroadcaster,\n stopwatch,\n gherkinDocument,\n newId: this.newId,\n pickle,\n retries,\n skip,\n supportCodeLibrary: this.supportCodeLibrary,\n worldParameters: this.worldParameters,\n })\n await pickleRunner.run()\n this.sendMessage({ ready: true })\n }\n\n async runTestRunHooks(\n testRunHookDefinitions: TestRunHookDefinition[],\n name: string\n ): Promise {\n if (this.options.dryRun) {\n return\n }\n await bluebird.each(testRunHookDefinitions, async (hookDefinition) => {\n const { error } = await UserCodeRunner.run({\n argsArray: [],\n fn: hookDefinition.code,\n thisArg: null,\n timeoutInMilliseconds: valueOrDefault(\n hookDefinition.options.timeout,\n this.supportCodeLibrary.defaultTimeout\n ),\n })\n if (doesHaveValue(error)) {\n const location = formatLocation(hookDefinition)\n this.exit(\n 1,\n error,\n `${name} hook errored on worker ${this.id}, process exiting: ${location}`\n )\n }\n })\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.d.ts new file mode 100644 index 0000000..fc03e47 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.d.ts @@ -0,0 +1,67 @@ +/// +import { IdGenerator, messages } from '@cucumber/messages'; +import { EventEmitter } from 'events'; +import { ISupportCodeLibrary, ITestCaseHookParameter } from '../support_code_library_builder/types'; +import TestCaseHookDefinition from '../models/test_case_hook_definition'; +import TestStepHookDefinition from '../models/test_step_hook_definition'; +import StepDefinition from '../models/step_definition'; +import { IDefinition } from '../models/definition'; +import { ITestRunStopwatch } from './stopwatch'; +interface ITestStep { + id: string; + isBeforeHook?: boolean; + isHook: boolean; + hookDefinition?: TestCaseHookDefinition; + stepHookDefinition?: TestStepHookDefinition; + pickleStep?: messages.Pickle.IPickleStep; + stepDefinitions?: StepDefinition[]; +} +export interface INewPickleRunnerOptions { + eventBroadcaster: EventEmitter; + stopwatch: ITestRunStopwatch; + gherkinDocument: messages.IGherkinDocument; + newId: IdGenerator.NewId; + pickle: messages.IPickle; + retries: number; + skip: boolean; + supportCodeLibrary: ISupportCodeLibrary; + worldParameters: any; +} +export default class PickleRunner { + private readonly attachmentManager; + private currentTestCaseStartedId; + private currentTestStepId; + private readonly eventBroadcaster; + private readonly stopwatch; + private readonly gherkinDocument; + private readonly newId; + private readonly pickle; + private readonly maxAttempts; + private readonly skip; + private readonly supportCodeLibrary; + private readonly testCaseId; + private readonly testSteps; + private testStepResults; + private world; + private readonly worldParameters; + constructor({ eventBroadcaster, stopwatch, gherkinDocument, newId, pickle, retries, skip, supportCodeLibrary, worldParameters, }: INewPickleRunnerOptions); + resetTestProgressData(): void; + buildTestSteps(): ITestStep[]; + emitTestCase(): void; + private mapArgumentGroup; + getAfterHookDefinitions(): TestCaseHookDefinition[]; + getBeforeHookDefinitions(): TestCaseHookDefinition[]; + getBeforeStepHookDefinitions(): TestStepHookDefinition[]; + getAfterStepHookDefinitions(): TestStepHookDefinition[]; + getStepDefinitions(pickleStep: messages.Pickle.IPickleStep): StepDefinition[]; + getWorstStepResult(): messages.TestStepFinished.ITestStepResult; + invokeStep(step: messages.Pickle.IPickleStep, stepDefinition: IDefinition, hookParameter?: any): Promise; + isSkippingSteps(): boolean; + shouldSkipHook(isBeforeHook: boolean): boolean; + aroundTestStep(testStepId: string, attempt: number, runStepFn: () => Promise): Promise; + run(): Promise; + runHook(hookDefinition: TestCaseHookDefinition, hookParameter: ITestCaseHookParameter, isBeforeHook: boolean): Promise; + runStepHooks(stepHooks: TestStepHookDefinition[], stepResult?: messages.TestStepFinished.ITestStepResult): Promise; + runStep(testStep: ITestStep): Promise; +} +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.js b/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.js new file mode 100644 index 0000000..efbcb3c --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.js @@ -0,0 +1,305 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = require("lodash"); +const helpers_1 = require("./helpers"); +const attachment_manager_1 = __importDefault(require("./attachment_manager")); +const step_runner_1 = __importDefault(require("./step_runner")); +const messages_1 = require("@cucumber/messages"); +const time_1 = require("../time"); +const value_checker_1 = require("../value_checker"); +const query_1 = require("@cucumber/query"); +const { Status } = messages_1.messages.TestStepFinished.TestStepResult; +class PickleRunner { + constructor({ eventBroadcaster, stopwatch, gherkinDocument, newId, pickle, retries = 0, skip, supportCodeLibrary, worldParameters, }) { + this.attachmentManager = new attachment_manager_1.default(({ data, media }) => { + if (value_checker_1.doesNotHaveValue(this.currentTestStepId)) { + throw new Error('Cannot attach when a step/hook is not running. Ensure your step/hook waits for the attach to finish.'); + } + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + attachment: { + body: data, + contentEncoding: media.encoding, + mediaType: media.contentType, + testCaseStartedId: this.currentTestCaseStartedId, + testStepId: this.currentTestStepId, + }, + })); + }); + this.eventBroadcaster = eventBroadcaster; + this.stopwatch = stopwatch; + this.gherkinDocument = gherkinDocument; + this.maxAttempts = 1 + (skip ? 0 : retries); + this.newId = newId; + this.pickle = pickle; + this.skip = skip; + this.supportCodeLibrary = supportCodeLibrary; + this.worldParameters = worldParameters; + this.testCaseId = this.newId(); + this.testSteps = this.buildTestSteps(); + this.resetTestProgressData(); + } + resetTestProgressData() { + this.world = new this.supportCodeLibrary.World({ + attach: this.attachmentManager.create.bind(this.attachmentManager), + log: this.attachmentManager.log.bind(this.attachmentManager), + parameters: this.worldParameters, + }); + this.testStepResults = []; + } + buildTestSteps() { + const testSteps = []; + this.getBeforeHookDefinitions().forEach((hookDefinition) => { + testSteps.push({ + id: this.newId(), + hookDefinition, + isHook: true, + isBeforeHook: true, + }); + }); + this.pickle.steps.forEach((pickleStep) => { + const stepDefinitions = this.getStepDefinitions(pickleStep); + testSteps.push({ + id: this.newId(), + pickleStep, + stepDefinitions, + isHook: false, + }); + }); + this.getAfterHookDefinitions().forEach((hookDefinition) => { + testSteps.push({ + id: this.newId(), + hookDefinition, + isHook: true, + }); + }); + return testSteps; + } + emitTestCase() { + const testCase = { + pickleId: this.pickle.id, + id: this.testCaseId, + testSteps: this.testSteps.map((testStep) => { + if (testStep.isHook) { + return { + id: testStep.id, + hookId: testStep.hookDefinition.id, + }; + } + else { + return { + id: testStep.id, + pickleStepId: testStep.pickleStep.id, + stepDefinitionIds: testStep.stepDefinitions.map((x) => x.id), + stepMatchArgumentsLists: testStep.stepDefinitions.map((x) => { + const result = x.expression.match(testStep.pickleStep.text); + return { + stepMatchArguments: result.map((arg) => { + return { + group: this.mapArgumentGroup(arg.group), + parameterTypeName: arg.parameterType.name, + }; + }), + }; + }), + }; + } + }), + }; + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ testCase })); + } + mapArgumentGroup(group) { + return { + start: group.start, + value: group.value, + children: value_checker_1.doesHaveValue(group.children) + ? group.children.map((child) => this.mapArgumentGroup(child)) + : undefined, + }; + } + getAfterHookDefinitions() { + return lodash_1.clone(this.supportCodeLibrary.afterTestCaseHookDefinitions) + .reverse() + .filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)); + } + getBeforeHookDefinitions() { + return this.supportCodeLibrary.beforeTestCaseHookDefinitions.filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)); + } + getBeforeStepHookDefinitions() { + return this.supportCodeLibrary.beforeTestStepHookDefinitions.filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)); + } + getAfterStepHookDefinitions() { + return lodash_1.clone(this.supportCodeLibrary.afterTestStepHookDefinitions) + .reverse() + .filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)); + } + getStepDefinitions(pickleStep) { + return this.supportCodeLibrary.stepDefinitions.filter((stepDefinition) => stepDefinition.matchesStepName(pickleStep.text)); + } + getWorstStepResult() { + if (this.testStepResults.length === 0) { + return messages_1.messages.TestStepFinished.TestStepResult.fromObject({ + status: this.skip ? Status.SKIPPED : Status.PASSED, + }); + } + return new query_1.Query().getWorstTestStepResult(this.testStepResults); + } + async invokeStep(step, stepDefinition, hookParameter) { + return await step_runner_1.default.run({ + defaultTimeout: this.supportCodeLibrary.defaultTimeout, + hookParameter, + step, + stepDefinition, + world: this.world, + }); + } + isSkippingSteps() { + return this.getWorstStepResult().status !== Status.PASSED; + } + shouldSkipHook(isBeforeHook) { + return this.skip || (this.isSkippingSteps() && isBeforeHook); + } + async aroundTestStep(testStepId, attempt, runStepFn) { + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + testStepStarted: { + testCaseStartedId: this.currentTestCaseStartedId, + testStepId, + timestamp: this.stopwatch.timestamp(), + }, + })); + this.currentTestStepId = testStepId; + const testStepResult = await runStepFn(); + this.currentTestStepId = null; + this.testStepResults.push(testStepResult); + if (testStepResult.status === Status.FAILED && + attempt + 1 < this.maxAttempts) { + /* + TODO dont rely on `testStepResult.willBeRetried`, it will be moved or removed + see https://github.com/cucumber/cucumber/issues/902 + */ + testStepResult.willBeRetried = true; + } + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + testStepFinished: { + testCaseStartedId: this.currentTestCaseStartedId, + testStepId, + testStepResult, + timestamp: this.stopwatch.timestamp(), + }, + })); + } + async run() { + this.emitTestCase(); + for (let attempt = 0; attempt < this.maxAttempts; attempt++) { + this.currentTestCaseStartedId = this.newId(); + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + testCaseStarted: { + attempt, + testCaseId: this.testCaseId, + id: this.currentTestCaseStartedId, + timestamp: this.stopwatch.timestamp(), + }, + })); + for (const testStep of this.testSteps) { + await this.aroundTestStep(testStep.id, attempt, async () => { + if (testStep.isHook) { + const hookParameter = { + gherkinDocument: this.gherkinDocument, + pickle: this.pickle, + testCaseStartedId: this.currentTestCaseStartedId, + }; + if (!testStep.isBeforeHook) { + hookParameter.result = this.getWorstStepResult(); + } + return await this.runHook(testStep.hookDefinition, hookParameter, testStep.isBeforeHook); + } + else { + return await this.runStep(testStep); + } + }); + } + this.eventBroadcaster.emit('envelope', messages_1.messages.Envelope.fromObject({ + testCaseFinished: { + testCaseStartedId: this.currentTestCaseStartedId, + timestamp: this.stopwatch.timestamp(), + }, + })); + if (!this.getWorstStepResult().willBeRetried) { + break; + } + this.resetTestProgressData(); + } + return this.getWorstStepResult().status; + } + async runHook(hookDefinition, hookParameter, isBeforeHook) { + if (this.shouldSkipHook(isBeforeHook)) { + return messages_1.messages.TestStepFinished.TestStepResult.fromObject({ + status: Status.SKIPPED, + }); + } + return await this.invokeStep(null, hookDefinition, hookParameter); + } + async runStepHooks(stepHooks, stepResult) { + const stepHooksResult = []; + const hookParameter = { + gherkinDocument: this.gherkinDocument, + pickle: this.pickle, + testCaseStartedId: this.currentTestCaseStartedId, + testStepId: this.currentTestStepId, + result: stepResult, + }; + for (const stepHookDefinition of stepHooks) { + stepHooksResult.push(await this.invokeStep(null, stepHookDefinition, hookParameter)); + } + return stepHooksResult; + } + async runStep(testStep) { + if (testStep.stepDefinitions.length === 0) { + return messages_1.messages.TestStepFinished.TestStepResult.fromObject({ + status: Status.UNDEFINED, + duration: { + seconds: '0', + nanos: 0, + }, + }); + } + else if (testStep.stepDefinitions.length > 1) { + return messages_1.messages.TestStepFinished.TestStepResult.fromObject({ + message: helpers_1.getAmbiguousStepException(testStep.stepDefinitions), + status: Status.AMBIGUOUS, + duration: { + seconds: '0', + nanos: 0, + }, + }); + } + else if (this.isSkippingSteps()) { + return messages_1.messages.TestStepFinished.TestStepResult.fromObject({ + status: Status.SKIPPED, + duration: { + seconds: '0', + nanos: 0, + }, + }); + } + let stepResult; + let stepResults = await this.runStepHooks(this.getBeforeStepHookDefinitions(), stepResult); + if (new query_1.Query().getWorstTestStepResult(stepResults).status !== Status.FAILED) { + stepResult = await this.invokeStep(testStep.pickleStep, testStep.stepDefinitions[0]); + stepResults.push(stepResult); + } + const afterStepHookResults = await this.runStepHooks(this.getAfterStepHookDefinitions(), stepResult); + stepResults = stepResults.concat(afterStepHookResults); + const finalStepResult = new query_1.Query().getWorstTestStepResult(stepResults); + let finalDuration = time_1.getZeroDuration(); + for (const result of stepResults) { + finalDuration = time_1.addDurations(finalDuration, result.duration); + } + finalStepResult.duration = finalDuration; + return finalStepResult; + } +} +exports.default = PickleRunner; +//# sourceMappingURL=pickle_runner.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.js.map b/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.js.map new file mode 100644 index 0000000..e909034 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/pickle_runner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pickle_runner.js","sourceRoot":"","sources":["../../src/runtime/pickle_runner.ts"],"names":[],"mappings":"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","sourcesContent":["import { clone } from 'lodash'\nimport { getAmbiguousStepException } from './helpers'\nimport AttachmentManager from './attachment_manager'\nimport StepRunner from './step_runner'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport { addDurations, getZeroDuration } from '../time'\nimport { EventEmitter } from 'events'\nimport {\n ISupportCodeLibrary,\n ITestCaseHookParameter,\n ITestStepHookParameter,\n} from '../support_code_library_builder/types'\nimport TestCaseHookDefinition from '../models/test_case_hook_definition'\nimport TestStepHookDefinition from '../models/test_step_hook_definition'\nimport StepDefinition from '../models/step_definition'\nimport { IDefinition } from '../models/definition'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\nimport { ITestRunStopwatch } from './stopwatch'\nimport { Group } from '@cucumber/cucumber-expressions'\nimport { Query } from '@cucumber/query'\n\nconst { Status } = messages.TestStepFinished.TestStepResult\n\ninterface ITestStep {\n id: string\n isBeforeHook?: boolean\n isHook: boolean\n hookDefinition?: TestCaseHookDefinition\n stepHookDefinition?: TestStepHookDefinition\n pickleStep?: messages.Pickle.IPickleStep\n stepDefinitions?: StepDefinition[]\n}\n\nexport interface INewPickleRunnerOptions {\n eventBroadcaster: EventEmitter\n stopwatch: ITestRunStopwatch\n gherkinDocument: messages.IGherkinDocument\n newId: IdGenerator.NewId\n pickle: messages.IPickle\n retries: number\n skip: boolean\n supportCodeLibrary: ISupportCodeLibrary\n worldParameters: any\n}\n\nexport default class PickleRunner {\n private readonly attachmentManager: AttachmentManager\n private currentTestCaseStartedId: string\n private currentTestStepId: string\n private readonly eventBroadcaster: EventEmitter\n private readonly stopwatch: ITestRunStopwatch\n private readonly gherkinDocument: messages.IGherkinDocument\n private readonly newId: IdGenerator.NewId\n private readonly pickle: messages.IPickle\n private readonly maxAttempts: number\n private readonly skip: boolean\n private readonly supportCodeLibrary: ISupportCodeLibrary\n private readonly testCaseId: string\n private readonly testSteps: ITestStep[]\n private testStepResults: messages.TestStepFinished.ITestStepResult[]\n private world: any\n private readonly worldParameters: any\n\n constructor({\n eventBroadcaster,\n stopwatch,\n gherkinDocument,\n newId,\n pickle,\n retries = 0,\n skip,\n supportCodeLibrary,\n worldParameters,\n }: INewPickleRunnerOptions) {\n this.attachmentManager = new AttachmentManager(({ data, media }) => {\n if (doesNotHaveValue(this.currentTestStepId)) {\n throw new Error(\n 'Cannot attach when a step/hook is not running. Ensure your step/hook waits for the attach to finish.'\n )\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n attachment: {\n body: data,\n contentEncoding: media.encoding,\n mediaType: media.contentType,\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId: this.currentTestStepId,\n },\n })\n )\n })\n this.eventBroadcaster = eventBroadcaster\n this.stopwatch = stopwatch\n this.gherkinDocument = gherkinDocument\n this.maxAttempts = 1 + (skip ? 0 : retries)\n this.newId = newId\n this.pickle = pickle\n this.skip = skip\n this.supportCodeLibrary = supportCodeLibrary\n this.worldParameters = worldParameters\n this.testCaseId = this.newId()\n this.testSteps = this.buildTestSteps()\n this.resetTestProgressData()\n }\n\n resetTestProgressData(): void {\n this.world = new this.supportCodeLibrary.World({\n attach: this.attachmentManager.create.bind(this.attachmentManager),\n log: this.attachmentManager.log.bind(this.attachmentManager),\n parameters: this.worldParameters,\n })\n this.testStepResults = []\n }\n\n buildTestSteps(): ITestStep[] {\n const testSteps: ITestStep[] = []\n this.getBeforeHookDefinitions().forEach((hookDefinition) => {\n testSteps.push({\n id: this.newId(),\n hookDefinition,\n isHook: true,\n isBeforeHook: true,\n })\n })\n this.pickle.steps.forEach((pickleStep) => {\n const stepDefinitions = this.getStepDefinitions(pickleStep)\n testSteps.push({\n id: this.newId(),\n pickleStep,\n stepDefinitions,\n isHook: false,\n })\n })\n this.getAfterHookDefinitions().forEach((hookDefinition) => {\n testSteps.push({\n id: this.newId(),\n hookDefinition,\n isHook: true,\n })\n })\n return testSteps\n }\n\n emitTestCase(): void {\n const testCase = {\n pickleId: this.pickle.id,\n id: this.testCaseId,\n testSteps: this.testSteps.map((testStep) => {\n if (testStep.isHook) {\n return {\n id: testStep.id,\n hookId: testStep.hookDefinition.id,\n }\n } else {\n return {\n id: testStep.id,\n pickleStepId: testStep.pickleStep.id,\n stepDefinitionIds: testStep.stepDefinitions.map((x) => x.id),\n stepMatchArgumentsLists: testStep.stepDefinitions.map((x) => {\n const result = x.expression.match(testStep.pickleStep.text)\n return {\n stepMatchArguments: result.map((arg) => {\n return {\n group: this.mapArgumentGroup(arg.group),\n parameterTypeName: arg.parameterType.name,\n }\n }),\n }\n }),\n }\n }\n }),\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({ testCase })\n )\n }\n\n private mapArgumentGroup(\n group: Group\n ): messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.IGroup {\n return {\n start: group.start,\n value: group.value,\n children: doesHaveValue(group.children)\n ? group.children.map((child) => this.mapArgumentGroup(child))\n : undefined,\n }\n }\n\n getAfterHookDefinitions(): TestCaseHookDefinition[] {\n return clone(this.supportCodeLibrary.afterTestCaseHookDefinitions)\n .reverse()\n .filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle))\n }\n\n getBeforeHookDefinitions(): TestCaseHookDefinition[] {\n return this.supportCodeLibrary.beforeTestCaseHookDefinitions.filter(\n (hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)\n )\n }\n\n getBeforeStepHookDefinitions(): TestStepHookDefinition[] {\n return this.supportCodeLibrary.beforeTestStepHookDefinitions.filter(\n (hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)\n )\n }\n\n getAfterStepHookDefinitions(): TestStepHookDefinition[] {\n return clone(this.supportCodeLibrary.afterTestStepHookDefinitions)\n .reverse()\n .filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle))\n }\n\n getStepDefinitions(\n pickleStep: messages.Pickle.IPickleStep\n ): StepDefinition[] {\n return this.supportCodeLibrary.stepDefinitions.filter((stepDefinition) =>\n stepDefinition.matchesStepName(pickleStep.text)\n )\n }\n\n getWorstStepResult(): messages.TestStepFinished.ITestStepResult {\n if (this.testStepResults.length === 0) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: this.skip ? Status.SKIPPED : Status.PASSED,\n })\n }\n return new Query().getWorstTestStepResult(this.testStepResults)\n }\n\n async invokeStep(\n step: messages.Pickle.IPickleStep,\n stepDefinition: IDefinition,\n hookParameter?: any\n ): Promise {\n return await StepRunner.run({\n defaultTimeout: this.supportCodeLibrary.defaultTimeout,\n hookParameter,\n step,\n stepDefinition,\n world: this.world,\n })\n }\n\n isSkippingSteps(): boolean {\n return this.getWorstStepResult().status !== Status.PASSED\n }\n\n shouldSkipHook(isBeforeHook: boolean): boolean {\n return this.skip || (this.isSkippingSteps() && isBeforeHook)\n }\n\n async aroundTestStep(\n testStepId: string,\n attempt: number,\n runStepFn: () => Promise\n ): Promise {\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testStepStarted: {\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.currentTestStepId = testStepId\n const testStepResult = await runStepFn()\n this.currentTestStepId = null\n this.testStepResults.push(testStepResult)\n if (\n testStepResult.status === Status.FAILED &&\n attempt + 1 < this.maxAttempts\n ) {\n /*\n TODO dont rely on `testStepResult.willBeRetried`, it will be moved or removed\n see https://github.com/cucumber/cucumber/issues/902\n */\n testStepResult.willBeRetried = true\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testStepFinished: {\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId,\n testStepResult,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n }\n\n async run(): Promise {\n this.emitTestCase()\n for (let attempt = 0; attempt < this.maxAttempts; attempt++) {\n this.currentTestCaseStartedId = this.newId()\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testCaseStarted: {\n attempt,\n testCaseId: this.testCaseId,\n id: this.currentTestCaseStartedId,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n for (const testStep of this.testSteps) {\n await this.aroundTestStep(testStep.id, attempt, async () => {\n if (testStep.isHook) {\n const hookParameter: ITestCaseHookParameter = {\n gherkinDocument: this.gherkinDocument,\n pickle: this.pickle,\n testCaseStartedId: this.currentTestCaseStartedId,\n }\n if (!testStep.isBeforeHook) {\n hookParameter.result = this.getWorstStepResult()\n }\n return await this.runHook(\n testStep.hookDefinition,\n hookParameter,\n testStep.isBeforeHook\n )\n } else {\n return await this.runStep(testStep)\n }\n })\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testCaseFinished: {\n testCaseStartedId: this.currentTestCaseStartedId,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n if (!this.getWorstStepResult().willBeRetried) {\n break\n }\n this.resetTestProgressData()\n }\n return this.getWorstStepResult().status\n }\n\n async runHook(\n hookDefinition: TestCaseHookDefinition,\n hookParameter: ITestCaseHookParameter,\n isBeforeHook: boolean\n ): Promise {\n if (this.shouldSkipHook(isBeforeHook)) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: Status.SKIPPED,\n })\n }\n return await this.invokeStep(null, hookDefinition, hookParameter)\n }\n\n async runStepHooks(\n stepHooks: TestStepHookDefinition[],\n stepResult?: messages.TestStepFinished.ITestStepResult\n ): Promise {\n const stepHooksResult = []\n const hookParameter: ITestStepHookParameter = {\n gherkinDocument: this.gherkinDocument,\n pickle: this.pickle,\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId: this.currentTestStepId,\n result: stepResult,\n }\n for (const stepHookDefinition of stepHooks) {\n stepHooksResult.push(\n await this.invokeStep(null, stepHookDefinition, hookParameter)\n )\n }\n return stepHooksResult\n }\n\n async runStep(\n testStep: ITestStep\n ): Promise {\n if (testStep.stepDefinitions.length === 0) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: Status.UNDEFINED,\n duration: {\n seconds: '0',\n nanos: 0,\n },\n })\n } else if (testStep.stepDefinitions.length > 1) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n message: getAmbiguousStepException(testStep.stepDefinitions),\n status: Status.AMBIGUOUS,\n duration: {\n seconds: '0',\n nanos: 0,\n },\n })\n } else if (this.isSkippingSteps()) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: Status.SKIPPED,\n duration: {\n seconds: '0',\n nanos: 0,\n },\n })\n }\n\n let stepResult\n let stepResults = await this.runStepHooks(\n this.getBeforeStepHookDefinitions(),\n stepResult\n )\n if (\n new Query().getWorstTestStepResult(stepResults).status !== Status.FAILED\n ) {\n stepResult = await this.invokeStep(\n testStep.pickleStep,\n testStep.stepDefinitions[0]\n )\n stepResults.push(stepResult)\n }\n const afterStepHookResults = await this.runStepHooks(\n this.getAfterStepHookDefinitions(),\n stepResult\n )\n stepResults = stepResults.concat(afterStepHookResults)\n\n const finalStepResult = new Query().getWorstTestStepResult(stepResults)\n let finalDuration = getZeroDuration()\n for (const result of stepResults) {\n finalDuration = addDurations(finalDuration, result.duration)\n }\n finalStepResult.duration = finalDuration\n return finalStepResult\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/step_runner.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/step_runner.d.ts new file mode 100644 index 0000000..7dc510a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/step_runner.d.ts @@ -0,0 +1,15 @@ +import { messages } from '@cucumber/messages'; +import { ITestCaseHookParameter } from '../support_code_library_builder/types'; +import { IDefinition } from '../models/definition'; +export interface IRunOptions { + defaultTimeout: number; + hookParameter: ITestCaseHookParameter; + step: messages.Pickle.IPickleStep; + stepDefinition: IDefinition; + world: any; +} +export declare function run({ defaultTimeout, hookParameter, step, stepDefinition, world, }: IRunOptions): Promise; +declare const _default: { + run: typeof run; +}; +export default _default; diff --git a/node_modules/@cucumber/cucumber/lib/runtime/step_runner.js b/node_modules/@cucumber/cucumber/lib/runtime/step_runner.js new file mode 100644 index 0000000..090c0a8 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/step_runner.js @@ -0,0 +1,83 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.run = void 0; +const lodash_1 = __importDefault(require("lodash")); +const status_1 = __importDefault(require("../status")); +const time_1 = __importStar(require("../time")); +const user_code_runner_1 = __importDefault(require("../user_code_runner")); +const messages_1 = require("@cucumber/messages"); +const assertion_error_formatter_1 = require("assertion-error-formatter"); +const value_checker_1 = require("../value_checker"); +const { beginTiming, endTiming } = time_1.default; +async function run({ defaultTimeout, hookParameter, step, stepDefinition, world, }) { + beginTiming(); + let error, result, invocationData; + try { + invocationData = await stepDefinition.getInvocationParameters({ + hookParameter, + step, + world, + }); + } + catch (err) { + error = err; + } + if (value_checker_1.doesNotHaveValue(error)) { + const timeoutInMilliseconds = value_checker_1.valueOrDefault(stepDefinition.options.timeout, defaultTimeout); + if (lodash_1.default.includes(invocationData.validCodeLengths, stepDefinition.code.length)) { + const data = await user_code_runner_1.default.run({ + argsArray: invocationData.parameters, + fn: stepDefinition.code, + thisArg: world, + timeoutInMilliseconds, + }); + error = data.error; + result = data.result; + } + else { + error = invocationData.getInvalidCodeLengthMessage(); + } + } + const testStepResult = messages_1.messages.TestStepFinished.TestStepResult.fromObject({ + duration: time_1.millisecondsToDuration(endTiming()), + }); + if (result === 'skipped') { + testStepResult.status = status_1.default.SKIPPED; + } + else if (result === 'pending') { + testStepResult.status = status_1.default.PENDING; + } + else if (value_checker_1.doesHaveValue(error)) { + testStepResult.message = assertion_error_formatter_1.format(error); + testStepResult.status = status_1.default.FAILED; + } + else { + testStepResult.status = status_1.default.PASSED; + } + return testStepResult; +} +exports.run = run; +exports.default = { run }; +//# sourceMappingURL=step_runner.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/step_runner.js.map b/node_modules/@cucumber/cucumber/lib/runtime/step_runner.js.map new file mode 100644 index 0000000..2734f4a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/step_runner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"step_runner.js","sourceRoot":"","sources":["../../src/runtime/step_runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsB;AACtB,uDAA8B;AAC9B,gDAAsD;AACtD,2EAAgD;AAChD,iDAA6C;AAC7C,yEAAkD;AAGlD,oDAIyB;AAEzB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,cAAI,CAAA;AAUhC,KAAK,UAAU,GAAG,CAAC,EACxB,cAAc,EACd,aAAa,EACb,IAAI,EACJ,cAAc,EACd,KAAK,GACO;IACZ,WAAW,EAAE,CAAA;IACb,IAAI,KAAU,EACZ,MAAiD,EACjD,cAA0C,CAAA;IAE5C,IAAI;QACF,cAAc,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC;YAC5D,aAAa;YACb,IAAI;YACJ,KAAK;SACN,CAAC,CAAA;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,KAAK,GAAG,GAAG,CAAA;KACZ;IAED,IAAI,gCAAgB,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,qBAAqB,GAAG,8BAAc,CAC1C,cAAc,CAAC,OAAO,CAAC,OAAO,EAC9B,cAAc,CACf,CAAA;QAED,IACE,gBAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EACvE;YACA,MAAM,IAAI,GAAG,MAAM,0BAAc,CAAC,GAAG,CAAC;gBACpC,SAAS,EAAE,cAAc,CAAC,UAAU;gBACpC,EAAE,EAAE,cAAc,CAAC,IAAI;gBACvB,OAAO,EAAE,KAAK;gBACd,qBAAqB;aACtB,CAAC,CAAA;YACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;YAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;SACrB;aAAM;YACL,KAAK,GAAG,cAAc,CAAC,2BAA2B,EAAE,CAAA;SACrD;KACF;IAED,MAAM,cAAc,GAAG,mBAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC;QACzE,QAAQ,EAAE,6BAAsB,CAAC,SAAS,EAAE,CAAC;KAC9C,CAAC,CAAA;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,OAAO,CAAA;KACvC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE;QAC/B,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,OAAO,CAAA;KACvC;SAAM,IAAI,6BAAa,CAAC,KAAK,CAAC,EAAE;QAC/B,cAAc,CAAC,OAAO,GAAG,kCAAM,CAAC,KAAK,CAAC,CAAA;QACtC,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,MAAM,CAAA;KACtC;SAAM;QACL,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,MAAM,CAAA;KACtC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AA5DD,kBA4DC;AAED,kBAAe,EAAE,GAAG,EAAE,CAAA","sourcesContent":["import _ from 'lodash'\nimport Status from '../status'\nimport Time, { millisecondsToDuration } from '../time'\nimport UserCodeRunner from '../user_code_runner'\nimport { messages } from '@cucumber/messages'\nimport { format } from 'assertion-error-formatter'\nimport { ITestCaseHookParameter } from '../support_code_library_builder/types'\nimport { IDefinition, IGetInvocationDataResponse } from '../models/definition'\nimport {\n doesHaveValue,\n doesNotHaveValue,\n valueOrDefault,\n} from '../value_checker'\n\nconst { beginTiming, endTiming } = Time\n\nexport interface IRunOptions {\n defaultTimeout: number\n hookParameter: ITestCaseHookParameter\n step: messages.Pickle.IPickleStep\n stepDefinition: IDefinition\n world: any\n}\n\nexport async function run({\n defaultTimeout,\n hookParameter,\n step,\n stepDefinition,\n world,\n}: IRunOptions): Promise {\n beginTiming()\n let error: any,\n result: messages.TestStepFinished.ITestStepResult,\n invocationData: IGetInvocationDataResponse\n\n try {\n invocationData = await stepDefinition.getInvocationParameters({\n hookParameter,\n step,\n world,\n })\n } catch (err) {\n error = err\n }\n\n if (doesNotHaveValue(error)) {\n const timeoutInMilliseconds = valueOrDefault(\n stepDefinition.options.timeout,\n defaultTimeout\n )\n\n if (\n _.includes(invocationData.validCodeLengths, stepDefinition.code.length)\n ) {\n const data = await UserCodeRunner.run({\n argsArray: invocationData.parameters,\n fn: stepDefinition.code,\n thisArg: world,\n timeoutInMilliseconds,\n })\n error = data.error\n result = data.result\n } else {\n error = invocationData.getInvalidCodeLengthMessage()\n }\n }\n\n const testStepResult = messages.TestStepFinished.TestStepResult.fromObject({\n duration: millisecondsToDuration(endTiming()),\n })\n\n if (result === 'skipped') {\n testStepResult.status = Status.SKIPPED\n } else if (result === 'pending') {\n testStepResult.status = Status.PENDING\n } else if (doesHaveValue(error)) {\n testStepResult.message = format(error)\n testStepResult.status = Status.FAILED\n } else {\n testStepResult.status = Status.PASSED\n }\n\n return testStepResult\n}\n\nexport default { run }\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.d.ts b/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.d.ts new file mode 100644 index 0000000..d9cd4ac --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.d.ts @@ -0,0 +1,28 @@ +import { messages } from '@cucumber/messages'; +import { Duration } from 'durations'; +export interface ITestRunStopwatch { + from: (duration: Duration) => ITestRunStopwatch; + start: () => ITestRunStopwatch; + stop: () => ITestRunStopwatch; + duration: () => Duration; + timestamp: () => messages.ITimestamp; +} +export declare class RealTestRunStopwatch implements ITestRunStopwatch { + private readonly stopwatch; + private base; + from(duration: Duration): ITestRunStopwatch; + start(): ITestRunStopwatch; + stop(): ITestRunStopwatch; + duration(): Duration; + timestamp(): messages.ITimestamp; +} +export declare class PredictableTestRunStopwatch implements ITestRunStopwatch { + private count; + private base; + from(duration: Duration): ITestRunStopwatch; + start(): ITestRunStopwatch; + stop(): ITestRunStopwatch; + duration(): Duration; + timestamp(): messages.ITimestamp; + private convertToTimestamp; +} diff --git a/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.js b/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.js new file mode 100644 index 0000000..38b5556 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.js @@ -0,0 +1,73 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PredictableTestRunStopwatch = exports.RealTestRunStopwatch = void 0; +const messages_1 = require("@cucumber/messages"); +const durations_1 = require("durations"); +class RealTestRunStopwatch { + constructor() { + this.stopwatch = durations_1.stopwatch(); + this.base = null; + } + from(duration) { + this.base = duration; + return this; + } + start() { + this.stopwatch.start(); + return this; + } + stop() { + this.stopwatch.stop(); + return this; + } + duration() { + const current = this.stopwatch.duration(); + if (this.base !== null) { + return durations_1.duration(this.base.nanos() + current.nanos()); + } + return current; + } + timestamp() { + return messages_1.TimeConversion.millisecondsSinceEpochToTimestamp(Date.now()); + } +} +exports.RealTestRunStopwatch = RealTestRunStopwatch; +class PredictableTestRunStopwatch { + constructor() { + this.count = 0; + this.base = null; + } + from(duration) { + this.base = duration; + return this; + } + start() { + return this; + } + stop() { + return this; + } + duration() { + const current = durations_1.duration(this.count * 1000000); + if (this.base !== null) { + return durations_1.duration(this.base.nanos() + current.nanos()); + } + return current; + } + timestamp() { + const fakeTimestamp = this.convertToTimestamp(this.duration()); + this.count++; + return fakeTimestamp; + } + // TODO: Remove. It's impossible to convert timestamps to durations and vice-versa + convertToTimestamp(duration) { + const seconds = Math.floor(duration.seconds()); + const nanos = Math.floor((duration.seconds() - seconds) * 1000000000); + return { + seconds, + nanos, + }; + } +} +exports.PredictableTestRunStopwatch = PredictableTestRunStopwatch; +//# sourceMappingURL=stopwatch.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.js.map b/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.js.map new file mode 100644 index 0000000..001017b --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/runtime/stopwatch.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stopwatch.js","sourceRoot":"","sources":["../../src/runtime/stopwatch.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAC7D,yCAAoE;AAUpE,MAAa,oBAAoB;IAAjC;QACmB,cAAS,GAAc,qBAAS,EAAE,CAAA;QAC3C,SAAI,GAAa,IAAI,CAAA;IA4B/B,CAAC;IA1BC,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,OAAO,oBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACrD;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS;QACP,OAAO,yBAAc,CAAC,iCAAiC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACrE,CAAC;CACF;AA9BD,oDA8BC;AAED,MAAa,2BAA2B;IAAxC;QACU,UAAK,GAAG,CAAC,CAAA;QACT,SAAI,GAAa,IAAI,CAAA;IAsC/B,CAAC;IApCC,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,oBAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,OAAO,oBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACrD;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS;QACP,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,kFAAkF;IAC1E,kBAAkB,CAAC,QAAkB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,CAAA;QACrE,OAAO;YACL,OAAO;YACP,KAAK;SACN,CAAA;IACH,CAAC;CACF;AAxCD,kEAwCC","sourcesContent":["import { messages, TimeConversion } from '@cucumber/messages'\nimport { stopwatch, Stopwatch, duration, Duration } from 'durations'\n\nexport interface ITestRunStopwatch {\n from: (duration: Duration) => ITestRunStopwatch\n start: () => ITestRunStopwatch\n stop: () => ITestRunStopwatch\n duration: () => Duration\n timestamp: () => messages.ITimestamp\n}\n\nexport class RealTestRunStopwatch implements ITestRunStopwatch {\n private readonly stopwatch: Stopwatch = stopwatch()\n private base: Duration = null\n\n from(duration: Duration): ITestRunStopwatch {\n this.base = duration\n return this\n }\n\n start(): ITestRunStopwatch {\n this.stopwatch.start()\n return this\n }\n\n stop(): ITestRunStopwatch {\n this.stopwatch.stop()\n return this\n }\n\n duration(): Duration {\n const current = this.stopwatch.duration()\n if (this.base !== null) {\n return duration(this.base.nanos() + current.nanos())\n }\n return current\n }\n\n timestamp(): messages.ITimestamp {\n return TimeConversion.millisecondsSinceEpochToTimestamp(Date.now())\n }\n}\n\nexport class PredictableTestRunStopwatch implements ITestRunStopwatch {\n private count = 0\n private base: Duration = null\n\n from(duration: Duration): ITestRunStopwatch {\n this.base = duration\n return this\n }\n\n start(): ITestRunStopwatch {\n return this\n }\n\n stop(): ITestRunStopwatch {\n return this\n }\n\n duration(): Duration {\n const current = duration(this.count * 1000000)\n if (this.base !== null) {\n return duration(this.base.nanos() + current.nanos())\n }\n return current\n }\n\n timestamp(): messages.ITimestamp {\n const fakeTimestamp = this.convertToTimestamp(this.duration())\n this.count++\n return fakeTimestamp\n }\n\n // TODO: Remove. It's impossible to convert timestamps to durations and vice-versa\n private convertToTimestamp(duration: Duration): messages.ITimestamp {\n const seconds = Math.floor(duration.seconds())\n const nanos = Math.floor((duration.seconds() - seconds) * 1000000000)\n return {\n seconds,\n nanos,\n }\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/stack_trace_filter.d.ts b/node_modules/@cucumber/cucumber/lib/stack_trace_filter.d.ts new file mode 100644 index 0000000..f7da836 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/stack_trace_filter.d.ts @@ -0,0 +1,11 @@ +/// +import CallSite = NodeJS.CallSite; +export declare function isFileNameInCucumber(fileName: string): boolean; +export default class StackTraceFilter { + private currentFilter; + filter(): void; + isErrorInCucumber(frames: CallSite[]): boolean; + isFrameInCucumber(frame: CallSite): boolean; + isFrameInNode(frame: CallSite): boolean; + unfilter(): void; +} diff --git a/node_modules/@cucumber/cucumber/lib/stack_trace_filter.js b/node_modules/@cucumber/cucumber/lib/stack_trace_filter.js new file mode 100644 index 0000000..19cbcd6 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/stack_trace_filter.js @@ -0,0 +1,47 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isFileNameInCucumber = void 0; +const lodash_1 = __importDefault(require("lodash")); +const stack_chain_1 = __importDefault(require("stack-chain")); +const path_1 = __importDefault(require("path")); +const value_checker_1 = require("./value_checker"); +const projectRootPath = path_1.default.join(__dirname, '..'); +const projectChildDirs = ['src', 'lib', 'node_modules']; +function isFileNameInCucumber(fileName) { + return lodash_1.default.some(projectChildDirs, (dir) => lodash_1.default.startsWith(fileName, path_1.default.join(projectRootPath, dir))); +} +exports.isFileNameInCucumber = isFileNameInCucumber; +class StackTraceFilter { + filter() { + this.currentFilter = stack_chain_1.default.filter.attach((_err, frames) => { + if (this.isErrorInCucumber(frames)) { + return frames; + } + const index = lodash_1.default.findIndex(frames, this.isFrameInCucumber.bind(this)); + if (index === -1) { + return frames; + } + return frames.slice(0, index); + }); + } + isErrorInCucumber(frames) { + const filteredFrames = lodash_1.default.reject(frames, this.isFrameInNode.bind(this)); + return (filteredFrames.length > 0 && this.isFrameInCucumber(filteredFrames[0])); + } + isFrameInCucumber(frame) { + const fileName = value_checker_1.valueOrDefault(frame.getFileName(), ''); + return isFileNameInCucumber(fileName); + } + isFrameInNode(frame) { + const fileName = value_checker_1.valueOrDefault(frame.getFileName(), ''); + return !lodash_1.default.includes(fileName, path_1.default.sep); + } + unfilter() { + stack_chain_1.default.filter.deattach(this.currentFilter); + } +} +exports.default = StackTraceFilter; +//# sourceMappingURL=stack_trace_filter.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/stack_trace_filter.js.map b/node_modules/@cucumber/cucumber/lib/stack_trace_filter.js.map new file mode 100644 index 0000000..733faff --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/stack_trace_filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stack_trace_filter.js","sourceRoot":"","sources":["../src/stack_trace_filter.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,8DAAoC;AACpC,gDAAuB;AACvB,mDAAgD;AAGhD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAClD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;AAEvD,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,OAAO,gBAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CACtC,gBAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CACxD,CAAA;AACH,CAAC;AAJD,oDAIC;AAED,MAAqB,gBAAgB;IAGnC,MAAM;QACJ,IAAI,CAAC,aAAa,GAAG,qBAAU,CAAC,MAAM,CAAC,MAAM,CAC3C,CAAC,IAAS,EAAE,MAAkB,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;gBAClC,OAAO,MAAM,CAAA;aACd;YACD,MAAM,KAAK,GAAG,gBAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACpE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,OAAO,MAAM,CAAA;aACd;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC,CACF,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,MAAkB;QAClC,MAAM,cAAc,GAAG,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,OAAO,CACL,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CACvE,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,KAAe;QAC/B,MAAM,QAAQ,GAAG,8BAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,aAAa,CAAC,KAAe;QAC3B,MAAM,QAAQ,GAAG,8BAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,gBAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAI,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,QAAQ;QACN,qBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAChD,CAAC;CACF;AAtCD,mCAsCC","sourcesContent":["import _ from 'lodash'\nimport stackChain from 'stack-chain'\nimport path from 'path'\nimport { valueOrDefault } from './value_checker'\nimport CallSite = NodeJS.CallSite\n\nconst projectRootPath = path.join(__dirname, '..')\nconst projectChildDirs = ['src', 'lib', 'node_modules']\n\nexport function isFileNameInCucumber(fileName: string): boolean {\n return _.some(projectChildDirs, (dir) =>\n _.startsWith(fileName, path.join(projectRootPath, dir))\n )\n}\n\nexport default class StackTraceFilter {\n private currentFilter: CallSite[]\n\n filter(): void {\n this.currentFilter = stackChain.filter.attach(\n (_err: any, frames: CallSite[]) => {\n if (this.isErrorInCucumber(frames)) {\n return frames\n }\n const index = _.findIndex(frames, this.isFrameInCucumber.bind(this))\n if (index === -1) {\n return frames\n }\n return frames.slice(0, index)\n }\n )\n }\n\n isErrorInCucumber(frames: CallSite[]): boolean {\n const filteredFrames = _.reject(frames, this.isFrameInNode.bind(this))\n return (\n filteredFrames.length > 0 && this.isFrameInCucumber(filteredFrames[0])\n )\n }\n\n isFrameInCucumber(frame: CallSite): boolean {\n const fileName = valueOrDefault(frame.getFileName(), '')\n return isFileNameInCucumber(fileName)\n }\n\n isFrameInNode(frame: CallSite): boolean {\n const fileName = valueOrDefault(frame.getFileName(), '')\n return !_.includes(fileName, path.sep)\n }\n\n unfilter(): void {\n stackChain.filter.deattach(this.currentFilter)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/status.d.ts b/node_modules/@cucumber/cucumber/lib/status.d.ts new file mode 100644 index 0000000..4b2a7d4 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/status.d.ts @@ -0,0 +1,3 @@ +import { messages } from '@cucumber/messages'; +declare const _default: typeof messages.TestStepFinished.TestStepResult.Status; +export default _default; diff --git a/node_modules/@cucumber/cucumber/lib/status.js b/node_modules/@cucumber/cucumber/lib/status.js new file mode 100644 index 0000000..f800332 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/status.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const messages_1 = require("@cucumber/messages"); +exports.default = messages_1.messages.TestStepFinished.TestStepResult.Status; +//# sourceMappingURL=status.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/status.js.map b/node_modules/@cucumber/cucumber/lib/status.js.map new file mode 100644 index 0000000..3bce846 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/status.js.map @@ -0,0 +1 @@ +{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":";;AAAA,iDAA6C;AAE7C,kBAAe,mBAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAA","sourcesContent":["import { messages } from '@cucumber/messages'\n\nexport default messages.TestStepFinished.TestStepResult.Status\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/step_arguments.d.ts b/node_modules/@cucumber/cucumber/lib/step_arguments.d.ts new file mode 100644 index 0000000..1154ff2 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/step_arguments.d.ts @@ -0,0 +1,6 @@ +import { messages } from '@cucumber/messages'; +export interface IPickleStepArgumentFunctionMap { + dataTable: (arg: messages.PickleStepArgument.IPickleTable) => T; + docString: (arg: messages.PickleStepArgument.IPickleDocString) => T; +} +export declare function parseStepArgument(arg: messages.IPickleStepArgument, mapping: IPickleStepArgumentFunctionMap): T; diff --git a/node_modules/@cucumber/cucumber/lib/step_arguments.js b/node_modules/@cucumber/cucumber/lib/step_arguments.js new file mode 100644 index 0000000..0ea1ea2 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/step_arguments.js @@ -0,0 +1,19 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseStepArgument = void 0; +const util_1 = __importDefault(require("util")); +const value_checker_1 = require("./value_checker"); +function parseStepArgument(arg, mapping) { + if (value_checker_1.doesHaveValue(arg.dataTable)) { + return mapping.dataTable(arg.dataTable); + } + else if (value_checker_1.doesHaveValue(arg.docString)) { + return mapping.docString(arg.docString); + } + throw new Error(`Unknown step argument: ${util_1.default.inspect(arg)}`); +} +exports.parseStepArgument = parseStepArgument; +//# sourceMappingURL=step_arguments.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/step_arguments.js.map b/node_modules/@cucumber/cucumber/lib/step_arguments.js.map new file mode 100644 index 0000000..2e79fb9 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/step_arguments.js.map @@ -0,0 +1 @@ +{"version":3,"file":"step_arguments.js","sourceRoot":"","sources":["../src/step_arguments.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEvB,mDAA+C;AAO/C,SAAgB,iBAAiB,CAC/B,GAAiC,EACjC,OAA0C;IAE1C,IAAI,6BAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAChC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACxC;SAAM,IAAI,6BAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACxC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAChE,CAAC;AAVD,8CAUC","sourcesContent":["import util from 'util'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue } from './value_checker'\n\nexport interface IPickleStepArgumentFunctionMap {\n dataTable: (arg: messages.PickleStepArgument.IPickleTable) => T\n docString: (arg: messages.PickleStepArgument.IPickleDocString) => T\n}\n\nexport function parseStepArgument(\n arg: messages.IPickleStepArgument,\n mapping: IPickleStepArgumentFunctionMap\n): T {\n if (doesHaveValue(arg.dataTable)) {\n return mapping.dataTable(arg.dataTable)\n } else if (doesHaveValue(arg.docString)) {\n return mapping.docString(arg.docString)\n }\n throw new Error(`Unknown step argument: ${util.inspect(arg)}`)\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.d.ts b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.d.ts new file mode 100644 index 0000000..2e86658 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.d.ts @@ -0,0 +1,5 @@ +import { ParameterType } from '@cucumber/cucumber-expressions'; +import { ILineAndUri } from '../types'; +import { IParameterTypeDefinition } from './types'; +export declare function getDefinitionLineAndUri(cwd: string): ILineAndUri; +export declare function buildParameterType({ name, regexp, transformer, useForSnippets, preferForRegexpMatch, }: IParameterTypeDefinition): ParameterType; diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.js b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.js new file mode 100644 index 0000000..b69c9ac --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.js @@ -0,0 +1,41 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.buildParameterType = exports.getDefinitionLineAndUri = void 0; +const lodash_1 = __importDefault(require("lodash")); +const cucumber_expressions_1 = require("@cucumber/cucumber-expressions"); +const path_1 = __importDefault(require("path")); +const stacktrace_js_1 = __importDefault(require("stacktrace-js")); +const stack_trace_filter_1 = require("../stack_trace_filter"); +const value_checker_1 = require("../value_checker"); +function getDefinitionLineAndUri(cwd) { + let line; + let uri; + const stackframes = stacktrace_js_1.default.getSync(); + const stackframe = lodash_1.default.find(stackframes, (frame) => { + return !stack_trace_filter_1.isFileNameInCucumber(frame.getFileName()); + }); + if (value_checker_1.doesHaveValue(stackframe)) { + line = stackframe.getLineNumber(); + uri = stackframe.getFileName(); + if (value_checker_1.doesHaveValue(uri)) { + uri = path_1.default.relative(cwd, uri); + } + } + return { + line: value_checker_1.valueOrDefault(line, 0), + uri: value_checker_1.valueOrDefault(uri, 'unknown'), + }; +} +exports.getDefinitionLineAndUri = getDefinitionLineAndUri; +function buildParameterType({ name, regexp, transformer, useForSnippets, preferForRegexpMatch, }) { + if (typeof useForSnippets !== 'boolean') + useForSnippets = true; + if (typeof preferForRegexpMatch !== 'boolean') + preferForRegexpMatch = false; + return new cucumber_expressions_1.ParameterType(name, regexp, null, transformer, useForSnippets, preferForRegexpMatch); +} +exports.buildParameterType = buildParameterType; +//# sourceMappingURL=build_helpers.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.js.map b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.js.map new file mode 100644 index 0000000..1c67fff --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/build_helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"build_helpers.js","sourceRoot":"","sources":["../../src/support_code_library_builder/build_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,yEAA8D;AAC9D,gDAAuB;AACvB,kEAAsC;AACtC,8DAA4D;AAC5D,oDAAgE;AAIhE,SAAgB,uBAAuB,CAAC,GAAW;IACjD,IAAI,IAAY,CAAA;IAChB,IAAI,GAAW,CAAA;IACf,MAAM,WAAW,GAAG,uBAAU,CAAC,OAAO,EAAE,CAAA;IACxC,MAAM,UAAU,GAAG,gBAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/C,OAAO,CAAC,yCAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,IAAI,6BAAa,CAAC,UAAU,CAAC,EAAE;QAC7B,IAAI,GAAG,UAAU,CAAC,aAAa,EAAE,CAAA;QACjC,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;QAC9B,IAAI,6BAAa,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;SAC9B;KACF;IACD,OAAO;QACL,IAAI,EAAE,8BAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,GAAG,EAAE,8BAAc,CAAC,GAAG,EAAE,SAAS,CAAC;KACpC,CAAA;AACH,CAAC;AAlBD,0DAkBC;AAED,SAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,MAAM,EACN,WAAW,EACX,cAAc,EACd,oBAAoB,GACU;IAC9B,IAAI,OAAO,cAAc,KAAK,SAAS;QAAE,cAAc,GAAG,IAAI,CAAA;IAC9D,IAAI,OAAO,oBAAoB,KAAK,SAAS;QAAE,oBAAoB,GAAG,KAAK,CAAA;IAC3E,OAAO,IAAI,oCAAa,CACtB,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,WAAW,EACX,cAAc,EACd,oBAAoB,CACrB,CAAA;AACH,CAAC;AAjBD,gDAiBC","sourcesContent":["import _ from 'lodash'\nimport { ParameterType } from '@cucumber/cucumber-expressions'\nimport path from 'path'\nimport StackTrace from 'stacktrace-js'\nimport { isFileNameInCucumber } from '../stack_trace_filter'\nimport { doesHaveValue, valueOrDefault } from '../value_checker'\nimport { ILineAndUri } from '../types'\nimport { IParameterTypeDefinition } from './types'\n\nexport function getDefinitionLineAndUri(cwd: string): ILineAndUri {\n let line: number\n let uri: string\n const stackframes = StackTrace.getSync()\n const stackframe = _.find(stackframes, (frame) => {\n return !isFileNameInCucumber(frame.getFileName())\n })\n if (doesHaveValue(stackframe)) {\n line = stackframe.getLineNumber()\n uri = stackframe.getFileName()\n if (doesHaveValue(uri)) {\n uri = path.relative(cwd, uri)\n }\n }\n return {\n line: valueOrDefault(line, 0),\n uri: valueOrDefault(uri, 'unknown'),\n }\n}\n\nexport function buildParameterType({\n name,\n regexp,\n transformer,\n useForSnippets,\n preferForRegexpMatch,\n}: IParameterTypeDefinition): ParameterType {\n if (typeof useForSnippets !== 'boolean') useForSnippets = true\n if (typeof preferForRegexpMatch !== 'boolean') preferForRegexpMatch = false\n return new ParameterType(\n name,\n regexp,\n null,\n transformer,\n useForSnippets,\n preferForRegexpMatch\n )\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.d.ts b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.d.ts new file mode 100644 index 0000000..f8f55e3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.d.ts @@ -0,0 +1,10 @@ +export interface IDefinitionConfig { + code: any; + line: number; + uri: string; +} +export interface IValidateNoGeneratorFunctionsRequest { + cwd: string; + definitionConfigs: IDefinitionConfig[]; +} +export declare function validateNoGeneratorFunctions({ cwd, definitionConfigs, }: IValidateNoGeneratorFunctionsRequest): void; diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.js b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.js new file mode 100644 index 0000000..4b599a9 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.js @@ -0,0 +1,26 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validateNoGeneratorFunctions = void 0; +const is_generator_1 = __importDefault(require("is-generator")); +const path_1 = __importDefault(require("path")); +function validateNoGeneratorFunctions({ cwd, definitionConfigs, }) { + const generatorDefinitionConfigs = definitionConfigs.filter((definitionConfig) => is_generator_1.default.fn(definitionConfig.code)); + if (generatorDefinitionConfigs.length > 0) { + const references = generatorDefinitionConfigs + .map((definitionConfig) => `${path_1.default.relative(cwd, definitionConfig.uri)}:${definitionConfig.line.toString()}`) + .join('\n '); + const message = ` + The following hook/step definitions use generator functions: + + ${references} + + Use 'this.setDefinitionFunctionWrapper(fn)' to wrap them in a function that returns a promise. + `; + throw new Error(message); + } +} +exports.validateNoGeneratorFunctions = validateNoGeneratorFunctions; +//# sourceMappingURL=finalize_helpers.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.js.map b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.js.map new file mode 100644 index 0000000..6bd4c23 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/finalize_helpers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"finalize_helpers.js","sourceRoot":"","sources":["../../src/support_code_library_builder/finalize_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAsC;AACtC,gDAAuB;AAavB,SAAgB,4BAA4B,CAAC,EAC3C,GAAG,EACH,iBAAiB,GACoB;IACrC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,MAAM,CACzD,CAAC,gBAAgB,EAAE,EAAE,CAAC,sBAAW,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC5D,CAAA;IACD,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,MAAM,UAAU,GAAG,0BAA0B;aAC1C,GAAG,CACF,CAAC,gBAAgB,EAAE,EAAE,CACnB,GAAG,cAAI,CAAC,QAAQ,CACd,GAAG,EACH,gBAAgB,CAAC,GAAG,CACrB,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAC1C;aACA,IAAI,CAAC,MAAM,CAAC,CAAA;QACf,MAAM,OAAO,GAAG;;;UAGV,UAAU;;;OAGb,CAAA;QACH,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;KACzB;AACH,CAAC;AA1BD,oEA0BC","sourcesContent":["import isGenerator from 'is-generator'\nimport path from 'path'\n\nexport interface IDefinitionConfig {\n code: any\n line: number\n uri: string\n}\n\nexport interface IValidateNoGeneratorFunctionsRequest {\n cwd: string\n definitionConfigs: IDefinitionConfig[]\n}\n\nexport function validateNoGeneratorFunctions({\n cwd,\n definitionConfigs,\n}: IValidateNoGeneratorFunctionsRequest): void {\n const generatorDefinitionConfigs = definitionConfigs.filter(\n (definitionConfig) => isGenerator.fn(definitionConfig.code)\n )\n if (generatorDefinitionConfigs.length > 0) {\n const references = generatorDefinitionConfigs\n .map(\n (definitionConfig) =>\n `${path.relative(\n cwd,\n definitionConfig.uri\n )}:${definitionConfig.line.toString()}`\n )\n .join('\\n ')\n const message = `\n The following hook/step definitions use generator functions:\n\n ${references}\n\n Use 'this.setDefinitionFunctionWrapper(fn)' to wrap them in a function that returns a promise.\n `\n throw new Error(message)\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.d.ts b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.d.ts new file mode 100644 index 0000000..d8f9027 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.d.ts @@ -0,0 +1,62 @@ +import { IdGenerator, messages } from '@cucumber/messages'; +import TestCaseHookDefinition from '../models/test_case_hook_definition'; +import TestStepHookDefinition from '../models/test_step_hook_definition'; +import TestRunHookDefinition from '../models/test_run_hook_definition'; +import StepDefinition from '../models/step_definition'; +import { DefineStepPattern, IDefineStepOptions, IDefineSupportCodeMethods, IDefineTestCaseHookOptions, IDefineTestStepHookOptions, IDefineTestRunHookOptions, IParameterTypeDefinition, ISupportCodeLibrary, TestCaseHookFunction, TestStepHookFunction } from './types'; +interface ITestCaseHookDefinitionConfig { + code: any; + line: number; + options: any; + uri: string; +} +interface ITestStepHookDefinitionConfig { + code: any; + line: number; + options: any; + uri: string; +} +interface ITestRunHookDefinitionConfig { + code: any; + line: number; + options: any; + uri: string; +} +export declare const builtinParameterTypes: string[]; +export declare class SupportCodeLibraryBuilder { + readonly methods: IDefineSupportCodeMethods; + private afterTestCaseHookDefinitionConfigs; + private afterTestRunHookDefinitionConfigs; + private afterTestStepHookDefinitionConfigs; + private beforeTestCaseHookDefinitionConfigs; + private beforeTestRunHookDefinitionConfigs; + private beforeTestStepHookDefinitionConfigs; + private cwd; + private defaultTimeout; + private definitionFunctionWrapper; + private newId; + private parameterTypeRegistry; + private stepDefinitionConfigs; + private World; + constructor(); + defineParameterType(options: IParameterTypeDefinition): void; + defineStep(pattern: DefineStepPattern, options: IDefineStepOptions | Function, code?: Function): void; + defineTestCaseHook(getCollection: () => ITestCaseHookDefinitionConfig[]): (options: string | IDefineTestCaseHookOptions | TestCaseHookFunction, code?: TestCaseHookFunction) => void; + defineTestStepHook(getCollection: () => ITestStepHookDefinitionConfig[]): (options: string | IDefineTestStepHookOptions | TestStepHookFunction, code?: TestStepHookFunction) => void; + defineTestRunHook(getCollection: () => ITestRunHookDefinitionConfig[]): (options: IDefineTestRunHookOptions | Function, code?: Function) => void; + wrapCode({ code, wrapperOptions, }: { + code: Function; + wrapperOptions: any; + }): Function; + buildTestCaseHookDefinitions(configs: ITestCaseHookDefinitionConfig[]): TestCaseHookDefinition[]; + buildTestStepHookDefinitions(configs: ITestStepHookDefinitionConfig[]): TestStepHookDefinition[]; + buildTestRunHookDefinitions(configs: ITestRunHookDefinitionConfig[]): TestRunHookDefinition[]; + buildStepDefinitions(): { + stepDefinitions: StepDefinition[]; + undefinedParameterTypes: messages.IUndefinedParameterType[]; + }; + finalize(): ISupportCodeLibrary; + reset(cwd: string, newId: IdGenerator.NewId): void; +} +declare const _default: SupportCodeLibraryBuilder; +export default _default; diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.js b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.js new file mode 100644 index 0000000..f0bc0f3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.js @@ -0,0 +1,281 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SupportCodeLibraryBuilder = exports.builtinParameterTypes = void 0; +const lodash_1 = __importDefault(require("lodash")); +const build_helpers_1 = require("./build_helpers"); +const test_case_hook_definition_1 = __importDefault(require("../models/test_case_hook_definition")); +const test_step_hook_definition_1 = __importDefault(require("../models/test_step_hook_definition")); +const test_run_hook_definition_1 = __importDefault(require("../models/test_run_hook_definition")); +const step_definition_1 = __importDefault(require("../models/step_definition")); +const helpers_1 = require("../formatter/helpers"); +const validate_arguments_1 = __importDefault(require("./validate_arguments")); +const util_arity_1 = __importDefault(require("util-arity")); +const cucumber_expressions_1 = require("@cucumber/cucumber-expressions"); +const value_checker_1 = require("../value_checker"); +const finalize_helpers_1 = require("./finalize_helpers"); +const world_1 = __importDefault(require("./world")); +exports.builtinParameterTypes = ['int', 'float', 'word', 'string', '']; +class SupportCodeLibraryBuilder { + constructor() { + const defineStep = this.defineStep.bind(this); + this.methods = { + After: this.defineTestCaseHook(() => this.afterTestCaseHookDefinitionConfigs), + AfterAll: this.defineTestRunHook(() => this.afterTestRunHookDefinitionConfigs), + AfterStep: this.defineTestStepHook(() => this.afterTestStepHookDefinitionConfigs), + Before: this.defineTestCaseHook(() => this.beforeTestCaseHookDefinitionConfigs), + BeforeAll: this.defineTestRunHook(() => this.beforeTestRunHookDefinitionConfigs), + BeforeStep: this.defineTestStepHook(() => this.beforeTestStepHookDefinitionConfigs), + defineParameterType: this.defineParameterType.bind(this), + defineStep, + Given: defineStep, + setDefaultTimeout: (milliseconds) => { + this.defaultTimeout = milliseconds; + }, + setDefinitionFunctionWrapper: (fn) => { + this.definitionFunctionWrapper = fn; + }, + setWorldConstructor: (fn) => { + this.World = fn; + }, + Then: defineStep, + When: defineStep, + }; + } + defineParameterType(options) { + const parameterType = build_helpers_1.buildParameterType(options); + this.parameterTypeRegistry.defineParameterType(parameterType); + } + defineStep(pattern, options, code) { + if (typeof options === 'function') { + code = options; + options = {}; + } + const { line, uri } = build_helpers_1.getDefinitionLineAndUri(this.cwd); + validate_arguments_1.default({ + args: { code, pattern, options }, + fnName: 'defineStep', + location: helpers_1.formatLocation({ line, uri }), + }); + this.stepDefinitionConfigs.push({ + code, + line, + options, + pattern, + uri, + }); + } + defineTestCaseHook(getCollection) { + return (options, code) => { + if (typeof options === 'string') { + options = { tags: options }; + } + else if (typeof options === 'function') { + code = options; + options = {}; + } + const { line, uri } = build_helpers_1.getDefinitionLineAndUri(this.cwd); + validate_arguments_1.default({ + args: { code, options }, + fnName: 'defineTestCaseHook', + location: helpers_1.formatLocation({ line, uri }), + }); + getCollection().push({ + code, + line, + options, + uri, + }); + }; + } + defineTestStepHook(getCollection) { + return (options, code) => { + if (typeof options === 'string') { + options = { tags: options }; + } + else if (typeof options === 'function') { + code = options; + options = {}; + } + const { line, uri } = build_helpers_1.getDefinitionLineAndUri(this.cwd); + validate_arguments_1.default({ + args: { code, options }, + fnName: 'defineTestStepHook', + location: helpers_1.formatLocation({ line, uri }), + }); + getCollection().push({ + code, + line, + options, + uri, + }); + }; + } + defineTestRunHook(getCollection) { + return (options, code) => { + if (typeof options === 'function') { + code = options; + options = {}; + } + const { line, uri } = build_helpers_1.getDefinitionLineAndUri(this.cwd); + validate_arguments_1.default({ + args: { code, options }, + fnName: 'defineTestRunHook', + location: helpers_1.formatLocation({ line, uri }), + }); + getCollection().push({ + code, + line, + options, + uri, + }); + }; + } + wrapCode({ code, wrapperOptions, }) { + if (value_checker_1.doesHaveValue(this.definitionFunctionWrapper)) { + const codeLength = code.length; + const wrappedCode = this.definitionFunctionWrapper(code, wrapperOptions); + if (wrappedCode !== code) { + return util_arity_1.default(codeLength, wrappedCode); + } + return wrappedCode; + } + return code; + } + buildTestCaseHookDefinitions(configs) { + return configs.map(({ code, line, options, uri }) => { + const wrappedCode = this.wrapCode({ + code, + wrapperOptions: options.wrapperOptions, + }); + return new test_case_hook_definition_1.default({ + code: wrappedCode, + id: this.newId(), + line, + options, + unwrappedCode: code, + uri, + }); + }); + } + buildTestStepHookDefinitions(configs) { + return configs.map(({ code, line, options, uri }) => { + const wrappedCode = this.wrapCode({ + code, + wrapperOptions: options.wrapperOptions, + }); + return new test_step_hook_definition_1.default({ + code: wrappedCode, + id: this.newId(), + line, + options, + unwrappedCode: code, + uri, + }); + }); + } + buildTestRunHookDefinitions(configs) { + return configs.map(({ code, line, options, uri }) => { + const wrappedCode = this.wrapCode({ + code, + wrapperOptions: options.wrapperOptions, + }); + return new test_run_hook_definition_1.default({ + code: wrappedCode, + id: this.newId(), + line, + options, + unwrappedCode: code, + uri, + }); + }); + } + buildStepDefinitions() { + const stepDefinitions = []; + const undefinedParameterTypes = []; + this.stepDefinitionConfigs.forEach(({ code, line, options, pattern, uri }) => { + let expression; + if (typeof pattern === 'string') { + try { + expression = new cucumber_expressions_1.CucumberExpression(pattern, this.parameterTypeRegistry); + } + catch (e) { + if (value_checker_1.doesHaveValue(e.undefinedParameterTypeName)) { + undefinedParameterTypes.push({ + name: e.undefinedParameterTypeName, + expression: pattern, + }); + return; + } + throw e; + } + } + else { + expression = new cucumber_expressions_1.RegularExpression(pattern, this.parameterTypeRegistry); + } + const wrappedCode = this.wrapCode({ + code, + wrapperOptions: options.wrapperOptions, + }); + stepDefinitions.push(new step_definition_1.default({ + code: wrappedCode, + expression, + id: this.newId(), + line, + options, + pattern, + unwrappedCode: code, + uri, + })); + }); + return { stepDefinitions, undefinedParameterTypes }; + } + finalize() { + if (value_checker_1.doesNotHaveValue(this.definitionFunctionWrapper)) { + const definitionConfigs = lodash_1.default.chain([ + this.afterTestCaseHookDefinitionConfigs, + this.afterTestRunHookDefinitionConfigs, + this.beforeTestCaseHookDefinitionConfigs, + this.beforeTestRunHookDefinitionConfigs, + this.stepDefinitionConfigs, + ]) + .flatten() + .value(); + finalize_helpers_1.validateNoGeneratorFunctions({ cwd: this.cwd, definitionConfigs }); + } + const stepDefinitionsResult = this.buildStepDefinitions(); + return { + afterTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(this.afterTestCaseHookDefinitionConfigs), + afterTestRunHookDefinitions: this.buildTestRunHookDefinitions(this.afterTestRunHookDefinitionConfigs), + afterTestStepHookDefinitions: this.buildTestStepHookDefinitions(this.afterTestStepHookDefinitionConfigs), + beforeTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(this.beforeTestCaseHookDefinitionConfigs), + beforeTestRunHookDefinitions: this.buildTestRunHookDefinitions(this.beforeTestRunHookDefinitionConfigs), + beforeTestStepHookDefinitions: this.buildTestStepHookDefinitions(this.beforeTestStepHookDefinitionConfigs), + defaultTimeout: this.defaultTimeout, + parameterTypeRegistry: this.parameterTypeRegistry, + undefinedParameterTypes: stepDefinitionsResult.undefinedParameterTypes, + stepDefinitions: stepDefinitionsResult.stepDefinitions, + World: this.World, + }; + } + reset(cwd, newId) { + this.cwd = cwd; + this.newId = newId; + this.afterTestCaseHookDefinitionConfigs = []; + this.afterTestRunHookDefinitionConfigs = []; + this.afterTestStepHookDefinitionConfigs = []; + this.beforeTestCaseHookDefinitionConfigs = []; + this.beforeTestRunHookDefinitionConfigs = []; + this.beforeTestStepHookDefinitionConfigs = []; + this.definitionFunctionWrapper = null; + this.defaultTimeout = 5000; + this.parameterTypeRegistry = new cucumber_expressions_1.ParameterTypeRegistry(); + this.stepDefinitionConfigs = []; + this.World = world_1.default; + } +} +exports.SupportCodeLibraryBuilder = SupportCodeLibraryBuilder; +exports.default = new SupportCodeLibraryBuilder(); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.js.map b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.js.map new file mode 100644 index 0000000..d9cdde2 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/support_code_library_builder/index.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport { buildParameterType, getDefinitionLineAndUri } from './build_helpers'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport TestCaseHookDefinition from '../models/test_case_hook_definition'\nimport TestStepHookDefinition from '../models/test_step_hook_definition'\nimport TestRunHookDefinition from '../models/test_run_hook_definition'\nimport StepDefinition from '../models/step_definition'\nimport { formatLocation } from '../formatter/helpers'\nimport validateArguments from './validate_arguments'\nimport arity from 'util-arity'\n\nimport {\n CucumberExpression,\n ParameterTypeRegistry,\n RegularExpression,\n} from '@cucumber/cucumber-expressions'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\nimport { validateNoGeneratorFunctions } from './finalize_helpers'\nimport {\n DefineStepPattern,\n IDefineStepOptions,\n IDefineSupportCodeMethods,\n IDefineTestCaseHookOptions,\n IDefineTestStepHookOptions,\n IDefineTestRunHookOptions,\n IParameterTypeDefinition,\n ISupportCodeLibrary,\n TestCaseHookFunction,\n TestStepHookFunction,\n} from './types'\nimport World from './world'\n\ninterface IStepDefinitionConfig {\n code: any\n line: number\n options: any\n pattern: string | RegExp\n uri: string\n}\n\ninterface ITestCaseHookDefinitionConfig {\n code: any\n line: number\n options: any\n uri: string\n}\n\ninterface ITestStepHookDefinitionConfig {\n code: any\n line: number\n options: any\n uri: string\n}\n\ninterface ITestRunHookDefinitionConfig {\n code: any\n line: number\n options: any\n uri: string\n}\n\nexport const builtinParameterTypes = ['int', 'float', 'word', 'string', '']\n\nexport class SupportCodeLibraryBuilder {\n public readonly methods: IDefineSupportCodeMethods\n\n private afterTestCaseHookDefinitionConfigs: ITestCaseHookDefinitionConfig[]\n private afterTestRunHookDefinitionConfigs: ITestRunHookDefinitionConfig[]\n private afterTestStepHookDefinitionConfigs: ITestStepHookDefinitionConfig[]\n private beforeTestCaseHookDefinitionConfigs: ITestCaseHookDefinitionConfig[]\n private beforeTestRunHookDefinitionConfigs: ITestRunHookDefinitionConfig[]\n private beforeTestStepHookDefinitionConfigs: ITestStepHookDefinitionConfig[]\n private cwd: string\n private defaultTimeout: number\n private definitionFunctionWrapper: any\n private newId: IdGenerator.NewId\n private parameterTypeRegistry: ParameterTypeRegistry\n private stepDefinitionConfigs: IStepDefinitionConfig[]\n private World: any\n\n constructor() {\n const defineStep = this.defineStep.bind(this)\n this.methods = {\n After: this.defineTestCaseHook(\n () => this.afterTestCaseHookDefinitionConfigs\n ),\n AfterAll: this.defineTestRunHook(\n () => this.afterTestRunHookDefinitionConfigs\n ),\n AfterStep: this.defineTestStepHook(\n () => this.afterTestStepHookDefinitionConfigs\n ),\n Before: this.defineTestCaseHook(\n () => this.beforeTestCaseHookDefinitionConfigs\n ),\n BeforeAll: this.defineTestRunHook(\n () => this.beforeTestRunHookDefinitionConfigs\n ),\n BeforeStep: this.defineTestStepHook(\n () => this.beforeTestStepHookDefinitionConfigs\n ),\n defineParameterType: this.defineParameterType.bind(this),\n defineStep,\n Given: defineStep,\n setDefaultTimeout: (milliseconds) => {\n this.defaultTimeout = milliseconds\n },\n setDefinitionFunctionWrapper: (fn) => {\n this.definitionFunctionWrapper = fn\n },\n setWorldConstructor: (fn) => {\n this.World = fn\n },\n Then: defineStep,\n When: defineStep,\n }\n }\n\n defineParameterType(options: IParameterTypeDefinition): void {\n const parameterType = buildParameterType(options)\n this.parameterTypeRegistry.defineParameterType(parameterType)\n }\n\n defineStep(\n pattern: DefineStepPattern,\n options: IDefineStepOptions | Function,\n code?: Function\n ): void {\n if (typeof options === 'function') {\n code = options\n options = {}\n }\n const { line, uri } = getDefinitionLineAndUri(this.cwd)\n validateArguments({\n args: { code, pattern, options },\n fnName: 'defineStep',\n location: formatLocation({ line, uri }),\n })\n this.stepDefinitionConfigs.push({\n code,\n line,\n options,\n pattern,\n uri,\n })\n }\n\n defineTestCaseHook(\n getCollection: () => ITestCaseHookDefinitionConfig[]\n ): (\n options: string | IDefineTestCaseHookOptions | TestCaseHookFunction,\n code?: TestCaseHookFunction\n ) => void {\n return (\n options: string | IDefineTestCaseHookOptions | TestCaseHookFunction,\n code?: TestCaseHookFunction\n ) => {\n if (typeof options === 'string') {\n options = { tags: options }\n } else if (typeof options === 'function') {\n code = options\n options = {}\n }\n const { line, uri } = getDefinitionLineAndUri(this.cwd)\n validateArguments({\n args: { code, options },\n fnName: 'defineTestCaseHook',\n location: formatLocation({ line, uri }),\n })\n getCollection().push({\n code,\n line,\n options,\n uri,\n })\n }\n }\n\n defineTestStepHook(\n getCollection: () => ITestStepHookDefinitionConfig[]\n ): (\n options: string | IDefineTestStepHookOptions | TestStepHookFunction,\n code?: TestStepHookFunction\n ) => void {\n return (\n options: string | IDefineTestStepHookOptions | TestStepHookFunction,\n code?: TestStepHookFunction\n ) => {\n if (typeof options === 'string') {\n options = { tags: options }\n } else if (typeof options === 'function') {\n code = options\n options = {}\n }\n const { line, uri } = getDefinitionLineAndUri(this.cwd)\n validateArguments({\n args: { code, options },\n fnName: 'defineTestStepHook',\n location: formatLocation({ line, uri }),\n })\n getCollection().push({\n code,\n line,\n options,\n uri,\n })\n }\n }\n\n defineTestRunHook(\n getCollection: () => ITestRunHookDefinitionConfig[]\n ): (options: IDefineTestRunHookOptions | Function, code?: Function) => void {\n return (options: IDefineTestRunHookOptions | Function, code?: Function) => {\n if (typeof options === 'function') {\n code = options\n options = {}\n }\n const { line, uri } = getDefinitionLineAndUri(this.cwd)\n validateArguments({\n args: { code, options },\n fnName: 'defineTestRunHook',\n location: formatLocation({ line, uri }),\n })\n getCollection().push({\n code,\n line,\n options,\n uri,\n })\n }\n }\n\n wrapCode({\n code,\n wrapperOptions,\n }: {\n code: Function\n wrapperOptions: any\n }): Function {\n if (doesHaveValue(this.definitionFunctionWrapper)) {\n const codeLength = code.length\n const wrappedCode = this.definitionFunctionWrapper(code, wrapperOptions)\n if (wrappedCode !== code) {\n return arity(codeLength, wrappedCode)\n }\n return wrappedCode\n }\n return code\n }\n\n buildTestCaseHookDefinitions(\n configs: ITestCaseHookDefinitionConfig[]\n ): TestCaseHookDefinition[] {\n return configs.map(({ code, line, options, uri }) => {\n const wrappedCode = this.wrapCode({\n code,\n wrapperOptions: options.wrapperOptions,\n })\n return new TestCaseHookDefinition({\n code: wrappedCode,\n id: this.newId(),\n line,\n options,\n unwrappedCode: code,\n uri,\n })\n })\n }\n\n buildTestStepHookDefinitions(\n configs: ITestStepHookDefinitionConfig[]\n ): TestStepHookDefinition[] {\n return configs.map(({ code, line, options, uri }) => {\n const wrappedCode = this.wrapCode({\n code,\n wrapperOptions: options.wrapperOptions,\n })\n return new TestStepHookDefinition({\n code: wrappedCode,\n id: this.newId(),\n line,\n options,\n unwrappedCode: code,\n uri,\n })\n })\n }\n\n buildTestRunHookDefinitions(\n configs: ITestRunHookDefinitionConfig[]\n ): TestRunHookDefinition[] {\n return configs.map(({ code, line, options, uri }) => {\n const wrappedCode = this.wrapCode({\n code,\n wrapperOptions: options.wrapperOptions,\n })\n return new TestRunHookDefinition({\n code: wrappedCode,\n id: this.newId(),\n line,\n options,\n unwrappedCode: code,\n uri,\n })\n })\n }\n\n buildStepDefinitions(): {\n stepDefinitions: StepDefinition[]\n undefinedParameterTypes: messages.IUndefinedParameterType[]\n } {\n const stepDefinitions: StepDefinition[] = []\n const undefinedParameterTypes: messages.IUndefinedParameterType[] = []\n this.stepDefinitionConfigs.forEach(\n ({ code, line, options, pattern, uri }) => {\n let expression\n if (typeof pattern === 'string') {\n try {\n expression = new CucumberExpression(\n pattern,\n this.parameterTypeRegistry\n )\n } catch (e) {\n if (doesHaveValue(e.undefinedParameterTypeName)) {\n undefinedParameterTypes.push({\n name: e.undefinedParameterTypeName,\n expression: pattern,\n })\n return\n }\n throw e\n }\n } else {\n expression = new RegularExpression(\n pattern,\n this.parameterTypeRegistry\n )\n }\n\n const wrappedCode = this.wrapCode({\n code,\n wrapperOptions: options.wrapperOptions,\n })\n stepDefinitions.push(\n new StepDefinition({\n code: wrappedCode,\n expression,\n id: this.newId(),\n line,\n options,\n pattern,\n unwrappedCode: code,\n uri,\n })\n )\n }\n )\n return { stepDefinitions, undefinedParameterTypes }\n }\n\n finalize(): ISupportCodeLibrary {\n if (doesNotHaveValue(this.definitionFunctionWrapper)) {\n const definitionConfigs = _.chain([\n this.afterTestCaseHookDefinitionConfigs,\n this.afterTestRunHookDefinitionConfigs,\n this.beforeTestCaseHookDefinitionConfigs,\n this.beforeTestRunHookDefinitionConfigs,\n this.stepDefinitionConfigs,\n ])\n .flatten()\n .value()\n validateNoGeneratorFunctions({ cwd: this.cwd, definitionConfigs })\n }\n const stepDefinitionsResult = this.buildStepDefinitions()\n return {\n afterTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(\n this.afterTestCaseHookDefinitionConfigs\n ),\n afterTestRunHookDefinitions: this.buildTestRunHookDefinitions(\n this.afterTestRunHookDefinitionConfigs\n ),\n afterTestStepHookDefinitions: this.buildTestStepHookDefinitions(\n this.afterTestStepHookDefinitionConfigs\n ),\n beforeTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(\n this.beforeTestCaseHookDefinitionConfigs\n ),\n beforeTestRunHookDefinitions: this.buildTestRunHookDefinitions(\n this.beforeTestRunHookDefinitionConfigs\n ),\n beforeTestStepHookDefinitions: this.buildTestStepHookDefinitions(\n this.beforeTestStepHookDefinitionConfigs\n ),\n defaultTimeout: this.defaultTimeout,\n parameterTypeRegistry: this.parameterTypeRegistry,\n undefinedParameterTypes: stepDefinitionsResult.undefinedParameterTypes,\n stepDefinitions: stepDefinitionsResult.stepDefinitions,\n World: this.World,\n }\n }\n\n reset(cwd: string, newId: IdGenerator.NewId): void {\n this.cwd = cwd\n this.newId = newId\n this.afterTestCaseHookDefinitionConfigs = []\n this.afterTestRunHookDefinitionConfigs = []\n this.afterTestStepHookDefinitionConfigs = []\n this.beforeTestCaseHookDefinitionConfigs = []\n this.beforeTestRunHookDefinitionConfigs = []\n this.beforeTestStepHookDefinitionConfigs = []\n this.definitionFunctionWrapper = null\n this.defaultTimeout = 5000\n this.parameterTypeRegistry = new ParameterTypeRegistry()\n this.stepDefinitionConfigs = []\n this.World = World\n }\n}\n\nexport default new SupportCodeLibraryBuilder()\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.d.ts b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.d.ts new file mode 100644 index 0000000..d173636 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.d.ts @@ -0,0 +1,77 @@ +import { messages } from '@cucumber/messages'; +import TestCaseHookDefinition from '../models/test_case_hook_definition'; +import TestStepHookDefinition from '../models/test_step_hook_definition'; +import TestRunHookDefinition from '../models/test_run_hook_definition'; +import StepDefinition from '../models/step_definition'; +import { ParameterTypeRegistry } from '@cucumber/cucumber-expressions'; +export declare type DefineStepPattern = string | RegExp; +export interface ITestCaseHookParameter { + gherkinDocument: messages.IGherkinDocument; + pickle: messages.IPickle; + result?: messages.TestStepFinished.ITestStepResult; + testCaseStartedId: string; +} +export interface ITestStepHookParameter { + gherkinDocument: messages.IGherkinDocument; + pickle: messages.IPickle; + result: messages.TestStepFinished.ITestStepResult; + testCaseStartedId: string; + testStepId: string; +} +export declare type TestCaseHookFunctionWithoutParameter = () => any | Promise; +export declare type TestCaseHookFunctionWithParameter = (arg: ITestCaseHookParameter) => any | Promise; +export declare type TestCaseHookFunction = TestCaseHookFunctionWithoutParameter | TestCaseHookFunctionWithParameter; +export declare type TestStepHookFunctionWithoutParameter = () => void; +export declare type TestStepHookFunctionWithParameter = (arg: ITestStepHookParameter) => void; +export declare type TestStepHookFunction = TestStepHookFunctionWithoutParameter | TestStepHookFunctionWithParameter; +export interface IDefineStepOptions { + timeout?: number; + wrapperOptions?: any; +} +export interface IDefineTestCaseHookOptions { + tags?: string; + timeout?: number; +} +export interface IDefineTestStepHookOptions { + tags?: string; + timeout?: number; +} +export interface IDefineTestRunHookOptions { + timeout?: number; +} +export interface IParameterTypeDefinition { + name: string; + regexp: RegExp; + transformer: (...match: string[]) => T; + useForSnippets?: boolean; + preferForRegexpMatch?: boolean; +} +export interface IDefineSupportCodeMethods { + defineParameterType: (options: IParameterTypeDefinition) => void; + defineStep: ((pattern: DefineStepPattern, code: Function) => void) & ((pattern: DefineStepPattern, options: IDefineStepOptions, code: Function) => void); + setDefaultTimeout: (milliseconds: number) => void; + setDefinitionFunctionWrapper: (fn: Function) => void; + setWorldConstructor: (fn: any) => void; + After: ((code: TestCaseHookFunction) => void) & ((tags: string, code: TestCaseHookFunction) => void) & ((options: IDefineTestCaseHookOptions, code: TestCaseHookFunction) => void); + AfterStep: ((code: TestStepHookFunction) => void) & ((tags: string, code: TestStepHookFunction) => void) & ((options: IDefineTestStepHookOptions, code: TestStepHookFunction) => void); + AfterAll: ((code: Function) => void) & ((options: IDefineTestRunHookOptions, code: Function) => void); + Before: ((code: TestCaseHookFunction) => void) & ((tags: string, code: TestCaseHookFunction) => void) & ((options: IDefineTestCaseHookOptions, code: TestCaseHookFunction) => void); + BeforeStep: ((code: TestStepHookFunction) => void) & ((tags: string, code: TestStepHookFunction) => void) & ((options: IDefineTestStepHookOptions, code: TestStepHookFunction) => void); + BeforeAll: ((code: Function) => void) & ((options: IDefineTestRunHookOptions, code: Function) => void); + Given: ((pattern: DefineStepPattern, code: Function) => void) & ((pattern: DefineStepPattern, options: IDefineStepOptions, code: Function) => void); + Then: ((pattern: DefineStepPattern, code: Function) => void) & ((pattern: DefineStepPattern, options: IDefineStepOptions, code: Function) => void); + When: ((pattern: DefineStepPattern, code: Function) => void) & ((pattern: DefineStepPattern, options: IDefineStepOptions, code: Function) => void); +} +export interface ISupportCodeLibrary { + readonly afterTestCaseHookDefinitions: TestCaseHookDefinition[]; + readonly afterTestStepHookDefinitions: TestStepHookDefinition[]; + readonly afterTestRunHookDefinitions: TestRunHookDefinition[]; + readonly beforeTestCaseHookDefinitions: TestCaseHookDefinition[]; + readonly beforeTestStepHookDefinitions: TestStepHookDefinition[]; + readonly beforeTestRunHookDefinitions: TestRunHookDefinition[]; + readonly defaultTimeout: number; + readonly stepDefinitions: StepDefinition[]; + readonly undefinedParameterTypes: messages.IUndefinedParameterType[]; + readonly parameterTypeRegistry: ParameterTypeRegistry; + readonly World: any; +} diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.js b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.js new file mode 100644 index 0000000..11e638d --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.js.map b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.js.map new file mode 100644 index 0000000..15a9a8b --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/support_code_library_builder/types.ts"],"names":[],"mappings":"","sourcesContent":["import { messages } from '@cucumber/messages'\nimport TestCaseHookDefinition from '../models/test_case_hook_definition'\nimport TestStepHookDefinition from '../models/test_step_hook_definition'\nimport TestRunHookDefinition from '../models/test_run_hook_definition'\nimport StepDefinition from '../models/step_definition'\nimport { ParameterTypeRegistry } from '@cucumber/cucumber-expressions'\n\nexport type DefineStepPattern = string | RegExp\n\nexport interface ITestCaseHookParameter {\n gherkinDocument: messages.IGherkinDocument\n pickle: messages.IPickle\n result?: messages.TestStepFinished.ITestStepResult\n testCaseStartedId: string\n}\n\nexport interface ITestStepHookParameter {\n gherkinDocument: messages.IGherkinDocument\n pickle: messages.IPickle\n result: messages.TestStepFinished.ITestStepResult\n testCaseStartedId: string\n testStepId: string\n}\n\nexport type TestCaseHookFunctionWithoutParameter = () => any | Promise\nexport type TestCaseHookFunctionWithParameter = (\n arg: ITestCaseHookParameter\n) => any | Promise\nexport type TestCaseHookFunction =\n | TestCaseHookFunctionWithoutParameter\n | TestCaseHookFunctionWithParameter\n\nexport type TestStepHookFunctionWithoutParameter = () => void\nexport type TestStepHookFunctionWithParameter = (\n arg: ITestStepHookParameter\n) => void\nexport type TestStepHookFunction =\n | TestStepHookFunctionWithoutParameter\n | TestStepHookFunctionWithParameter\n\nexport interface IDefineStepOptions {\n timeout?: number\n wrapperOptions?: any\n}\n\nexport interface IDefineTestCaseHookOptions {\n tags?: string\n timeout?: number\n}\n\nexport interface IDefineTestStepHookOptions {\n tags?: string\n timeout?: number\n}\n\nexport interface IDefineTestRunHookOptions {\n timeout?: number\n}\n\nexport interface IParameterTypeDefinition {\n name: string\n regexp: RegExp\n transformer: (...match: string[]) => T\n useForSnippets?: boolean\n preferForRegexpMatch?: boolean\n}\n\nexport interface IDefineSupportCodeMethods {\n defineParameterType: (options: IParameterTypeDefinition) => void\n defineStep: ((pattern: DefineStepPattern, code: Function) => void) &\n ((\n pattern: DefineStepPattern,\n options: IDefineStepOptions,\n code: Function\n ) => void)\n setDefaultTimeout: (milliseconds: number) => void\n setDefinitionFunctionWrapper: (fn: Function) => void\n setWorldConstructor: (fn: any) => void\n After: ((code: TestCaseHookFunction) => void) &\n ((tags: string, code: TestCaseHookFunction) => void) &\n ((options: IDefineTestCaseHookOptions, code: TestCaseHookFunction) => void)\n AfterStep: ((code: TestStepHookFunction) => void) &\n ((tags: string, code: TestStepHookFunction) => void) &\n ((options: IDefineTestStepHookOptions, code: TestStepHookFunction) => void)\n AfterAll: ((code: Function) => void) &\n ((options: IDefineTestRunHookOptions, code: Function) => void)\n Before: ((code: TestCaseHookFunction) => void) &\n ((tags: string, code: TestCaseHookFunction) => void) &\n ((options: IDefineTestCaseHookOptions, code: TestCaseHookFunction) => void)\n BeforeStep: ((code: TestStepHookFunction) => void) &\n ((tags: string, code: TestStepHookFunction) => void) &\n ((options: IDefineTestStepHookOptions, code: TestStepHookFunction) => void)\n BeforeAll: ((code: Function) => void) &\n ((options: IDefineTestRunHookOptions, code: Function) => void)\n Given: ((pattern: DefineStepPattern, code: Function) => void) &\n ((\n pattern: DefineStepPattern,\n options: IDefineStepOptions,\n code: Function\n ) => void)\n Then: ((pattern: DefineStepPattern, code: Function) => void) &\n ((\n pattern: DefineStepPattern,\n options: IDefineStepOptions,\n code: Function\n ) => void)\n When: ((pattern: DefineStepPattern, code: Function) => void) &\n ((\n pattern: DefineStepPattern,\n options: IDefineStepOptions,\n code: Function\n ) => void)\n}\n\nexport interface ISupportCodeLibrary {\n readonly afterTestCaseHookDefinitions: TestCaseHookDefinition[]\n readonly afterTestStepHookDefinitions: TestStepHookDefinition[]\n readonly afterTestRunHookDefinitions: TestRunHookDefinition[]\n readonly beforeTestCaseHookDefinitions: TestCaseHookDefinition[]\n readonly beforeTestStepHookDefinitions: TestStepHookDefinition[]\n readonly beforeTestRunHookDefinitions: TestRunHookDefinition[]\n readonly defaultTimeout: number\n readonly stepDefinitions: StepDefinition[]\n readonly undefinedParameterTypes: messages.IUndefinedParameterType[]\n readonly parameterTypeRegistry: ParameterTypeRegistry\n readonly World: any\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.d.ts b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.d.ts new file mode 100644 index 0000000..740a472 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.d.ts @@ -0,0 +1,12 @@ +import { DefineStepPattern, IDefineStepOptions } from './types'; +interface IDefineStepArguments { + pattern?: DefineStepPattern; + options?: IDefineStepOptions; + code?: Function; +} +export default function validateArguments({ args, fnName, location, }: { + args?: IDefineStepArguments; + fnName: string; + location: string; +}): void; +export {}; diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.js b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.js new file mode 100644 index 0000000..24cf870 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.js @@ -0,0 +1,78 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const lodash_1 = __importDefault(require("lodash")); +const value_checker_1 = require("../value_checker"); +const optionsValidation = { + expectedType: 'object or function', + predicate({ options }) { + return lodash_1.default.isPlainObject(options); + }, +}; +const optionsTimeoutValidation = { + identifier: '"options.timeout"', + expectedType: 'integer', + predicate({ options }) { + return value_checker_1.doesNotHaveValue(options.timeout) || lodash_1.default.isInteger(options.timeout); + }, +}; +const fnValidation = { + expectedType: 'function', + predicate({ code }) { + return lodash_1.default.isFunction(code); + }, +}; +const validations = { + defineTestRunHook: [ + { identifier: 'first argument', ...optionsValidation }, + optionsTimeoutValidation, + { identifier: 'second argument', ...fnValidation }, + ], + defineTestCaseHook: [ + { identifier: 'first argument', ...optionsValidation }, + { + identifier: '"options.tags"', + expectedType: 'string', + predicate({ options }) { + return value_checker_1.doesNotHaveValue(options.tags) || lodash_1.default.isString(options.tags); + }, + }, + optionsTimeoutValidation, + { identifier: 'second argument', ...fnValidation }, + ], + defineTestStepHook: [ + { identifier: 'first argument', ...optionsValidation }, + { + identifier: '"options.tags"', + expectedType: 'string', + predicate({ options }) { + return value_checker_1.doesNotHaveValue(options.tags) || lodash_1.default.isString(options.tags); + }, + }, + optionsTimeoutValidation, + { identifier: 'second argument', ...fnValidation }, + ], + defineStep: [ + { + identifier: 'first argument', + expectedType: 'string or regular expression', + predicate({ pattern }) { + return lodash_1.default.isRegExp(pattern) || lodash_1.default.isString(pattern); + }, + }, + { identifier: 'second argument', ...optionsValidation }, + optionsTimeoutValidation, + { identifier: 'third argument', ...fnValidation }, + ], +}; +function validateArguments({ args, fnName, location, }) { + validations[fnName].forEach(({ identifier, expectedType, predicate }) => { + if (!predicate(args)) { + throw new Error(`${location}: Invalid ${identifier}: should be a ${expectedType}`); + } + }); +} +exports.default = validateArguments; +//# sourceMappingURL=validate_arguments.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.js.map b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.js.map new file mode 100644 index 0000000..398d540 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/validate_arguments.js.map @@ -0,0 +1 @@ +{"version":3,"file":"validate_arguments.js","sourceRoot":"","sources":["../../src/support_code_library_builder/validate_arguments.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsC;AACtC,oDAAmD;AAenD,MAAM,iBAAiB,GAAG;IACxB,YAAY,EAAE,oBAAoB;IAClC,SAAS,CAAC,EAAE,OAAO,EAAwB;QACzC,OAAO,gBAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;CACF,CAAA;AAED,MAAM,wBAAwB,GAAG;IAC/B,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,SAAS;IACvB,SAAS,CAAC,EAAE,OAAO,EAAwB;QACzC,OAAO,gCAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,gBAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF,CAAA;AAED,MAAM,YAAY,GAAG;IACnB,YAAY,EAAE,UAAU;IACxB,SAAS,CAAC,EAAE,IAAI,EAAwB;QACtC,OAAO,gBAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;CACF,CAAA;AAED,MAAM,WAAW,GAA8B;IAC7C,iBAAiB,EAAE;QACjB,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,EAAE;QACtD,wBAAwB;QACxB,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE;KACnD;IACD,kBAAkB,EAAE;QAClB,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,EAAE;QACtD;YACE,UAAU,EAAE,gBAAgB;YAC5B,YAAY,EAAE,QAAQ;YACtB,SAAS,CAAC,EAAE,OAAO,EAAE;gBACnB,OAAO,gCAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACnE,CAAC;SACF;QACD,wBAAwB;QACxB,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE;KACnD;IACD,kBAAkB,EAAE;QAClB,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,EAAE;QACtD;YACE,UAAU,EAAE,gBAAgB;YAC5B,YAAY,EAAE,QAAQ;YACtB,SAAS,CAAC,EAAE,OAAO,EAAE;gBACnB,OAAO,gCAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACnE,CAAC;SACF;QACD,wBAAwB;QACxB,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE;KACnD;IACD,UAAU,EAAE;QACV;YACE,UAAU,EAAE,gBAAgB;YAC5B,YAAY,EAAE,8BAA8B;YAC5C,SAAS,CAAC,EAAE,OAAO,EAAE;gBACnB,OAAO,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACnD,CAAC;SACF;QACD,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;QACvD,wBAAwB;QACxB,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE;KAClD;CACF,CAAA;AAED,SAAwB,iBAAiB,CAAC,EACxC,IAAI,EACJ,MAAM,EACN,QAAQ,GAKT;IACC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;QACtE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,aAAa,UAAU,iBAAiB,YAAY,EAAE,CAClE,CAAA;SACF;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAhBD,oCAgBC","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { doesNotHaveValue } from '../value_checker'\nimport { DefineStepPattern, IDefineStepOptions } from './types'\n\ninterface IValidation {\n identifier: string\n expectedType: string\n predicate: (args: any) => boolean\n}\n\ninterface IDefineStepArguments {\n pattern?: DefineStepPattern\n options?: IDefineStepOptions\n code?: Function\n}\n\nconst optionsValidation = {\n expectedType: 'object or function',\n predicate({ options }: IDefineStepArguments) {\n return _.isPlainObject(options)\n },\n}\n\nconst optionsTimeoutValidation = {\n identifier: '\"options.timeout\"',\n expectedType: 'integer',\n predicate({ options }: IDefineStepArguments) {\n return doesNotHaveValue(options.timeout) || _.isInteger(options.timeout)\n },\n}\n\nconst fnValidation = {\n expectedType: 'function',\n predicate({ code }: IDefineStepArguments) {\n return _.isFunction(code)\n },\n}\n\nconst validations: Dictionary = {\n defineTestRunHook: [\n { identifier: 'first argument', ...optionsValidation },\n optionsTimeoutValidation,\n { identifier: 'second argument', ...fnValidation },\n ],\n defineTestCaseHook: [\n { identifier: 'first argument', ...optionsValidation },\n {\n identifier: '\"options.tags\"',\n expectedType: 'string',\n predicate({ options }) {\n return doesNotHaveValue(options.tags) || _.isString(options.tags)\n },\n },\n optionsTimeoutValidation,\n { identifier: 'second argument', ...fnValidation },\n ],\n defineTestStepHook: [\n { identifier: 'first argument', ...optionsValidation },\n {\n identifier: '\"options.tags\"',\n expectedType: 'string',\n predicate({ options }) {\n return doesNotHaveValue(options.tags) || _.isString(options.tags)\n },\n },\n optionsTimeoutValidation,\n { identifier: 'second argument', ...fnValidation },\n ],\n defineStep: [\n {\n identifier: 'first argument',\n expectedType: 'string or regular expression',\n predicate({ pattern }) {\n return _.isRegExp(pattern) || _.isString(pattern)\n },\n },\n { identifier: 'second argument', ...optionsValidation },\n optionsTimeoutValidation,\n { identifier: 'third argument', ...fnValidation },\n ],\n}\n\nexport default function validateArguments({\n args,\n fnName,\n location,\n}: {\n args?: IDefineStepArguments\n fnName: string\n location: string\n}): void {\n validations[fnName].forEach(({ identifier, expectedType, predicate }) => {\n if (!predicate(args)) {\n throw new Error(\n `${location}: Invalid ${identifier}: should be a ${expectedType}`\n )\n }\n })\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.d.ts b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.d.ts new file mode 100644 index 0000000..b7b1f5a --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.d.ts @@ -0,0 +1,12 @@ +import { ICreateAttachment, ICreateLog } from '../runtime/attachment_manager'; +export interface IWorldOptions { + attach: ICreateAttachment; + log: ICreateLog; + parameters: any; +} +export default class World { + readonly attach: ICreateAttachment; + readonly log: ICreateLog; + readonly parameters: any; + constructor({ attach, log, parameters }: IWorldOptions); +} diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.js b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.js new file mode 100644 index 0000000..f7e574f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class World { + constructor({ attach, log, parameters }) { + this.attach = attach; + this.log = log; + this.parameters = parameters; + } +} +exports.default = World; +//# sourceMappingURL=world.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.js.map b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.js.map new file mode 100644 index 0000000..8ea6b77 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/support_code_library_builder/world.js.map @@ -0,0 +1 @@ +{"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/support_code_library_builder/world.ts"],"names":[],"mappings":";;AAQA,MAAqB,KAAK;IAKxB,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAiB;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;CACF;AAVD,wBAUC","sourcesContent":["import { ICreateAttachment, ICreateLog } from '../runtime/attachment_manager'\n\nexport interface IWorldOptions {\n attach: ICreateAttachment\n log: ICreateLog\n parameters: any\n}\n\nexport default class World {\n public readonly attach: ICreateAttachment\n public readonly log: ICreateLog\n public readonly parameters: any\n\n constructor({ attach, log, parameters }: IWorldOptions) {\n this.attach = attach\n this.log = log\n this.parameters = parameters\n }\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/time.d.ts b/node_modules/@cucumber/cucumber/lib/time.d.ts new file mode 100644 index 0000000..32aea40 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/time.d.ts @@ -0,0 +1,12 @@ +import { messages } from '@cucumber/messages'; +export declare const NANOSECONDS_IN_MILLISECOND = 1000000; +export declare const MILLISECONDS_IN_SECOND = 1000; +export declare const NANOSECONDS_IN_SECOND = 1000000000; +declare const methods: any; +export declare function addDurations(a: messages.IDuration, b: messages.IDuration): messages.IDuration; +export declare function millisecondsToDuration(milliseconds: number): messages.IDuration; +export declare function durationToMilliseconds(duration: messages.IDuration): number; +export declare function durationToNanoseconds(duration: messages.IDuration): number; +export declare function durationBetweenTimestamps(startedTimestamp: messages.ITimestamp, finishedTimestamp: messages.ITimestamp): messages.IDuration; +export declare function getZeroDuration(): messages.IDuration; +export default methods; diff --git a/node_modules/@cucumber/cucumber/lib/time.js b/node_modules/@cucumber/cucumber/lib/time.js new file mode 100644 index 0000000..182cb62 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/time.js @@ -0,0 +1,76 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getZeroDuration = exports.durationBetweenTimestamps = exports.durationToNanoseconds = exports.durationToMilliseconds = exports.millisecondsToDuration = exports.addDurations = exports.NANOSECONDS_IN_SECOND = exports.MILLISECONDS_IN_SECOND = exports.NANOSECONDS_IN_MILLISECOND = void 0; +const messages_1 = require("@cucumber/messages"); +const value_checker_1 = require("./value_checker"); +exports.NANOSECONDS_IN_MILLISECOND = 1e6; +exports.MILLISECONDS_IN_SECOND = 1e3; +exports.NANOSECONDS_IN_SECOND = 1e9; +let previousTimestamp; +const methods = { + beginTiming() { + previousTimestamp = getTimestamp(); + }, + clearInterval: clearInterval.bind(global), + clearTimeout: clearTimeout.bind(global), + Date, + endTiming() { + return getTimestamp() - previousTimestamp; + }, + setInterval: setInterval.bind(global), + setTimeout: setTimeout.bind(global), +}; +if (typeof setImmediate !== 'undefined') { + methods.setImmediate = setImmediate.bind(global); + methods.clearImmediate = clearImmediate.bind(global); +} +function getTimestamp() { + return new methods.Date().getTime(); +} +function toNumber(x) { + return typeof x === 'number' ? x : x.toNumber(); +} +function addDurations(a, b) { + if (value_checker_1.doesNotHaveValue(b)) { + return a; + } + let seconds = toNumber(a.seconds) + toNumber(b.seconds); + let nanos = a.nanos + b.nanos; + if (nanos > exports.NANOSECONDS_IN_SECOND) { + seconds += 1; + nanos -= exports.NANOSECONDS_IN_SECOND; + } + return new messages_1.messages.Duration({ seconds, nanos }); +} +exports.addDurations = addDurations; +// TODO use TimeConversion methods in cucumber-messages +// dependent on https://github.com/cucumber/cucumber/pull/832 +function millisecondsToDuration(milliseconds) { + const seconds = Math.floor(milliseconds / exports.MILLISECONDS_IN_SECOND); + const nanos = (milliseconds - seconds * exports.MILLISECONDS_IN_SECOND) * + exports.NANOSECONDS_IN_MILLISECOND; + return new messages_1.messages.Duration({ seconds, nanos }); +} +exports.millisecondsToDuration = millisecondsToDuration; +function durationToMilliseconds(duration) { + const secondMillis = toNumber(duration.seconds) * exports.MILLISECONDS_IN_SECOND; + const nanoMillis = duration.nanos / exports.NANOSECONDS_IN_MILLISECOND; + return secondMillis + nanoMillis; +} +exports.durationToMilliseconds = durationToMilliseconds; +function durationToNanoseconds(duration) { + return toNumber(duration.seconds) * exports.NANOSECONDS_IN_SECOND + duration.nanos; +} +exports.durationToNanoseconds = durationToNanoseconds; +function durationBetweenTimestamps(startedTimestamp, finishedTimestamp) { + const durationMillis = messages_1.TimeConversion.timestampToMillisecondsSinceEpoch(finishedTimestamp) - + messages_1.TimeConversion.timestampToMillisecondsSinceEpoch(startedTimestamp); + return messages_1.TimeConversion.millisecondsToDuration(durationMillis); +} +exports.durationBetweenTimestamps = durationBetweenTimestamps; +function getZeroDuration() { + return new messages_1.messages.Duration({ seconds: 0, nanos: 0 }); +} +exports.getZeroDuration = getZeroDuration; +exports.default = methods; +//# sourceMappingURL=time.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/time.js.map b/node_modules/@cucumber/cucumber/lib/time.js.map new file mode 100644 index 0000000..d06bc77 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/time.js.map @@ -0,0 +1 @@ +{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"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","sourcesContent":["import { messages, TimeConversion } from '@cucumber/messages'\nimport { doesNotHaveValue } from './value_checker'\nimport Long from 'long'\n\nexport const NANOSECONDS_IN_MILLISECOND = 1e6\nexport const MILLISECONDS_IN_SECOND = 1e3\nexport const NANOSECONDS_IN_SECOND = 1e9\n\nlet previousTimestamp: number\n\nconst methods: any = {\n beginTiming() {\n previousTimestamp = getTimestamp()\n },\n clearInterval: clearInterval.bind(global),\n clearTimeout: clearTimeout.bind(global),\n Date,\n endTiming() {\n return getTimestamp() - previousTimestamp\n },\n setInterval: setInterval.bind(global),\n setTimeout: setTimeout.bind(global),\n}\n\nif (typeof setImmediate !== 'undefined') {\n methods.setImmediate = setImmediate.bind(global)\n methods.clearImmediate = clearImmediate.bind(global)\n}\n\nfunction getTimestamp(): number {\n return new methods.Date().getTime()\n}\n\nfunction toNumber(x: number | Long): number {\n return typeof x === 'number' ? x : x.toNumber()\n}\n\nexport function addDurations(\n a: messages.IDuration,\n b: messages.IDuration\n): messages.IDuration {\n if (doesNotHaveValue(b)) {\n return a\n }\n let seconds = toNumber(a.seconds) + toNumber(b.seconds)\n let nanos = a.nanos + b.nanos\n if (nanos > NANOSECONDS_IN_SECOND) {\n seconds += 1\n nanos -= NANOSECONDS_IN_SECOND\n }\n return new messages.Duration({ seconds, nanos })\n}\n\n// TODO use TimeConversion methods in cucumber-messages\n// dependent on https://github.com/cucumber/cucumber/pull/832\nexport function millisecondsToDuration(\n milliseconds: number\n): messages.IDuration {\n const seconds = Math.floor(milliseconds / MILLISECONDS_IN_SECOND)\n const nanos =\n (milliseconds - seconds * MILLISECONDS_IN_SECOND) *\n NANOSECONDS_IN_MILLISECOND\n return new messages.Duration({ seconds, nanos })\n}\n\nexport function durationToMilliseconds(duration: messages.IDuration): number {\n const secondMillis = toNumber(duration.seconds) * MILLISECONDS_IN_SECOND\n const nanoMillis = duration.nanos / NANOSECONDS_IN_MILLISECOND\n return secondMillis + nanoMillis\n}\n\nexport function durationToNanoseconds(duration: messages.IDuration): number {\n return toNumber(duration.seconds) * NANOSECONDS_IN_SECOND + duration.nanos\n}\n\nexport function durationBetweenTimestamps(\n startedTimestamp: messages.ITimestamp,\n finishedTimestamp: messages.ITimestamp\n): messages.IDuration {\n const durationMillis =\n TimeConversion.timestampToMillisecondsSinceEpoch(finishedTimestamp) -\n TimeConversion.timestampToMillisecondsSinceEpoch(startedTimestamp)\n return TimeConversion.millisecondsToDuration(durationMillis)\n}\n\nexport function getZeroDuration(): messages.IDuration {\n return new messages.Duration({ seconds: 0, nanos: 0 })\n}\n\nexport default methods\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/types/index.d.ts b/node_modules/@cucumber/cucumber/lib/types/index.d.ts new file mode 100644 index 0000000..6385fb7 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/types/index.d.ts @@ -0,0 +1,4 @@ +export interface ILineAndUri { + line: number; + uri: string; +} diff --git a/node_modules/@cucumber/cucumber/lib/types/index.js b/node_modules/@cucumber/cucumber/lib/types/index.js new file mode 100644 index 0000000..aa219d8 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/types/index.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/types/index.js.map b/node_modules/@cucumber/cucumber/lib/types/index.js.map new file mode 100644 index 0000000..f3470a8 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/types/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface ILineAndUri {\n line: number\n uri: string\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.d.ts b/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.d.ts new file mode 100644 index 0000000..f5881bc --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.d.ts @@ -0,0 +1,7 @@ +/// +import UncaughtExceptionListener = NodeJS.UncaughtExceptionListener; +declare const UncaughtExceptionManager: { + registerHandler(handler: UncaughtExceptionListener): void; + unregisterHandler(handler: UncaughtExceptionListener): void; +}; +export default UncaughtExceptionManager; diff --git a/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.js b/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.js new file mode 100644 index 0000000..cbc8db0 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const UncaughtExceptionManager = { + registerHandler(handler) { + process.addListener('uncaughtException', handler); + }, + unregisterHandler(handler) { + process.removeListener('uncaughtException', handler); + }, +}; +exports.default = UncaughtExceptionManager; +//# sourceMappingURL=uncaught_exception_manager.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.js.map b/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.js.map new file mode 100644 index 0000000..bee0880 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/uncaught_exception_manager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uncaught_exception_manager.js","sourceRoot":"","sources":["../src/uncaught_exception_manager.ts"],"names":[],"mappings":";;AAEA,MAAM,wBAAwB,GAAG;IAC/B,eAAe,CAAC,OAAkC;QAChD,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,iBAAiB,CAAC,OAAkC;QAClD,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;CACF,CAAA;AAED,kBAAe,wBAAwB,CAAA","sourcesContent":["import UncaughtExceptionListener = NodeJS.UncaughtExceptionListener\n\nconst UncaughtExceptionManager = {\n registerHandler(handler: UncaughtExceptionListener): void {\n process.addListener('uncaughtException', handler)\n },\n\n unregisterHandler(handler: UncaughtExceptionListener): void {\n process.removeListener('uncaughtException', handler)\n },\n}\n\nexport default UncaughtExceptionManager\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/user_code_runner.d.ts b/node_modules/@cucumber/cucumber/lib/user_code_runner.d.ts new file mode 100644 index 0000000..0edb3f3 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/user_code_runner.d.ts @@ -0,0 +1,14 @@ +export interface IRunRequest { + argsArray: any[]; + thisArg: any; + fn: Function; + timeoutInMilliseconds: number; +} +export interface IRunResponse { + error?: any; + result?: any; +} +declare const UserCodeRunner: { + run({ argsArray, thisArg, fn, timeoutInMilliseconds, }: IRunRequest): Promise; +}; +export default UserCodeRunner; diff --git a/node_modules/@cucumber/cucumber/lib/user_code_runner.js b/node_modules/@cucumber/cucumber/lib/user_code_runner.js new file mode 100644 index 0000000..0e6a17f --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/user_code_runner.js @@ -0,0 +1,89 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const bluebird_1 = __importDefault(require("bluebird")); +const time_1 = __importDefault(require("./time")); +const uncaught_exception_manager_1 = __importDefault(require("./uncaught_exception_manager")); +const util_1 = __importDefault(require("util")); +const value_checker_1 = require("./value_checker"); +const UserCodeRunner = { + async run({ argsArray, thisArg, fn, timeoutInMilliseconds, }) { + const callbackPromise = new Promise((resolve, reject) => { + argsArray.push((error, result) => { + if (value_checker_1.doesHaveValue(error)) { + reject(error); + } + else { + resolve(result); + } + }); + }); + let fnReturn; + try { + fnReturn = fn.apply(thisArg, argsArray); + } + catch (e) { + const error = e instanceof Error ? e : util_1.default.format(e); + return { error }; + } + const racingPromises = []; + const callbackInterface = fn.length === argsArray.length; + const promiseInterface = value_checker_1.doesHaveValue(fnReturn) && typeof fnReturn.then === 'function'; + if (callbackInterface && promiseInterface) { + return { + error: new Error('function uses multiple asynchronous interfaces: callback and promise\n' + + 'to use the callback interface: do not return a promise\n' + + 'to use the promise interface: remove the last argument to the function'), + }; + } + else if (callbackInterface) { + racingPromises.push(callbackPromise); + } + else if (promiseInterface) { + racingPromises.push(fnReturn); + } + else { + return { result: fnReturn }; + } + let exceptionHandler; + const uncaughtExceptionPromise = new Promise((resolve, reject) => { + exceptionHandler = reject; + uncaught_exception_manager_1.default.registerHandler(exceptionHandler); + }); + racingPromises.push(uncaughtExceptionPromise); + let timeoutId; + if (timeoutInMilliseconds >= 0) { + const timeoutPromise = new Promise((resolve, reject) => { + timeoutId = time_1.default.setTimeout(() => { + const timeoutMessage = 'function timed out, ensure the ' + + (callbackInterface ? 'callback is executed' : 'promise resolves') + + ` within ${timeoutInMilliseconds.toString()} milliseconds`; + reject(new Error(timeoutMessage)); + }, timeoutInMilliseconds); + }); + racingPromises.push(timeoutPromise); + } + let error, result; + try { + result = await bluebird_1.default.race(racingPromises); + } + catch (e) { + if (e instanceof Error) { + error = e; + } + else if (value_checker_1.doesHaveValue(e)) { + error = util_1.default.format(e); + } + else { + error = new Error('Promise rejected without a reason'); + } + } + time_1.default.clearTimeout(timeoutId); + uncaught_exception_manager_1.default.unregisterHandler(exceptionHandler); + return { error, result }; + }, +}; +exports.default = UserCodeRunner; +//# sourceMappingURL=user_code_runner.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/user_code_runner.js.map b/node_modules/@cucumber/cucumber/lib/user_code_runner.js.map new file mode 100644 index 0000000..2bbc5a0 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/user_code_runner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user_code_runner.js","sourceRoot":"","sources":["../src/user_code_runner.ts"],"names":[],"mappings":"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","sourcesContent":["import bluebird from 'bluebird'\nimport Time from './time'\nimport UncaughtExceptionManager from './uncaught_exception_manager'\nimport util from 'util'\nimport { doesHaveValue } from './value_checker'\n\nexport interface IRunRequest {\n argsArray: any[]\n thisArg: any\n fn: Function\n timeoutInMilliseconds: number\n}\n\nexport interface IRunResponse {\n error?: any\n result?: any\n}\n\nconst UserCodeRunner = {\n async run({\n argsArray,\n thisArg,\n fn,\n timeoutInMilliseconds,\n }: IRunRequest): Promise {\n const callbackPromise = new Promise((resolve, reject) => {\n argsArray.push((error: Error, result: IRunResponse) => {\n if (doesHaveValue(error)) {\n reject(error)\n } else {\n resolve(result)\n }\n })\n })\n\n let fnReturn\n try {\n fnReturn = fn.apply(thisArg, argsArray)\n } catch (e) {\n const error = e instanceof Error ? e : util.format(e)\n return { error }\n }\n\n const racingPromises = []\n const callbackInterface = fn.length === argsArray.length\n const promiseInterface =\n doesHaveValue(fnReturn) && typeof fnReturn.then === 'function'\n\n if (callbackInterface && promiseInterface) {\n return {\n error: new Error(\n 'function uses multiple asynchronous interfaces: callback and promise\\n' +\n 'to use the callback interface: do not return a promise\\n' +\n 'to use the promise interface: remove the last argument to the function'\n ),\n }\n } else if (callbackInterface) {\n racingPromises.push(callbackPromise)\n } else if (promiseInterface) {\n racingPromises.push(fnReturn)\n } else {\n return { result: fnReturn }\n }\n\n let exceptionHandler\n const uncaughtExceptionPromise = new Promise((resolve, reject) => {\n exceptionHandler = reject\n UncaughtExceptionManager.registerHandler(exceptionHandler)\n })\n racingPromises.push(uncaughtExceptionPromise)\n\n let timeoutId\n if (timeoutInMilliseconds >= 0) {\n const timeoutPromise = new Promise((resolve, reject) => {\n timeoutId = Time.setTimeout(() => {\n const timeoutMessage =\n 'function timed out, ensure the ' +\n (callbackInterface ? 'callback is executed' : 'promise resolves') +\n ` within ${timeoutInMilliseconds.toString()} milliseconds`\n reject(new Error(timeoutMessage))\n }, timeoutInMilliseconds)\n })\n racingPromises.push(timeoutPromise)\n }\n\n let error, result\n try {\n result = await bluebird.race(racingPromises)\n } catch (e) {\n if (e instanceof Error) {\n error = e\n } else if (doesHaveValue(e)) {\n error = util.format(e)\n } else {\n error = new Error('Promise rejected without a reason')\n }\n }\n\n Time.clearTimeout(timeoutId)\n UncaughtExceptionManager.unregisterHandler(exceptionHandler)\n\n return { error, result }\n },\n}\n\nexport default UserCodeRunner\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/value_checker.d.ts b/node_modules/@cucumber/cucumber/lib/value_checker.d.ts new file mode 100644 index 0000000..7350e67 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/value_checker.d.ts @@ -0,0 +1,3 @@ +export declare function doesHaveValue(value: any): boolean; +export declare function doesNotHaveValue(value: any): boolean; +export declare function valueOrDefault(value: T, defaultValue: T): T; diff --git a/node_modules/@cucumber/cucumber/lib/value_checker.js b/node_modules/@cucumber/cucumber/lib/value_checker.js new file mode 100644 index 0000000..b426d88 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/value_checker.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.valueOrDefault = exports.doesNotHaveValue = exports.doesHaveValue = void 0; +function doesHaveValue(value) { + return !doesNotHaveValue(value); +} +exports.doesHaveValue = doesHaveValue; +function doesNotHaveValue(value) { + return value === null || value === undefined; +} +exports.doesNotHaveValue = doesNotHaveValue; +function valueOrDefault(value, defaultValue) { + if (doesHaveValue(value)) { + return value; + } + return defaultValue; +} +exports.valueOrDefault = valueOrDefault; +//# sourceMappingURL=value_checker.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/value_checker.js.map b/node_modules/@cucumber/cucumber/lib/value_checker.js.map new file mode 100644 index 0000000..5720f17 --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/value_checker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"value_checker.js","sourceRoot":"","sources":["../src/value_checker.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAAC,KAAU;IACtC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAFD,sCAEC;AAED,SAAgB,gBAAgB,CAAC,KAAU;IACzC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;AAC9C,CAAC;AAFD,4CAEC;AAED,SAAgB,cAAc,CAAI,KAAQ,EAAE,YAAe;IACzD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAA;KACb;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AALD,wCAKC","sourcesContent":["export function doesHaveValue(value: any): boolean {\n return !doesNotHaveValue(value)\n}\n\nexport function doesNotHaveValue(value: any): boolean {\n return value === null || value === undefined\n}\n\nexport function valueOrDefault(value: T, defaultValue: T): T {\n if (doesHaveValue(value)) {\n return value\n }\n return defaultValue\n}\n"]} \ No newline at end of file diff --git a/node_modules/@cucumber/cucumber/lib/wrapper.mjs b/node_modules/@cucumber/cucumber/lib/wrapper.mjs new file mode 100644 index 0000000..360d5ee --- /dev/null +++ b/node_modules/@cucumber/cucumber/lib/wrapper.mjs @@ -0,0 +1,38 @@ +import cucumber from './index.js' + +export const Cli = cucumber.Cli +export const parseGherkinMessageStream = cucumber.parseGherkinMessageStream +export const PickleFilter = cucumber.PickleFilter +export const Runtime = cucumber.Runtime +export const supportCodeLibraryBuilder = cucumber.supportCodeLibraryBuilder +export const Status = cucumber.Status +export const DataTable = cucumber.DataTable + +export const Formatter = cucumber.Formatter +export const FormatterBuilder = cucumber.FormatterBuilder +export const JsonFormatter = cucumber.JsonFormatter +export const ProgressFormatter = cucumber.ProgressFormatter +export const RerunFormatter = cucumber.RerunFormatter +export const SnippetsFormatter = cucumber.SnippetsFormatter +export const SummaryFormatter = cucumber.SummaryFormatter +export const UsageFormatter = cucumber.UsageFormatter +export const UsageJsonFormatter = cucumber.UsageJsonFormatter +export const formatterHelpers = cucumber.formatterHelpers + +export const After = cucumber.After +export const AfterAll = cucumber.AfterAll +export const AfterStep = cucumber.AfterStep +export const Before = cucumber.Before +export const BeforeAll = cucumber.BeforeAll +export const BeforeStep = cucumber.BeforeStep +export const defineParameterType = cucumber.defineParameterType +export const defineStep = cucumber.defineStep +export const Given = cucumber.Given +export const setDefaultTimeout = cucumber.setDefaultTimeout +export const setDefinitionFunctionWrapper = cucumber.setDefinitionFunctionWrapper +export const setWorldConstructor = cucumber.setWorldConstructor +export const Then = cucumber.Then +export const When = cucumber.When + +export const World = cucumber.World + diff --git a/node_modules/@cucumber/cucumber/package.json b/node_modules/@cucumber/cucumber/package.json new file mode 100644 index 0000000..efa857d --- /dev/null +++ b/node_modules/@cucumber/cucumber/package.json @@ -0,0 +1,733 @@ +{ + "_from": "@cucumber/cucumber", + "_id": "@cucumber/cucumber@7.2.0", + "_inBundle": false, + "_integrity": "sha512-M4giL02zPmnftCqu8nPdxi3IFtmLIGrB/DAKxVJZJ8BbTqEgH691IEQqSIUcB2QVD2gItM0ft8NcEXyyPrA5KQ==", + "_location": "/@cucumber/cucumber", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "@cucumber/cucumber", + "name": "@cucumber/cucumber", + "escapedName": "@cucumber%2fcucumber", + "scope": "@cucumber", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-7.2.0.tgz", + "_shasum": "0abd5eea4c01980ca3821e4088fa0d9af1d10e61", + "_spec": "@cucumber/cucumber", + "_where": "/Users/ania/Projects/jan-molak/cucumber-js-1646", + "author": { + "name": "Julien Biezemans", + "email": "jb@jbpros.com" + }, + "bin": { + "cucumber-js": "bin/cucumber-js" + }, + "bugs": { + "url": "https://github.com/cucumber/cucumber-js/issues", + "email": "cukes@googlegroups.com" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Aaron Garvey" + }, + { + "name": "Adam Ark", + "email": "Adam-ARK@users.noreply.github.com" + }, + { + "name": "Ádám Gólya", + "email": "adam.golya@lab.coop" + }, + { + "name": "ahulab", + "email": "alexbaluha@gmail.com" + }, + { + "name": "Alon Diamant", + "email": "diamant.alon@gmail.com" + }, + { + "name": "Artem Bronitsky", + "email": "quex@yandex.ru" + }, + { + "name": "Artem Repko", + "email": "roby-boby@ukr.net" + }, + { + "name": "Artur Kania", + "email": "kaniartur@gmail.com" + }, + { + "name": "Artur Neumann", + "email": "artur@jankaritech.com" + }, + { + "name": "Artur Pomadowski", + "email": "artur.pomadowski@gmail.com" + }, + { + "name": "Aslak Hellesøy", + "email": "aslak.hellesoy@gmail.com" + }, + { + "name": "basemmerink", + "email": "bas.emmerink@gmail.com" + }, + { + "name": "Ben Van Treese", + "email": "vantreeseba@gmail.com" + }, + { + "name": "Benjamín Eidelman", + "email": "beneidel+gh@gmail.com" + }, + { + "name": "Brian Clozel", + "email": "brian.clozel@gmail.com" + }, + { + "name": "Bruce Lindsay", + "email": "skynet1024@gmail.com" + }, + { + "name": "Charles Rudolph", + "email": "charles.rudolph@originate.com" + }, + { + "name": "Chris Young", + "email": "chris@chrisyoung.org" + }, + { + "name": "chrismilleruk", + "email": "chrismilleruk@gmail.com" + }, + { + "name": "Cody Ray Hoeft", + "email": "crhoeft@gmail.com" + }, + { + "name": "Craig Morris", + "email": "craig.michael.morris@gmail.com" + }, + { + "name": "Dale Gardner", + "email": "dalegardner@live.com" + }, + { + "name": "Darrin Holst", + "email": "darrinholst@gmail.com" + }, + { + "name": "David Godfrey", + "email": "reactiveraven@reactiveraven.co.uk" + }, + { + "name": "David Goss", + "email": "david@davidgoss.co" + }, + { + "name": "David H. Gutteridge", + "email": "dhgutteridge@users.noreply.github.com" + }, + { + "name": "Dawn Minion", + "email": "35529725+dawn-minion@users.noreply.github.com" + }, + { + "name": "dbillingham", + "email": "dbillinghamuk@yahoo.co.uk" + }, + { + "name": "DevSide", + "email": "thomas.triau@gmail.com" + }, + { + "name": "Diego Di Mauro", + "email": "hurrikam@users.noreply.github.com" + }, + { + "name": "Dmitry Shirokov", + "email": "deadrunk@gmail.com" + }, + { + "name": "Dmytro Shpakovskyi", + "email": "Marketionist@users.noreply.github.com" + }, + { + "name": "Eddie Loeffen", + "email": "eddieloeffen@gmail.com" + }, + { + "name": "efokschaner", + "email": "eddyaod@gmail.com" + }, + { + "name": "Elwyn", + "email": "elwyn@L1.co.nz" + }, + { + "name": "Fedotov Daniil", + "email": "hairyhum@gmail.com" + }, + { + "name": "Fernando Acorreia", + "email": "fernandoacorreia@gmail.com" + }, + { + "name": "Florian Ribon", + "email": "florian.ribon@gmail.com" + }, + { + "name": "Gabe Hayes", + "email": "gabriel.hayes@gmail.com" + }, + { + "name": "Gary Taylor", + "email": "gary.taylor@hismessages.com" + }, + { + "name": "gforceg", + "email": "greghedin@gmail.com" + }, + { + "name": "Giuseppe DiBella", + "email": "gd46@njit.edu" + }, + { + "name": "Greg Knaddison", + "email": "greg.knaddison@gmail.com" + }, + { + "name": "Honza Javorek", + "email": "mail@honzajavorek.cz" + }, + { + "name": "Hugues Malphettes", + "email": "hmalphettes@gmail.com" + }, + { + "name": "Ilya Kozhevnikov", + "email": "github@kozhevnikov.com" + }, + { + "name": "Israel Halle", + "email": "isra017@gmail.com" + }, + { + "name": "Izhaki", + "email": "roey@gefri.org" + }, + { + "name": "Jan Molak", + "email": "jan.molak@smartcodeltd.co.uk" + }, + { + "name": "Jan-Eric Duden", + "email": "jeduden@gmail.com" + }, + { + "name": "Jayson Smith", + "email": "github@nes.33mail.com" + }, + { + "name": "Jesse Harlin", + "email": "harlinjesse@gmail.com" + }, + { + "name": "João Guilherme Farias Duda", + "email": "jgfd@cin.ufpe.br" + }, + { + "name": "Joey Jan", + "email": "OverFlow636@users.noreply.github.com" + }, + { + "name": "John Krull", + "email": "astrom.flux@gmail.com" + }, + { + "name": "John McLaughlin", + "email": "john.mjhm@gmail.com" + }, + { + "name": "John Wright", + "email": "johngeorge.wright@gmail.com" + }, + { + "name": "Johny Jose", + "email": "johny@playlyfe.com" + }, + { + "name": "Jonathan Gomez", + "email": "jonathanbgomez@gmail.com" + }, + { + "name": "Jonathan Kim", + "email": "jkimbo@gmail.com" + }, + { + "name": "Josh Chisholm", + "email": "joshuachisholm@gmail.com" + }, + { + "name": "Josh Goldberg", + "email": "joshuakgoldberg@outlook.com" + }, + { + "name": "Josua Schmid", + "email": "jschmid@fastmail.net" + }, + { + "name": "jshifflet", + "email": "jason.shifflet@gmail.com" + }, + { + "name": "Julian", + "email": "JuloWaks@users.noreply.github.com" + }, + { + "name": "Julian", + "email": "microweb10@gmail.com" + }, + { + "name": "Julien Biezemans", + "email": "jb@jbpros.com" + }, + { + "name": "Karine Pires", + "email": "karine.pires@alterway.fr" + }, + { + "name": "Kārlis Amoliņš", + "email": "karlis.amolins.5@gmail.com" + }, + { + "name": "Karthik Viswanath", + "email": "karthik.viswanath-contractor@adp.com" + }, + { + "name": "Kevin Goslar", + "email": "kevin.goslar@gmail.com" + }, + { + "name": "Kevin Kirsche", + "email": "Kev.Kirsche+GitHub@gmail.com" + }, + { + "name": "Kim, Jang-hwan", + "email": "janghwan@gmail.com" + }, + { + "name": "kostya.misura", + "email": "kostya.misura@gmail.com" + }, + { + "name": "Krispin Schulz", + "email": "krispin.schulz@blackbridge.com" + }, + { + "name": "Kushal Pisavadia" + }, + { + "name": "Kyle Moore", + "email": "kyledmoore@gmail.com" + }, + { + "name": "Leonardo", + "email": "mondloslp@gmail.com" + }, + { + "name": "lopesc", + "email": "lopesc@users.noreply.github.com" + }, + { + "name": "Lucas Cimon", + "email": "lucas.cimon@gmail.com" + }, + { + "name": "Lukas Degener", + "email": "l.degener@tarent.de" + }, + { + "name": "Łukasz Gandecki", + "email": "lgandecki@css.edu" + }, + { + "name": "M.P. Korstanje", + "email": "mpkorstanje@users.noreply.github.com" + }, + { + "name": "Marat Dyatko", + "email": "vectart@gmail.com" + }, + { + "name": "Marc Burton", + "email": "marc.burton@first-utility.com" + }, + { + "name": "Marcel Hoyer", + "email": "mhoyer@pixelplastic.de" + }, + { + "name": "Marco Muller", + "email": "marco@remotemetering.net" + }, + { + "name": "Mark Amery", + "email": "markamery@btinternet.com" + }, + { + "name": "Martin Delille", + "email": "martin@phonations.com" + }, + { + "name": "Máté Karácsony", + "email": "k_mate@inf.elte.hu" + }, + { + "name": "Mateusz Derks", + "email": "mateusz.derks@schibsted.pl" + }, + { + "name": "Matteo Collina", + "email": "matteo.collina@gmail.com" + }, + { + "name": "Maxim Koretskiy", + "email": "mr.green.tv@gmail.com" + }, + { + "name": "mgonnet", + "email": "gonnet.matias@gmail.com" + }, + { + "name": "Michael Zedeler", + "email": "michael@zedeler.dk" + }, + { + "name": "Miika Hänninen", + "email": "miika.hanninen@gmail.com" + }, + { + "name": "nebehr", + "email": "thorgeir@tut.by" + }, + { + "name": "Nico Jansen", + "email": "jansennico@gmail.com" + }, + { + "name": "Niklas Närhinen", + "email": "niklas@narhinen.net" + }, + { + "name": "Niyaz Akhmetov", + "email": "axmet180@gmail.com" + }, + { + "name": "Noah Davis", + "email": "noahd1@yahoo.com" + }, + { + "name": "Oliver Rogers", + "email": "oli.rogers@gmail.com" + }, + { + "name": "Olivier Melcher", + "email": "olivier.melcher@gmail.com" + }, + { + "name": "Olle Jonsson", + "email": "olle.jonsson@gmail.com" + }, + { + "name": "Omar Gonzalez", + "email": "omar@almerblank.com" + }, + { + "name": "Paul Jensen", + "email": "paulbjensen@gmail.com" + }, + { + "name": "Paul Shannon", + "url": "https://devpaul.com" + }, + { + "name": "please-rewrite", + "email": "please-rewrite@users.noreply.github.com" + }, + { + "name": "Renier Morales", + "email": "renier@morales-rodriguez.net" + }, + { + "name": "Rick Lee-Morlang", + "email": "rick@lee-morlang.com" + }, + { + "name": "RolandArgos", + "email": "roland.ormrod@argos.co.uk" + }, + { + "name": "Sam Saccone", + "email": "sam@samx.it" + }, + { + "name": "Scott Deakin", + "email": "scott.deakin@kantar.com" + }, + { + "name": "seantdg", + "email": "sm.davis@gmx.com" + }, + { + "name": "Seb Rose", + "email": "seb@claysnow.co.uk" + }, + { + "name": "Sérgio Junior", + "email": "sergioamjr91@gmail.com" + }, + { + "name": "Simon Dean", + "email": "simon@simondean.org" + }, + { + "name": "Simon Lampen", + "email": "simonlampen@vinsight.net" + }, + { + "name": "Sonny Piers", + "email": "sonny@fastmail.net" + }, + { + "name": "Stanley Shyiko", + "email": "stanley.shyiko@gmail.com" + }, + { + "name": "Steve Tooke", + "email": "tooky@cucumber.io" + }, + { + "name": "szymonprz", + "email": "szymonprz@gmail.com" + }, + { + "name": "Ted de Koning" + }, + { + "name": "temyers", + "email": "temyers@users.noreply.github.com" + }, + { + "name": "Tim Perry", + "email": "tim.perry@softwire.com" + }, + { + "name": "Tom V", + "email": "tom@toc.com" + }, + { + "name": "Tristan Dunn", + "email": "tristanzdunn@gmail.com" + }, + { + "name": "unknown", + "email": "jharlin@NormanDev2.telogical.com" + }, + { + "name": "Valerio Innocenti Sedili", + "email": "valerio.innocenti.ext@yoox.com" + }, + { + "name": "Vasily Shelkov", + "email": "vasilydshelkov@gmail.com" + }, + { + "name": "vincent.capicotto", + "email": "vincent.capicotto@hiptest.net" + }, + { + "name": "vincent-psarga", + "email": "vincent.pretre@smartbear.com" + }, + { + "name": "Warren", + "email": "w.green@hotmail.com" + }, + { + "name": "Will Farrell", + "email": "will@mojotech.com" + }, + { + "name": "yaronassa", + "email": "yaronassa@users.noreply.github.com" + }, + { + "name": "Yohan Siguret", + "email": "yohan.siguret@gmail.com" + }, + { + "name": "Zearin", + "email": "Zearin@users.noreply.github.com" + }, + { + "name": "zs-zs", + "email": "zsolt.zsigmondi@hotmail.com" + } + ], + "dependencies": { + "@cucumber/create-meta": "4.0.0", + "@cucumber/cucumber-expressions": "12.0.1", + "@cucumber/gherkin": "18.0.0", + "@cucumber/gherkin-streams": "1.0.0", + "@cucumber/html-formatter": "13.0.0", + "@cucumber/messages": "15.0.0", + "@cucumber/query": "9.0.2", + "@cucumber/tag-expressions": "3.0.1", + "assertion-error-formatter": "3.0.0", + "bluebird": "^3.7.2", + "capital-case": "^1.0.4", + "cli-table3": "^0.6.0", + "colors": "^1.4.0", + "commander": "^7.0.0", + "duration": "^0.2.2", + "durations": "^3.4.2", + "figures": "^3.2.0", + "glob": "^7.1.6", + "indent-string": "^4.0.0", + "is-generator": "^1.0.3", + "is-stream": "^2.0.0", + "knuth-shuffle-seeded": "^1.0.6", + "lodash": "^4.17.21", + "mz": "^2.7.0", + "progress": "^2.0.3", + "resolve": "^1.19.0", + "resolve-pkg": "^2.0.0", + "stack-chain": "^2.0.0", + "stacktrace-js": "^2.0.2", + "string-argv": "^0.3.1", + "tmp": "^0.2.1", + "util-arity": "^1.1.0", + "verror": "^1.10.0" + }, + "deprecated": false, + "description": "The official JavaScript implementation of Cucumber.", + "devDependencies": { + "@cucumber/compatibility-kit": "4.0.1", + "@sinonjs/fake-timers": "7.0.2", + "@types/bluebird": "3.5.33", + "@types/chai": "4.2.15", + "@types/dirty-chai": "2.0.2", + "@types/express": "4.17.11", + "@types/fs-extra": "9.0.9", + "@types/glob": "7.1.3", + "@types/lodash": "4.14.168", + "@types/mocha": "8.2.2", + "@types/mustache": "4.1.1", + "@types/mz": "2.7.3", + "@types/node": "14.14.37", + "@types/progress": "2.0.3", + "@types/resolve": "1.20.0", + "@types/semver": "7.3.4", + "@types/sinon-chai": "3.2.5", + "@types/sinonjs__fake-timers": "6.0.2", + "@types/stream-buffers": "3.0.3", + "@types/tmp": "0.2.0", + "@types/verror": "1.10.4", + "@typescript-eslint/eslint-plugin": "4.20.0", + "@typescript-eslint/parser": "4.20.0", + "chai": "4.3.4", + "chai-exclude": "2.0.2", + "coffeescript": "2.5.1", + "dependency-lint": "6.0.0", + "dirty-chai": "2.0.1", + "eslint": "7.23.0", + "eslint-config-prettier": "8.1.0", + "eslint-config-standard-with-typescript": "20.0.0", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-prettier": "3.3.1", + "eslint-plugin-promise": "4.3.1", + "eslint-plugin-standard": "4.1.0", + "express": "4.17.1", + "fs-extra": "9.1.0", + "mocha": "8.3.2", + "mustache": "4.2.0", + "ndjson-parse": "1.0.4", + "nyc": "15.1.0", + "prettier": "2.2.1", + "semver": "7.3.5", + "sinon": "10.0.0", + "sinon-chai": "3.6.0", + "stream-buffers": "3.0.2", + "stream-to-string": "1.2.0", + "ts-node": "9.1.1", + "tsd": "0.14.0", + "typescript": "4.2.3" + }, + "directories": { + "lib": "./lib" + }, + "engines": { + "node": ">=10" + }, + "exports": { + "import": "./lib/wrapper.mjs", + "require": "./lib/index.js" + }, + "files": [ + "bin/", + "lib/" + ], + "homepage": "https://github.com/cucumber/cucumber-js", + "keywords": [ + "testing", + "bdd", + "cucumber", + "gherkin", + "tests" + ], + "license": "MIT", + "main": "./lib/index.js", + "name": "@cucumber/cucumber", + "repository": { + "type": "git", + "url": "git://github.com/cucumber/cucumber-js.git" + }, + "scripts": { + "build-local": "tsc -p tsconfig.node.json && cp src/importers.js lib/ && cp src/wrapper.mjs lib/", + "cck-test": "mocha 'compatibility/**/*_spec.ts'", + "feature-test": "node ./bin/cucumber-js", + "html-formatter": "node ./bin/cucumber-js --profile htmlFormatter", + "lint": "yarn run lint-code && yarn run lint-dependencies", + "lint-autofix": "eslint --fix \"{compatibility,example,features,scripts,src,test}/**/*.ts\"", + "lint-code": "eslint \"{compatibility,example,features,scripts,src,test}/**/*.ts\"", + "lint-dependencies": "dependency-lint", + "precck-test": "yarn run build-local", + "prefeature-test": "yarn run build-local", + "prelint-autofix": "yarn build-local", + "prelint-code": "yarn build-local", + "prepublishOnly": "rm -rf lib && npm run build-local", + "pretest-coverage": "yarn build-local", + "pretypes-test": "yarn build-local", + "test": "yarn run lint && yarn run types-test && yarn run unit-test && yarn run cck-test && yarn run feature-test", + "test-coverage": "nyc --silent mocha 'src/**/*_spec.ts' 'compatibility/**/*_spec.ts' && nyc --silent --no-clean node ./bin/cucumber-js && nyc report --reporter=lcov", + "types-test": "tsd", + "unit-test": "mocha 'src/**/*_spec.ts'", + "update-dependencies": "npx npm-check-updates --upgrade" + }, + "types": "./lib/index.d.ts", + "version": "7.2.0" +} diff --git a/node_modules/@cucumber/gherkin-streams/.mocharc.json b/node_modules/@cucumber/gherkin-streams/.mocharc.json new file mode 100644 index 0000000..d5055eb --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/.mocharc.json @@ -0,0 +1,6 @@ +{ + "require": ["tsconfig-paths/register", "ts-node/register", "source-map-support/register"], + "extension": ["ts", "tsx"], + "recursive": true, + "timeout": 10000 +} diff --git a/node_modules/@cucumber/gherkin-streams/.rsync b/node_modules/@cucumber/gherkin-streams/.rsync new file mode 100644 index 0000000..292d4f2 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/.rsync @@ -0,0 +1 @@ +../../.templates/javascript/ . diff --git a/node_modules/@cucumber/gherkin-streams/Makefile b/node_modules/@cucumber/gherkin-streams/Makefile new file mode 100644 index 0000000..551e68e --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/Makefile @@ -0,0 +1 @@ +include default.mk diff --git a/node_modules/@cucumber/gherkin-streams/bin/gherkin b/node_modules/@cucumber/gherkin-streams/bin/gherkin new file mode 100755 index 0000000..f03cb99 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/bin/gherkin @@ -0,0 +1,4 @@ +#!/usr/bin/env node +'use strict' +require('source-map-support').install() +require('../dist/src/cli/main') diff --git a/node_modules/@cucumber/gherkin-streams/default.mk b/node_modules/@cucumber/gherkin-streams/default.mk new file mode 100644 index 0000000..2d7aafb --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/default.mk @@ -0,0 +1,69 @@ +SHELL := /usr/bin/env bash +# https://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make +rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d)) +TYPESCRIPT_SOURCE_FILES = $(sort $(call rwildcard,src test,*.ts *.tsx)) +PRIVATE = $(shell node -e "console.log(require('./package.json').private)") +IS_TESTDATA = $(findstring -testdata,${CURDIR}) +NPM_MODULE = $(shell cat package.json | jq .name --raw-output) + +default: .tested +.PHONY: default + +.codegen: + touch $@ + +.tested: .tested-npm + +.tested-npm: $(TYPESCRIPT_SOURCE_FILES) .codegen + npm run test + touch $@ + +pre-release: clean update-version update-dependencies default +.PHONY: pre-release + +update-dependencies: + ../../node_modules/.bin/npm-check-updates --upgrade && \ + pushd ../.. && \ + npm install && \ + npm run build && \ + popd +.PHONY: update-dependencies + +update-version: +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifdef NEW_VERSION + npm --no-git-tag-version --allow-same-version version "$(NEW_VERSION)" + # Update all npm packages that depend on us + pushd ../.. && \ + ./scripts/npm-each update_npm_dependency_if_exists package.json "$(NPM_MODULE)" "^$(NEW_VERSION)" + # npm install +else + @echo -e "\033[0;31mNEW_VERSION is not defined. Can't update version :-(\033[0m" + exit 1 +endif +endif +.PHONY: update-version + +publish: .codegen +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifneq (true,$(PRIVATE)) + npm publish --access public +else + @echo "Not publishing private npm module" +endif +endif +.PHONY: publish + +post-release: +.PHONY: post-release + +clean: clean-javascript +.PHONY: clean + +clean-javascript: + rm -rf .deps .codegen .tested* node_modules coverage dist acceptance +.PHONY: clean-javascript diff --git a/node_modules/@cucumber/gherkin-streams/dist/package.json b/node_modules/@cucumber/gherkin-streams/dist/package.json new file mode 100644 index 0000000..3d58ce6 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/package.json @@ -0,0 +1,43 @@ +{ + "name": "@cucumber/gherkin-streams", + "version": "1.0.0", + "description": "Streams for reading Gherkin parser output", + "main": "dist/src/index.js", + "types": "dist/src/index.d.ts", + "bin": { + "gherkin-javascript": "bin/gherkin" + }, + "repository": { + "type": "git", + "url": "git://github.com/cucumber/cucumber.git" + }, + "author": "Cucumber Limited ", + "license": "MIT", + "scripts": { + "test": "mocha", + "prepublishOnly": "tsc --build tsconfig.build.json" + }, + "dependencies": { + "@cucumber/messages": "^15.0.0", + "@cucumber/message-streams": "^1.0.0", + "@cucumber/gherkin": "^18.0.0", + "commander": "^7.2.0", + "protobufjs": "^6.10.2", + "source-map-support": "^0.5.19" + }, + "devDependencies": { + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.35", + "mocha": "^8.3.2", + "nyc": "^15.1.0", + "typescript": "^4.2.3" + }, + "bugs": { + "url": "https://github.com/cucumber/cucumber/issues" + }, + "homepage": "https://github.com/cucumber/cucumber#readme", + "directories": { + "test": "test" + }, + "keywords": [] +} diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts new file mode 100644 index 0000000..13fb098 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts @@ -0,0 +1,15 @@ +/// +import { Readable } from 'stream'; +import { messages } from '@cucumber/messages'; +import ParserMessageStream from './ParserMessageStream'; +import { IGherkinOptions } from '@cucumber/gherkin'; +declare function fromStream(stream: Readable, options: IGherkinOptions): ParserMessageStream; +declare function fromPaths(paths: ReadonlyArray, options: IGherkinOptions): Readable; +declare function fromSources(envelopes: ReadonlyArray, options: IGherkinOptions): Readable; +declare const _default: { + fromPaths: typeof fromPaths; + fromStream: typeof fromStream; + fromSources: typeof fromSources; +}; +export default _default; +//# sourceMappingURL=GherkinStreams.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts.map b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts.map new file mode 100644 index 0000000..522ddbd --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GherkinStreams.d.ts","sourceRoot":"","sources":["../../src/GherkinStreams.ts"],"names":[],"mappings":";AAAA,OAAO,EAAyB,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,iBAAS,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,uBAM7D;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CA8BnF;AAED,iBAAS,WAAW,CAClB,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC5C,OAAO,EAAE,eAAe,GACvB,QAAQ,CAsBV;;;;;;AAED,wBAIC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.js b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.js new file mode 100644 index 0000000..4b09531 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.js @@ -0,0 +1,71 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const stream_1 = require("stream"); +const messages_1 = require("@cucumber/messages"); +const message_streams_1 = require("@cucumber/message-streams"); +const ParserMessageStream_1 = __importDefault(require("./ParserMessageStream")); +const SourceMessageStream_1 = __importDefault(require("./SourceMessageStream")); +const fs_1 = __importDefault(require("fs")); +const makeGherkinOptions_1 = __importDefault(require("./makeGherkinOptions")); +function fromStream(stream, options) { + return stream_1.pipeline(stream, new message_streams_1.BinaryToMessageStream(messages_1.messages.Envelope.decodeDelimited), new ParserMessageStream_1.default(options)); +} +function fromPaths(paths, options) { + const pathsCopy = paths.slice(); + options = makeGherkinOptions_1.default(options); + const combinedMessageStream = new stream_1.PassThrough({ + writableObjectMode: true, + readableObjectMode: true, + }); + function pipeSequentially() { + const path = pathsCopy.shift(); + if (path !== undefined) { + const parserMessageStream = new ParserMessageStream_1.default(options); + parserMessageStream.on('end', () => { + pipeSequentially(); + }); + const end = pathsCopy.length === 0; + // Can't use pipeline here because of the { end } argument, + // so we have to manually propagate errors. + fs_1.default.createReadStream(path, { encoding: 'utf-8' }) + .on('error', (err) => combinedMessageStream.emit('error', err)) + .pipe(new SourceMessageStream_1.default(path)) + .on('error', (err) => combinedMessageStream.emit('error', err)) + .pipe(parserMessageStream) + .on('error', (err) => combinedMessageStream.emit('error', err)) + .pipe(combinedMessageStream, { end }); + } + } + pipeSequentially(); + return combinedMessageStream; +} +function fromSources(envelopes, options) { + const envelopesCopy = envelopes.slice(); + options = makeGherkinOptions_1.default(options); + const combinedMessageStream = new stream_1.PassThrough({ + writableObjectMode: true, + readableObjectMode: true, + }); + function pipeSequentially() { + const envelope = envelopesCopy.shift(); + if (envelope !== undefined && envelope.source) { + const parserMessageStream = new ParserMessageStream_1.default(options); + parserMessageStream.pipe(combinedMessageStream, { + end: envelopesCopy.length === 0, + }); + parserMessageStream.on('end', pipeSequentially); + parserMessageStream.end(envelope); + } + } + pipeSequentially(); + return combinedMessageStream; +} +exports.default = { + fromPaths, + fromStream, + fromSources, +}; +//# sourceMappingURL=GherkinStreams.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.js.map b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.js.map new file mode 100644 index 0000000..43f8c35 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GherkinStreams.js","sourceRoot":"","sources":["../../src/GherkinStreams.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.d.ts b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.d.ts new file mode 100644 index 0000000..1da0b4d --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.d.ts @@ -0,0 +1,13 @@ +/// +import { Transform, TransformCallback } from 'stream'; +import { messages } from '@cucumber/messages'; +import { IGherkinOptions } from '@cucumber/gherkin'; +/** + * Stream that reads Source messages and writes GherkinDocument and Pickle messages. + */ +export default class ParserMessageStream extends Transform { + private readonly options; + constructor(options: IGherkinOptions); + _transform(envelope: messages.IEnvelope, encoding: string, callback: TransformCallback): void; +} +//# sourceMappingURL=ParserMessageStream.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.d.ts.map b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.d.ts.map new file mode 100644 index 0000000..f4500e9 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ParserMessageStream.d.ts","sourceRoot":"","sources":["../../src/ParserMessageStream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAoB,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAErE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAI9C,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;CAS9F"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.js b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.js new file mode 100644 index 0000000..37a419b --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const stream_1 = require("stream"); +const gherkin_1 = require("@cucumber/gherkin"); +/** + * Stream that reads Source messages and writes GherkinDocument and Pickle messages. + */ +class ParserMessageStream extends stream_1.Transform { + constructor(options) { + super({ writableObjectMode: true, readableObjectMode: true }); + this.options = options; + } + _transform(envelope, encoding, callback) { + if (envelope.source) { + const messageList = gherkin_1.generateMessages(envelope.source.data, envelope.source.uri, this.options); + for (const message of messageList) { + this.push(message); + } + } + callback(); + } +} +exports.default = ParserMessageStream; +module.exports = ParserMessageStream; +//# sourceMappingURL=ParserMessageStream.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.js.map b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.js.map new file mode 100644 index 0000000..9c60019 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/ParserMessageStream.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ParserMessageStream.js","sourceRoot":"","sources":["../../src/ParserMessageStream.ts"],"names":[],"mappings":";;AAAA,mCAAqD;AAErD,+CAAqE;AAErE;;GAEG;AACH,MAAqB,mBAAoB,SAAQ,kBAAS;IACxD,YAA6B,OAAwB;QACnD,KAAK,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;QADlC,YAAO,GAAP,OAAO,CAAiB;IAErD,CAAC;IAEM,UAAU,CAAC,QAA4B,EAAE,QAAgB,EAAE,QAA2B;QAC3F,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,MAAM,WAAW,GAAG,0BAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7F,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACnB;SACF;QACD,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AAdD,sCAcC;AAED,MAAM,CAAC,OAAO,GAAG,mBAAmB,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.d.ts b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.d.ts new file mode 100644 index 0000000..aa14699 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.d.ts @@ -0,0 +1,13 @@ +/// +import { Transform, TransformCallback } from 'stream'; +/** + * Stream that reads a string and writes a single Source message. + */ +export default class SourceMessageStream extends Transform { + private readonly uri; + private buffer; + constructor(uri: string); + _transform(chunk: Buffer, encoding: string, callback: TransformCallback): void; + _flush(callback: TransformCallback): void; +} +//# sourceMappingURL=SourceMessageStream.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.d.ts.map b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.d.ts.map new file mode 100644 index 0000000..e15a0c3 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"SourceMessageStream.d.ts","sourceRoot":"","sources":["../../src/SourceMessageStream.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAErD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IAG5C,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,OAAO,CAAC,MAAM,CAAkB;gBAEH,GAAG,EAAE,MAAM;IAIjC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAKvE,MAAM,CAAC,QAAQ,EAAE,iBAAiB;CAM1C"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.js b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.js new file mode 100644 index 0000000..de55ec9 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const gherkin_1 = require("@cucumber/gherkin"); +const stream_1 = require("stream"); +/** + * Stream that reads a string and writes a single Source message. + */ +class SourceMessageStream extends stream_1.Transform { + constructor(uri) { + super({ readableObjectMode: true, writableObjectMode: false }); + this.uri = uri; + this.buffer = Buffer.alloc(0); + } + _transform(chunk, encoding, callback) { + this.buffer = Buffer.concat([this.buffer, chunk]); + callback(); + } + _flush(callback) { + const data = this.buffer.toString('utf8'); + const chunk = gherkin_1.makeSourceEnvelope(data, this.uri); + this.push(chunk); + callback(); + } +} +exports.default = SourceMessageStream; +//# sourceMappingURL=SourceMessageStream.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.js.map b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.js.map new file mode 100644 index 0000000..dd2b9ca --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/SourceMessageStream.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SourceMessageStream.js","sourceRoot":"","sources":["../../src/SourceMessageStream.ts"],"names":[],"mappings":";;AAAA,+CAAsD;AACtD,mCAAqD;AAErD;;GAEG;AACH,MAAqB,mBAAoB,SAAQ,kBAAS;IAGxD,YAA6B,GAAW;QACtC,KAAK,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAA;QADnC,QAAG,GAAH,GAAG,CAAQ;QAFhC,WAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAIhC,CAAC;IAEM,UAAU,CAAC,KAAa,EAAE,QAAgB,EAAE,QAA2B;QAC5E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QACjD,QAAQ,EAAE,CAAA;IACZ,CAAC;IAEM,MAAM,CAAC,QAA2B;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,4BAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChB,QAAQ,EAAE,CAAA;IACZ,CAAC;CACF;AAlBD,sCAkBC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.d.ts b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.d.ts new file mode 100644 index 0000000..371115b --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=main.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.d.ts.map b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.d.ts.map new file mode 100644 index 0000000..f39e329 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.js b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.js new file mode 100644 index 0000000..ec0e07d --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.js @@ -0,0 +1,42 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const commander_1 = require("commander"); +const package_json_1 = __importDefault(require("../../package.json")); +const GherkinStreams_1 = __importDefault(require("../GherkinStreams")); +const messages_1 = require("@cucumber/messages"); +const message_streams_1 = require("@cucumber/message-streams"); +const program = new commander_1.Command(); +program.version(package_json_1.default.version); +program.option('--no-source', 'Do not output Source messages', false); +program.option('--no-ast', 'Do not output GherkinDocument messages', false); +program.option('--no-pickles', 'Do not output Pickle messages', false); +program.option('--predictable-ids', 'Use predictable ids', false); +program.option('-f, --format ', 'output format: ndjson|protobuf', 'protobuf'); +program.parse(process.argv); +const paths = program.args; +const options = { + defaultDialect: 'en', + includeSource: program.opts().source, + includeGherkinDocument: program.opts().ast, + includePickles: program.opts().pickles, + newId: program.opts().predictableIds ? messages_1.IdGenerator.incrementing() : messages_1.IdGenerator.uuid(), +}; +const messageStream = paths.length === 0 + ? GherkinStreams_1.default.fromStream(process.stdin, options) + : GherkinStreams_1.default.fromPaths(paths, options); +let encodedStream; +switch (program.opts().format) { + case 'ndjson': + encodedStream = new message_streams_1.MessageToNdjsonStream(); + break; + case 'protobuf': + encodedStream = new message_streams_1.MessageToBinaryStream(); + break; + default: + throw new Error(`Unsupported format: ${program.opts().format}`); +} +messageStream.pipe(encodedStream).pipe(process.stdout); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.js.map b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.js.map new file mode 100644 index 0000000..a1d19eb --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/cli/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":";;;;;AAAA,yCAAmC;AACnC,sEAA4C;AAC5C,uEAA8C;AAC9C,iDAAgD;AAChD,+DAAwF;AAIxF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;AAC7B,OAAO,CAAC,OAAO,CAAC,sBAAW,CAAC,OAAO,CAAC,CAAA;AACpC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,+BAA+B,EAAE,KAAK,CAAC,CAAA;AACrE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,wCAAwC,EAAE,KAAK,CAAC,CAAA;AAC3E,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,+BAA+B,EAAE,KAAK,CAAC,CAAA;AACtE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAA;AACjE,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,EAAE,UAAU,CAAC,CAAA;AACrF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;AAE1B,MAAM,OAAO,GAAoB;IAC/B,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM;IACpC,sBAAsB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG;IAC1C,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO;IACtC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,sBAAW,CAAC,IAAI,EAAE;CACvF,CAAA;AAED,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,KAAK,CAAC;IAChB,CAAC,CAAC,wBAAc,CAAC,UAAU,CAAE,OAAO,CAAC,KAA6B,EAAE,OAAO,CAAC;IAC5E,CAAC,CAAC,wBAAc,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAE9C,IAAI,aAAwB,CAAA;AAC5B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;IAC7B,KAAK,QAAQ;QACX,aAAa,GAAG,IAAI,uCAAqB,EAAE,CAAA;QAC3C,MAAK;IACP,KAAK,UAAU;QACb,aAAa,GAAG,IAAI,uCAAqB,EAAE,CAAA;QAC3C,MAAK;IACP;QACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;CAClE;AAED,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts b/node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts new file mode 100644 index 0000000..2ecd585 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts @@ -0,0 +1,3 @@ +import GherkinStreams from './GherkinStreams'; +export { GherkinStreams }; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts.map b/node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts.map new file mode 100644 index 0000000..4ae3e30 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/index.js b/node_modules/@cucumber/gherkin-streams/dist/src/index.js new file mode 100644 index 0000000..39256a3 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/index.js @@ -0,0 +1,9 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GherkinStreams = void 0; +const GherkinStreams_1 = __importDefault(require("./GherkinStreams")); +exports.GherkinStreams = GherkinStreams_1.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/index.js.map b/node_modules/@cucumber/gherkin-streams/dist/src/index.js.map new file mode 100644 index 0000000..c968610 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,sEAA6C;AAEpC,yBAFF,wBAAc,CAEE"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.d.ts b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.d.ts new file mode 100644 index 0000000..1cd4365 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.d.ts @@ -0,0 +1,10 @@ +import { IGherkinOptions } from '@cucumber/gherkin'; +import { IdGenerator } from '@cucumber/messages'; +export default function gherkinOptions(options: IGherkinOptions): { + defaultDialect?: string; + includeSource?: boolean; + includeGherkinDocument?: boolean; + includePickles?: boolean; + newId?: IdGenerator.NewId; +}; +//# sourceMappingURL=makeGherkinOptions.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.d.ts.map b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.d.ts.map new file mode 100644 index 0000000..2491e0e --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"makeGherkinOptions.d.ts","sourceRoot":"","sources":["../../src/makeGherkinOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAUhD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,eAAe;;;;;;EAE9D"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.js b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.js new file mode 100644 index 0000000..015dab7 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const messages_1 = require("@cucumber/messages"); +const defaultOptions = { + defaultDialect: 'en', + includeSource: true, + includeGherkinDocument: true, + includePickles: true, + newId: messages_1.IdGenerator.uuid(), +}; +function gherkinOptions(options) { + return Object.assign(Object.assign({}, defaultOptions), options); +} +exports.default = gherkinOptions; +//# sourceMappingURL=makeGherkinOptions.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.js.map b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.js.map new file mode 100644 index 0000000..a1866c2 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/src/makeGherkinOptions.js.map @@ -0,0 +1 @@ +{"version":3,"file":"makeGherkinOptions.js","sourceRoot":"","sources":["../../src/makeGherkinOptions.ts"],"names":[],"mappings":";;AACA,iDAAgD;AAEhD,MAAM,cAAc,GAAoB;IACtC,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,sBAAsB,EAAE,IAAI;IAC5B,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,sBAAW,CAAC,IAAI,EAAE;CAC1B,CAAA;AAED,SAAwB,cAAc,CAAC,OAAwB;IAC7D,uCAAY,cAAc,GAAK,OAAO,EAAE;AAC1C,CAAC;AAFD,iCAEC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.d.ts b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.d.ts new file mode 100644 index 0000000..9434fdb --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=StreamTest.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.d.ts.map b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.d.ts.map new file mode 100644 index 0000000..155e024 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"StreamTest.d.ts","sourceRoot":"","sources":["../../test/StreamTest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.js b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.js new file mode 100644 index 0000000..1dd7916 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.js @@ -0,0 +1,58 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const gherkin_1 = require("@cucumber/gherkin"); +const src_1 = require("../src"); +const defaultOptions = {}; +describe('gherkin', () => { + it('parses gherkin from the file system', () => __awaiter(void 0, void 0, void 0, function* () { + const envelopes = yield streamToArray(src_1.GherkinStreams.fromPaths(['testdata/good/minimal.feature'], defaultOptions)); + assert_1.default.strictEqual(envelopes.length, 3); + })); + it('throws an error when the path is a directory', () => __awaiter(void 0, void 0, void 0, function* () { + assert_1.default.rejects(() => __awaiter(void 0, void 0, void 0, function* () { return streamToArray(src_1.GherkinStreams.fromPaths(['testdata/good'], defaultOptions)); })); + })); + it('parses gherkin from STDIN', () => __awaiter(void 0, void 0, void 0, function* () { + const source = gherkin_1.makeSourceEnvelope(`Feature: Minimal + + Scenario: minimalistic + Given the minimalism +`, 'test.feature'); + const envelopes = yield streamToArray(src_1.GherkinStreams.fromSources([source], defaultOptions)); + assert_1.default.strictEqual(envelopes.length, 3); + })); + it('parses gherkin using the provided default language', () => __awaiter(void 0, void 0, void 0, function* () { + const source = gherkin_1.makeSourceEnvelope(`Fonctionnalité: i18n support + Scénario: Support des caractères spéciaux + Soit un exemple de scénario en français +`, 'test.feature'); + const envelopes = yield streamToArray(src_1.GherkinStreams.fromSources([source], { defaultDialect: 'fr' })); + assert_1.default.strictEqual(envelopes.length, 3); + })); + it('outputs dialects', () => __awaiter(void 0, void 0, void 0, function* () { + assert_1.default.strictEqual(gherkin_1.dialects.en.name, 'English'); + })); +}); +function streamToArray(readableStream) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + const items = []; + readableStream.on('data', items.push.bind(items)); + readableStream.on('error', (err) => reject(err)); + readableStream.on('end', () => resolve(items)); + }); + }); +} +//# sourceMappingURL=StreamTest.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.js.map b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.js.map new file mode 100644 index 0000000..81fe106 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/test/StreamTest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"StreamTest.js","sourceRoot":"","sources":["../../test/StreamTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAA2B;AAG3B,+CAAiF;AACjF,gCAAuC;AAEvC,MAAM,cAAc,GAAoB,EAAE,CAAA;AAE1C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;QACnD,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,oBAAc,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,EAAE,cAAc,CAAC,CAC5E,CAAA;QACD,gBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;QAC5D,gBAAM,CAAC,OAAO,CAAC,GAAS,EAAE,kDACxB,OAAA,aAAa,CAAC,oBAAc,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC,CAAC,CAAA,GAAA,CAC3E,CAAA;IACH,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,GAAS,EAAE;QACzC,MAAM,MAAM,GAAG,4BAAkB,CAC/B;;;;CAIL,EACK,cAAc,CACf,CAAA;QAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,oBAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAA;QAC3F,gBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;QAClE,MAAM,MAAM,GAAG,4BAAkB,CAC/B;;;CAGL,EACK,cAAc,CACf,CAAA;QACD,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,oBAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAC/D,CAAA;QACD,gBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,kBAAkB,EAAE,GAAS,EAAE;QAChC,gBAAM,CAAC,WAAW,CAAC,kBAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACjD,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAe,aAAa,CAAC,cAAwB;;QACnD,OAAO,IAAI,OAAO,CAChB,CAAC,OAAiD,EAAE,MAA4B,EAAE,EAAE;YAClF,MAAM,KAAK,GAAyB,EAAE,CAAA;YACtC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YACjD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACvD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,CAAC,CACF,CAAA;IACH,CAAC;CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/dist/tsconfig.build.tsbuildinfo b/node_modules/@cucumber/gherkin-streams/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000..4ae1405 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1,2357 @@ +{ + "program": { + "fileInfos": { + "../../../node_modules/typescript/lib/lib.es5.d.ts": { + "version": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "signature": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.d.ts": { + "version": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "signature": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2016.d.ts": { + "version": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "signature": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2017.d.ts": { + "version": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "signature": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2018.d.ts": { + "version": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "signature": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2019.d.ts": { + "version": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "signature": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.dom.d.ts": { + "version": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "signature": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts": { + "version": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "signature": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts": { + "version": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "signature": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts": { + "version": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "signature": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts": { + "version": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "signature": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts": { + "version": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "signature": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts": { + "version": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "signature": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts": { + "version": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "signature": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts": { + "version": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "signature": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts": { + "version": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "signature": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts": { + "version": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "signature": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts": { + "version": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "signature": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts": { + "version": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "signature": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts": { + "version": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "signature": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts": { + "version": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "signature": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts": { + "version": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "signature": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts": { + "version": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "signature": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts": { + "version": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "signature": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts": { + "version": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "signature": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts": { + "version": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "signature": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts": { + "version": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "signature": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts": { + "version": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "signature": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts": { + "version": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "signature": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts": { + "version": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "signature": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts": { + "version": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "signature": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts": { + "version": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "signature": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts": { + "version": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "signature": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "affectsGlobalScope": true + }, + "../../../node_modules/protobufjs/index.d.ts": { + "version": "2d00c5da183a0a701d9a242f775a23606d98ea789bb94303d48e272201204d85", + "signature": "2d00c5da183a0a701d9a242f775a23606d98ea789bb94303d48e272201204d85", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/messages.d.ts": { + "version": "e6a18330f26eaadadef4ed82407aa6e0494d34066ac34c18a34991568e673262", + "signature": "e6a18330f26eaadadef4ed82407aa6e0494d34066ac34c18a34991568e673262", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/TimeConversion.d.ts": { + "version": "95e76dd56ef22401de51fda46140f8677a6672a6c2262ced27fb5882b70cfa54", + "signature": "95e76dd56ef22401de51fda46140f8677a6672a6c2262ced27fb5882b70cfa54", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/IdGenerator.d.ts": { + "version": "67c50537d02e09de9593718e820326dcc559b93fd910d976a65b0a8edc1b400a", + "signature": "67c50537d02e09de9593718e820326dcc559b93fd910d976a65b0a8edc1b400a", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/package.json": { + "version": "10ac44dbc90475d8f619d683ccd240976173961b15fdc48845fe0350ec965a09", + "affectsGlobalScope": true + }, + "../../../messages/javascript/dist/src/index.d.ts": { + "version": "41ba7d2fc377e5a4aa096958dd7c68bff9371b8ca53571ff1a1a7b80c3c1e439", + "signature": "41ba7d2fc377e5a4aa096958dd7c68bff9371b8ca53571ff1a1a7b80c3c1e439", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.d.ts": { + "version": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "signature": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/async_hooks.d.ts": { + "version": "7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641", + "signature": "7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/buffer.d.ts": { + "version": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "signature": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/child_process.d.ts": { + "version": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "signature": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/cluster.d.ts": { + "version": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "signature": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/console.d.ts": { + "version": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "signature": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/constants.d.ts": { + "version": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "signature": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/crypto.d.ts": { + "version": "64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d", + "signature": "64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dgram.d.ts": { + "version": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "signature": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dns.d.ts": { + "version": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "signature": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/domain.d.ts": { + "version": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "signature": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/events.d.ts": { + "version": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "signature": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/fs.d.ts": { + "version": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "signature": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/fs/promises.d.ts": { + "version": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "signature": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http.d.ts": { + "version": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "signature": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http2.d.ts": { + "version": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "signature": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/https.d.ts": { + "version": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "signature": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/inspector.d.ts": { + "version": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "signature": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/module.d.ts": { + "version": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "signature": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/net.d.ts": { + "version": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "signature": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/os.d.ts": { + "version": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "signature": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/path.d.ts": { + "version": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "signature": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/perf_hooks.d.ts": { + "version": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "signature": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/process.d.ts": { + "version": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "signature": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/punycode.d.ts": { + "version": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "signature": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/querystring.d.ts": { + "version": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "signature": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/readline.d.ts": { + "version": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "signature": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/repl.d.ts": { + "version": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "signature": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/stream.d.ts": { + "version": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "signature": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/string_decoder.d.ts": { + "version": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "signature": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/timers.d.ts": { + "version": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "signature": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tls.d.ts": { + "version": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "signature": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/trace_events.d.ts": { + "version": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "signature": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tty.d.ts": { + "version": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "signature": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/url.d.ts": { + "version": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "signature": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/util.d.ts": { + "version": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "signature": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/v8.d.ts": { + "version": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "signature": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/vm.d.ts": { + "version": "66679e8ffbf1fddef1796c60757e54e6e6551dd9823f75ef2f80176473bdaaff", + "signature": "66679e8ffbf1fddef1796c60757e54e6e6551dd9823f75ef2f80176473bdaaff", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/worker_threads.d.ts": { + "version": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "signature": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/zlib.d.ts": { + "version": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "signature": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.global.d.ts": { + "version": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "signature": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/wasi.d.ts": { + "version": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "signature": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/ts3.6/base.d.ts": { + "version": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "signature": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/assert.d.ts": { + "version": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "signature": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/base.d.ts": { + "version": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "signature": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/index.d.ts": { + "version": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "signature": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "affectsGlobalScope": false + }, + "../../../message-streams/javascript/dist/src/MessageToBinaryStream.d.ts": { + "version": "675264de45e8b0dc910f4e5db9b55ceee0ecb2b2119ad61cbbf7f00947ae16a2", + "signature": "675264de45e8b0dc910f4e5db9b55ceee0ecb2b2119ad61cbbf7f00947ae16a2", + "affectsGlobalScope": false + }, + "../../../message-streams/javascript/dist/src/MessageToNdjsonStream.d.ts": { + "version": "2b9771c98c702875ceb82892dc4ea4dc66c3d1f2139879825674632977aece2b", + "signature": "2b9771c98c702875ceb82892dc4ea4dc66c3d1f2139879825674632977aece2b", + "affectsGlobalScope": false + }, + "../../../message-streams/javascript/dist/src/BinaryToMessageStream.d.ts": { + "version": "a346f402c8bf7f003390e3e9cc2597483f79eb875695f72fd5d0547f272d685e", + "signature": "a346f402c8bf7f003390e3e9cc2597483f79eb875695f72fd5d0547f272d685e", + "affectsGlobalScope": false + }, + "../../../message-streams/javascript/dist/src/NdjsonToMessageStream.d.ts": { + "version": "ebb57bfb5477f804caaa2eaef6e78875d98bf3233e0ff0b9b5e486de54b5c27e", + "signature": "ebb57bfb5477f804caaa2eaef6e78875d98bf3233e0ff0b9b5e486de54b5c27e", + "affectsGlobalScope": false + }, + "../../../message-streams/javascript/dist/src/index.d.ts": { + "version": "279161987ff97ebeb7ec31e0ebe9915971dfadde8803a93d6a47b999c641f45a", + "signature": "279161987ff97ebeb7ec31e0ebe9915971dfadde8803a93d6a47b999c641f45a", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts": { + "version": "c9a4a8a6bff3f164fc325957aa398aa6c4b57dd291926c08aa8280645b00df2e", + "signature": "c9a4a8a6bff3f164fc325957aa398aa6c4b57dd291926c08aa8280645b00df2e", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/generateMessages.d.ts": { + "version": "709455483ddadc36d55a8f3b780f0b7723314bf882adf1cf48c5a559aeca4a06", + "signature": "709455483ddadc36d55a8f3b780f0b7723314bf882adf1cf48c5a559aeca4a06", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/makeSourceEnvelope.d.ts": { + "version": "039b8005503708707df972b13e1685a9882256321763243305ed879ffc7c1f29", + "signature": "039b8005503708707df972b13e1685a9882256321763243305ed879ffc7c1f29", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/Dialect.d.ts": { + "version": "3a5d363ef153455a9d6d35614ae443cfebcd680a69ffc18bdb8328dbd8ac6530", + "signature": "3a5d363ef153455a9d6d35614ae443cfebcd680a69ffc18bdb8328dbd8ac6530", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/GherkinLine.d.ts": { + "version": "efcdcea9dad56f2adc26bbc948711b80b00b1cdb5bdf46d4df31f667c50df123", + "signature": "efcdcea9dad56f2adc26bbc948711b80b00b1cdb5bdf46d4df31f667c50df123", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/IToken.d.ts": { + "version": "9a24d0bcfa8dc604c976c76d7babf621b9ca34ec811ffae4cd506fe6c0286b23", + "signature": "9a24d0bcfa8dc604c976c76d7babf621b9ca34ec811ffae4cd506fe6c0286b23", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts": { + "version": "2efc23a0780e09c29f122902fe2ea7203544c9c3e80e3244e97a56ba1792696a", + "signature": "2efc23a0780e09c29f122902fe2ea7203544c9c3e80e3244e97a56ba1792696a", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts": { + "version": "aead61ea735da20e5926faf52ec968d1c94685ad8cb4fe098a8fb21d6ea852e9", + "signature": "aead61ea735da20e5926faf52ec968d1c94685ad8cb4fe098a8fb21d6ea852e9", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/Parser.d.ts": { + "version": "02e2fc9c98322da2228845a3caa1c592797f111be661c6b975cb8f5510718862", + "signature": "02e2fc9c98322da2228845a3caa1c592797f111be661c6b975cb8f5510718862", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/AstNode.d.ts": { + "version": "2537b7081870c1bec492741dc5c318f3f0819fb13db45fc5a3b5097bd9c41d2d", + "signature": "2537b7081870c1bec492741dc5c318f3f0819fb13db45fc5a3b5097bd9c41d2d", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/AstBuilder.d.ts": { + "version": "8b6bd73338303c7dd3f9492b176b054dc06203821015dbf50c7788afe96f2ff4", + "signature": "8b6bd73338303c7dd3f9492b176b054dc06203821015dbf50c7788afe96f2ff4", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/TokenScanner.d.ts": { + "version": "4489cb52c617bea47a376a22f6fdad057da014a0b3b8ef770f8a1abf1390f034", + "signature": "4489cb52c617bea47a376a22f6fdad057da014a0b3b8ef770f8a1abf1390f034", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/pickles/compile.d.ts": { + "version": "4dd86eb0c30c1b1f936331d37f5d35e0ab7ef140d25835936975773c8ab9647d", + "signature": "4dd86eb0c30c1b1f936331d37f5d35e0ab7ef140d25835936975773c8ab9647d", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/TokenMatcher.d.ts": { + "version": "1c1acb3324b4dca57f74276a0d4b5160fe7a7a08143cfeeefab2d63193aa425b", + "signature": "1c1acb3324b4dca57f74276a0d4b5160fe7a7a08143cfeeefab2d63193aa425b", + "affectsGlobalScope": false + }, + "../../../gherkin/javascript/dist/src/index.d.ts": { + "version": "bd118695c2c1154cd6c6859b7ba44d628ad7de935c91eff5be490133a2787f30", + "signature": "bd118695c2c1154cd6c6859b7ba44d628ad7de935c91eff5be490133a2787f30", + "affectsGlobalScope": false + }, + "../src/ParserMessageStream.ts": { + "version": "254a225cc11ae7fa5337b9d16ec516285bc0e3846ea7cd9d0e61f65060de14da", + "signature": "138be2befdfdfdaae3bcc222f74ad471e5e04bda52d1b1a560f52bceeff945b5", + "affectsGlobalScope": false + }, + "../src/SourceMessageStream.ts": { + "version": "51c8faa5ddf1fba03087a834d287a301ecf6ff29df8aaf32f690d1a2f7d13afa", + "signature": "fa6981a796ca441048869b6a8f168a950b3aa76cdee0b26aeb9ba02da37b7ade", + "affectsGlobalScope": false + }, + "../src/makeGherkinOptions.ts": { + "version": "2259e8ae16967ef005aee0107a025a41f99afdffcd608a8a1093d0d92c15a8b3", + "signature": "c51a190cd6716a2efda1dc22708b681ae96bbbc95e19279f2804db9fbfe6018c", + "affectsGlobalScope": false + }, + "../src/GherkinStreams.ts": { + "version": "9f82f16a1623debb44413fc20cd3d5562f7c21aea75b84f65f6be9371fb23074", + "signature": "57665717eea533811ea2abca5ad7611b3c42307b7e7bfb9c9a4f90700c8ecd64", + "affectsGlobalScope": false + }, + "../src/index.ts": { + "version": "7aab7d3c21ccf91bbaae848d377ab6a7820afc15ce0342762d9a11798075a0d4", + "signature": "c1f21634a100a0b868d75b02ad5ad55e336a4ada20028b8362b6537b73c4d97a", + "affectsGlobalScope": false + }, + "../node_modules/commander/typings/index.d.ts": { + "version": "7717e1ba82d36aee8d76cb53e218b2ffc78d2177c089775244ddde9118b88c83", + "signature": "7717e1ba82d36aee8d76cb53e218b2ffc78d2177c089775244ddde9118b88c83", + "affectsGlobalScope": false + }, + "../package.json": { + "version": "5f9b06e74a389906ec5350ad5430fbaca1ebc5ab12be8492612d91853f820db7", + "affectsGlobalScope": true + }, + "../src/cli/main.ts": { + "version": "2721b74c4c9b71f8232e34daca1157b602f0c17aa46a116f98e15fcb629af6c7", + "signature": "a9190fb43abc43193e152369c49f856ec6ba0e4f55d8ed9ae205ccaba9d505ef", + "affectsGlobalScope": false + }, + "../test/StreamTest.ts": { + "version": "8d9d98f43f45c8a7a7e57d5035a3581f0b83c2e6e0e0c951094d20489a81abec", + "signature": "a4e4f4385e746c244f838f3265e16faf924c58072ce0c890f6b47dca03e530ce", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/anymatch/index.d.ts": { + "version": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "signature": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/braces/index.d.ts": { + "version": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "signature": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/chai/index.d.ts": { + "version": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "signature": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/color-name/index.d.ts": { + "version": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "signature": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/conversions.d.ts": { + "version": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "signature": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/route.d.ts": { + "version": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "signature": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/index.d.ts": { + "version": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "signature": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color/index.d.ts": { + "version": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "signature": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/cucumber/index.d.ts": { + "version": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "signature": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/elasticlunr/index.d.ts": { + "version": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "signature": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/helpers.d.ts": { + "version": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "signature": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/json-schema/index.d.ts": { + "version": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "signature": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/estree/index.d.ts": { + "version": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "signature": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/index.d.ts": { + "version": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "signature": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint-scope/index.d.ts": { + "version": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "signature": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/minimatch/index.d.ts": { + "version": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "signature": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob/index.d.ts": { + "version": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "signature": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob-base/index.d.ts": { + "version": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "signature": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/graceful-fs/index.d.ts": { + "version": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "signature": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/unist/index.d.ts": { + "version": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "signature": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/hast/index.d.ts": { + "version": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "signature": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/html-minifier-terser/index.d.ts": { + "version": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "signature": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/is-function/index.d.ts": { + "version": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "signature": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts": { + "version": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "signature": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": { + "version": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "signature": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-reports/index.d.ts": { + "version": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "signature": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/js-yaml/index.d.ts": { + "version": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "signature": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": { + "version": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "signature": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/index.d.ts": { + "version": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "signature": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tough-cookie/index.d.ts": { + "version": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "signature": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": { + "version": "7c7bffe8dc52cffdd34f5402f18d69305c82138cab1312cce58f470285103b0f", + "signature": "7c7bffe8dc52cffdd34f5402f18d69305c82138cab1312cce58f470285103b0f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/index.d.ts": { + "version": "2337b79db6888645933d152006ceecbc8663f956eb8cbed0b2e4287a23a71cda", + "signature": "2337b79db6888645933d152006ceecbc8663f956eb8cbed0b2e4287a23a71cda", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/json5/index.d.ts": { + "version": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "signature": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/long/index.d.ts": { + "version": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "signature": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/global.d.ts": { + "version": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "signature": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts": { + "version": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "signature": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/prop-types/index.d.ts": { + "version": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "signature": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/scheduler/tracing.d.ts": { + "version": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "signature": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/index.d.ts": { + "version": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "signature": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": { + "version": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "signature": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mdast/index.d.ts": { + "version": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "signature": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/micromatch/index.d.ts": { + "version": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "signature": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mocha/index.d.ts": { + "version": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "signature": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": { + "version": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "signature": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/externals.d.ts": { + "version": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "signature": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/index.d.ts": { + "version": "9895aad6ad1d505e2b03c8e41c8643b60a813ad130eb68f843b736b2db7d42e1", + "signature": "9895aad6ad1d505e2b03c8e41c8643b60a813ad130eb68f843b736b2db7d42e1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/normalize-package-data/index.d.ts": { + "version": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "signature": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/npmlog/index.d.ts": { + "version": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "signature": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/overlayscrollbars/index.d.ts": { + "version": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "signature": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse-json/index.d.ts": { + "version": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "signature": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/pretty-hrtime/index.d.ts": { + "version": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "signature": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/qs/index.d.ts": { + "version": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "signature": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/reach__router/index.d.ts": { + "version": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "signature": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-dom/index.d.ts": { + "version": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "signature": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": { + "version": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "signature": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/scheduler/index.d.ts": { + "version": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "signature": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts": { + "version": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "signature": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon/index.d.ts": { + "version": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "signature": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon-chai/index.d.ts": { + "version": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "signature": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/source-list-map/index.d.ts": { + "version": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "signature": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stack-utils/index.d.ts": { + "version": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "signature": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stream-buffers/index.d.ts": { + "version": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "signature": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tapable/index.d.ts": { + "version": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "signature": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/index.d.ts": { + "version": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "signature": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uuid/index.d.ts": { + "version": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "signature": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "affectsGlobalScope": false + }, + "../../../node_modules/anymatch/index.d.ts": { + "version": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "signature": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts": { + "version": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "signature": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": { + "version": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "signature": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": { + "version": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "signature": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": { + "version": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "signature": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": { + "version": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "signature": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": { + "version": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "signature": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": { + "version": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "signature": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": { + "version": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "signature": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": { + "version": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "signature": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": { + "version": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "signature": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": { + "version": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "signature": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": { + "version": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "signature": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/index.d.ts": { + "version": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "signature": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/index.d.ts": { + "version": "f7391eb1cb10ab561aa3ce7c610ea97aa4ab33fc709ee5e2adde541defde882f", + "signature": "f7391eb1cb10ab561aa3ce7c610ea97aa4ab33fc709ee5e2adde541defde882f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-env/index.d.ts": { + "version": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "signature": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/yargs-parser/index.d.ts": { + "version": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "signature": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yargs/index.d.ts": { + "version": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "signature": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yauzl/index.d.ts": { + "version": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "signature": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "affectsGlobalScope": false + } + }, + "options": { + "declaration": true, + "target": 2, + "lib": [ + "lib.es2019.d.ts", + "lib.dom.d.ts" + ], + "sourceMap": true, + "allowJs": false, + "jsx": 2, + "resolveJsonModule": true, + "module": 1, + "esModuleInterop": true, + "noImplicitAny": true, + "moduleResolution": 2, + "outDir": "./", + "downlevelIteration": true, + "skipLibCheck": true, + "composite": true, + "declarationMap": true, + "rootDir": "..", + "configFilePath": "../tsconfig.build.json" + }, + "referencedMap": { + "../src/GherkinStreams.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../message-streams/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../src/ParserMessageStream.ts", + "../src/SourceMessageStream.ts", + "../src/makeGherkinOptions.ts" + ], + "../src/ParserMessageStream.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../src/SourceMessageStream.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../src/cli/main.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../message-streams/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../node_modules/commander/typings/index.d.ts", + "../package.json", + "../src/GherkinStreams.ts" + ], + "../src/index.ts": [ + "../src/GherkinStreams.ts" + ], + "../src/makeGherkinOptions.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../test/StreamTest.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../src/index.ts" + ], + "../../../gherkin/javascript/dist/src/AstBuilder.d.ts": [ + "../../../gherkin/javascript/dist/src/AstNode.d.ts", + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/AstNode.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts" + ], + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/IToken.d.ts": [ + "../../../gherkin/javascript/dist/src/GherkinLine.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/Parser.d.ts": [ + "../../../gherkin/javascript/dist/src/GherkinLine.d.ts", + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/TokenMatcher.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/TokenScanner.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/generateMessages.d.ts": [ + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/index.d.ts": [ + "../../../gherkin/javascript/dist/src/AstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/Dialect.d.ts", + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts", + "../../../gherkin/javascript/dist/src/TokenMatcher.d.ts", + "../../../gherkin/javascript/dist/src/TokenScanner.d.ts", + "../../../gherkin/javascript/dist/src/generateMessages.d.ts", + "../../../gherkin/javascript/dist/src/makeSourceEnvelope.d.ts", + "../../../gherkin/javascript/dist/src/pickles/compile.d.ts" + ], + "../../../gherkin/javascript/dist/src/makeSourceEnvelope.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/pickles/compile.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../message-streams/javascript/dist/src/BinaryToMessageStream.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../message-streams/javascript/dist/src/MessageToBinaryStream.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../message-streams/javascript/dist/src/MessageToNdjsonStream.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../message-streams/javascript/dist/src/NdjsonToMessageStream.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../message-streams/javascript/dist/src/index.d.ts": [ + "../../../message-streams/javascript/dist/src/BinaryToMessageStream.d.ts", + "../../../message-streams/javascript/dist/src/MessageToBinaryStream.d.ts", + "../../../message-streams/javascript/dist/src/MessageToNdjsonStream.d.ts", + "../../../message-streams/javascript/dist/src/NdjsonToMessageStream.d.ts" + ], + "../../../messages/javascript/dist/src/TimeConversion.d.ts": [ + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/index.d.ts": [ + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/messages.d.ts": [ + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ] + }, + "exportedModulesMap": { + "../src/GherkinStreams.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../src/ParserMessageStream.ts" + ], + "../src/ParserMessageStream.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../src/SourceMessageStream.ts": [ + "../../../node_modules/@types/node/stream.d.ts" + ], + "../src/index.ts": [ + "../src/GherkinStreams.ts" + ], + "../src/makeGherkinOptions.ts": [ + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/AstBuilder.d.ts": [ + "../../../gherkin/javascript/dist/src/AstNode.d.ts", + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/AstNode.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts" + ], + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/IToken.d.ts": [ + "../../../gherkin/javascript/dist/src/GherkinLine.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/Parser.d.ts": [ + "../../../gherkin/javascript/dist/src/GherkinLine.d.ts", + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/TokenMatcher.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/TokenScanner.d.ts": [ + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/generateMessages.d.ts": [ + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts", + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/index.d.ts": [ + "../../../gherkin/javascript/dist/src/AstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/Dialect.d.ts", + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts", + "../../../gherkin/javascript/dist/src/TokenMatcher.d.ts", + "../../../gherkin/javascript/dist/src/TokenScanner.d.ts", + "../../../gherkin/javascript/dist/src/generateMessages.d.ts", + "../../../gherkin/javascript/dist/src/makeSourceEnvelope.d.ts", + "../../../gherkin/javascript/dist/src/pickles/compile.d.ts" + ], + "../../../gherkin/javascript/dist/src/makeSourceEnvelope.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../gherkin/javascript/dist/src/pickles/compile.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../message-streams/javascript/dist/src/BinaryToMessageStream.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../message-streams/javascript/dist/src/MessageToBinaryStream.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../message-streams/javascript/dist/src/MessageToNdjsonStream.d.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../message-streams/javascript/dist/src/NdjsonToMessageStream.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../message-streams/javascript/dist/src/index.d.ts": [ + "../../../message-streams/javascript/dist/src/BinaryToMessageStream.d.ts", + "../../../message-streams/javascript/dist/src/MessageToBinaryStream.d.ts", + "../../../message-streams/javascript/dist/src/MessageToNdjsonStream.d.ts", + "../../../message-streams/javascript/dist/src/NdjsonToMessageStream.d.ts" + ], + "../../../messages/javascript/dist/src/TimeConversion.d.ts": [ + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/index.d.ts": [ + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/messages.d.ts": [ + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../node_modules/commander/typings/index.d.ts", + "../package.json", + "../src/GherkinStreams.ts", + "../src/ParserMessageStream.ts", + "../src/SourceMessageStream.ts", + "../src/cli/main.ts", + "../src/index.ts", + "../src/makeGherkinOptions.ts", + "../test/StreamTest.ts", + "../../../gherkin/javascript/dist/src/AstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/AstNode.d.ts", + "../../../gherkin/javascript/dist/src/Dialect.d.ts", + "../../../gherkin/javascript/dist/src/GherkinLine.d.ts", + "../../../gherkin/javascript/dist/src/IAstBuilder.d.ts", + "../../../gherkin/javascript/dist/src/IGherkinOptions.d.ts", + "../../../gherkin/javascript/dist/src/IToken.d.ts", + "../../../gherkin/javascript/dist/src/ITokenMatcher.d.ts", + "../../../gherkin/javascript/dist/src/Parser.d.ts", + "../../../gherkin/javascript/dist/src/TokenMatcher.d.ts", + "../../../gherkin/javascript/dist/src/TokenScanner.d.ts", + "../../../gherkin/javascript/dist/src/generateMessages.d.ts", + "../../../gherkin/javascript/dist/src/index.d.ts", + "../../../gherkin/javascript/dist/src/makeSourceEnvelope.d.ts", + "../../../gherkin/javascript/dist/src/pickles/compile.d.ts", + "../../../message-streams/javascript/dist/src/BinaryToMessageStream.d.ts", + "../../../message-streams/javascript/dist/src/MessageToBinaryStream.d.ts", + "../../../message-streams/javascript/dist/src/MessageToNdjsonStream.d.ts", + "../../../message-streams/javascript/dist/src/NdjsonToMessageStream.d.ts", + "../../../message-streams/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts", + "../../../node_modules/@types/anymatch/index.d.ts", + "../../../node_modules/@types/braces/index.d.ts", + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/index.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts", + "../../../node_modules/@types/color-name/index.d.ts", + "../../../node_modules/@types/color/index.d.ts", + "../../../node_modules/@types/cucumber/index.d.ts", + "../../../node_modules/@types/elasticlunr/index.d.ts", + "../../../node_modules/@types/eslint-scope/index.d.ts", + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/glob-base/index.d.ts", + "../../../node_modules/@types/glob/index.d.ts", + "../../../node_modules/@types/graceful-fs/index.d.ts", + "../../../node_modules/@types/hast/index.d.ts", + "../../../node_modules/@types/html-minifier-terser/index.d.ts", + "../../../node_modules/@types/is-function/index.d.ts", + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts", + "../../../node_modules/@types/istanbul-lib-report/index.d.ts", + "../../../node_modules/@types/istanbul-reports/index.d.ts", + "../../../node_modules/@types/js-yaml/index.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts", + "../../../node_modules/@types/json5/index.d.ts", + "../../../node_modules/@types/long/index.d.ts", + "../../../node_modules/@types/markdown-to-jsx/index.d.ts", + "../../../node_modules/@types/mdast/index.d.ts", + "../../../node_modules/@types/micromatch/index.d.ts", + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/mocha/index.d.ts", + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/index.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/base.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts", + "../../../node_modules/@types/normalize-package-data/index.d.ts", + "../../../node_modules/@types/npmlog/index.d.ts", + "../../../node_modules/@types/overlayscrollbars/index.d.ts", + "../../../node_modules/@types/parse-json/index.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts", + "../../../node_modules/@types/pretty-hrtime/index.d.ts", + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/qs/index.d.ts", + "../../../node_modules/@types/reach__router/index.d.ts", + "../../../node_modules/@types/react-dom/index.d.ts", + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/index.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts", + "../../../node_modules/@types/sinon-chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts", + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/stack-utils/index.d.ts", + "../../../node_modules/@types/stream-buffers/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/unist/index.d.ts", + "../../../node_modules/@types/uuid/index.d.ts", + "../../../node_modules/@types/webpack-env/index.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack/index.d.ts", + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/yargs-parser/index.d.ts", + "../../../node_modules/@types/yargs/index.d.ts", + "../../../node_modules/@types/yauzl/index.d.ts", + "../../../node_modules/anymatch/index.d.ts", + "../../../node_modules/protobufjs/index.d.ts", + "../../../node_modules/typescript/lib/lib.dom.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts", + "../../../node_modules/typescript/lib/lib.es5.d.ts", + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts" + ] + }, + "version": "4.2.3" +} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin-streams/package.json b/node_modules/@cucumber/gherkin-streams/package.json new file mode 100644 index 0000000..756d155 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/package.json @@ -0,0 +1,72 @@ +{ + "_from": "@cucumber/gherkin-streams@1.0.0", + "_id": "@cucumber/gherkin-streams@1.0.0", + "_inBundle": false, + "_integrity": "sha512-ZGUvkwj8DnMozii+8YqWtiWuKqU+Opt50dWVeJzv2e+4GDh0P1Nc04RGMZkFf8WTl2sgBJq5waPUKCQVPaw6iQ==", + "_location": "/@cucumber/gherkin-streams", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@cucumber/gherkin-streams@1.0.0", + "name": "@cucumber/gherkin-streams", + "escapedName": "@cucumber%2fgherkin-streams", + "scope": "@cucumber", + "rawSpec": "1.0.0", + "saveSpec": null, + "fetchSpec": "1.0.0" + }, + "_requiredBy": [ + "/@cucumber/cucumber" + ], + "_resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-1.0.0.tgz", + "_shasum": "e4938ba130fceec8ebc641298557c2a21dcabd5f", + "_spec": "@cucumber/gherkin-streams@1.0.0", + "_where": "/Users/ania/Projects/jan-molak/cucumber-js-1646/node_modules/@cucumber/cucumber", + "author": { + "name": "Cucumber Limited", + "email": "cukes@googlegroups.com" + }, + "bin": { + "gherkin-javascript": "bin/gherkin" + }, + "bugs": { + "url": "https://github.com/cucumber/cucumber/issues" + }, + "bundleDependencies": false, + "dependencies": { + "@cucumber/gherkin": "^18.0.0", + "@cucumber/message-streams": "^1.0.0", + "@cucumber/messages": "^15.0.0", + "commander": "^7.2.0", + "protobufjs": "^6.10.2", + "source-map-support": "^0.5.19" + }, + "deprecated": false, + "description": "Streams for reading Gherkin parser output", + "devDependencies": { + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.35", + "mocha": "^8.3.2", + "nyc": "^15.1.0", + "typescript": "^4.2.3" + }, + "directories": { + "test": "test" + }, + "homepage": "https://github.com/cucumber/cucumber#readme", + "keywords": [], + "license": "MIT", + "main": "dist/src/index.js", + "name": "@cucumber/gherkin-streams", + "repository": { + "type": "git", + "url": "git://github.com/cucumber/cucumber.git" + }, + "scripts": { + "prepublishOnly": "tsc --build tsconfig.build.json", + "test": "mocha" + }, + "types": "dist/src/index.d.ts", + "version": "1.0.0" +} diff --git a/node_modules/@cucumber/gherkin-streams/src/GherkinStreams.ts b/node_modules/@cucumber/gherkin-streams/src/GherkinStreams.ts new file mode 100644 index 0000000..59497d4 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/src/GherkinStreams.ts @@ -0,0 +1,81 @@ +import { PassThrough, pipeline, Readable } from 'stream' +import { messages } from '@cucumber/messages' +import { BinaryToMessageStream } from '@cucumber/message-streams' +import ParserMessageStream from './ParserMessageStream' +import SourceMessageStream from './SourceMessageStream' +import fs from 'fs' +import { IGherkinOptions } from '@cucumber/gherkin' +import makeGherkinOptions from './makeGherkinOptions' + +function fromStream(stream: Readable, options: IGherkinOptions) { + return pipeline( + stream, + new BinaryToMessageStream(messages.Envelope.decodeDelimited), + new ParserMessageStream(options) + ) +} + +function fromPaths(paths: ReadonlyArray, options: IGherkinOptions): Readable { + const pathsCopy = paths.slice() + options = makeGherkinOptions(options) + const combinedMessageStream = new PassThrough({ + writableObjectMode: true, + readableObjectMode: true, + }) + + function pipeSequentially() { + const path = pathsCopy.shift() + if (path !== undefined) { + const parserMessageStream = new ParserMessageStream(options) + parserMessageStream.on('end', () => { + pipeSequentially() + }) + + const end = pathsCopy.length === 0 + // Can't use pipeline here because of the { end } argument, + // so we have to manually propagate errors. + fs.createReadStream(path, { encoding: 'utf-8' }) + .on('error', (err) => combinedMessageStream.emit('error', err)) + .pipe(new SourceMessageStream(path)) + .on('error', (err) => combinedMessageStream.emit('error', err)) + .pipe(parserMessageStream) + .on('error', (err) => combinedMessageStream.emit('error', err)) + .pipe(combinedMessageStream, { end }) + } + } + pipeSequentially() + return combinedMessageStream +} + +function fromSources( + envelopes: ReadonlyArray, + options: IGherkinOptions +): Readable { + const envelopesCopy = envelopes.slice() + options = makeGherkinOptions(options) + const combinedMessageStream = new PassThrough({ + writableObjectMode: true, + readableObjectMode: true, + }) + + function pipeSequentially() { + const envelope = envelopesCopy.shift() + if (envelope !== undefined && envelope.source) { + const parserMessageStream = new ParserMessageStream(options) + parserMessageStream.pipe(combinedMessageStream, { + end: envelopesCopy.length === 0, + }) + parserMessageStream.on('end', pipeSequentially) + parserMessageStream.end(envelope) + } + } + pipeSequentially() + + return combinedMessageStream +} + +export default { + fromPaths, + fromStream, + fromSources, +} diff --git a/node_modules/@cucumber/gherkin-streams/src/ParserMessageStream.ts b/node_modules/@cucumber/gherkin-streams/src/ParserMessageStream.ts new file mode 100644 index 0000000..ace9d14 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/src/ParserMessageStream.ts @@ -0,0 +1,24 @@ +import { Transform, TransformCallback } from 'stream' +import { messages } from '@cucumber/messages' +import { generateMessages, IGherkinOptions } from '@cucumber/gherkin' + +/** + * Stream that reads Source messages and writes GherkinDocument and Pickle messages. + */ +export default class ParserMessageStream extends Transform { + constructor(private readonly options: IGherkinOptions) { + super({ writableObjectMode: true, readableObjectMode: true }) + } + + public _transform(envelope: messages.IEnvelope, encoding: string, callback: TransformCallback) { + if (envelope.source) { + const messageList = generateMessages(envelope.source.data, envelope.source.uri, this.options) + for (const message of messageList) { + this.push(message) + } + } + callback() + } +} + +module.exports = ParserMessageStream diff --git a/node_modules/@cucumber/gherkin-streams/src/SourceMessageStream.ts b/node_modules/@cucumber/gherkin-streams/src/SourceMessageStream.ts new file mode 100644 index 0000000..e016ee3 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/src/SourceMessageStream.ts @@ -0,0 +1,25 @@ +import { makeSourceEnvelope } from '@cucumber/gherkin' +import { Transform, TransformCallback } from 'stream' + +/** + * Stream that reads a string and writes a single Source message. + */ +export default class SourceMessageStream extends Transform { + private buffer = Buffer.alloc(0) + + constructor(private readonly uri: string) { + super({ readableObjectMode: true, writableObjectMode: false }) + } + + public _transform(chunk: Buffer, encoding: string, callback: TransformCallback) { + this.buffer = Buffer.concat([this.buffer, chunk]) + callback() + } + + public _flush(callback: TransformCallback) { + const data = this.buffer.toString('utf8') + const chunk = makeSourceEnvelope(data, this.uri) + this.push(chunk) + callback() + } +} diff --git a/node_modules/@cucumber/gherkin-streams/src/cli/main.ts b/node_modules/@cucumber/gherkin-streams/src/cli/main.ts new file mode 100644 index 0000000..450479f --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/src/cli/main.ts @@ -0,0 +1,44 @@ +import { Command } from 'commander' +import packageJson from '../../package.json' +import GherkinStreams from '../GherkinStreams' +import { IdGenerator } from '@cucumber/messages' +import { MessageToBinaryStream, MessageToNdjsonStream } from '@cucumber/message-streams' +import { Readable, Transform } from 'stream' +import { IGherkinOptions } from '@cucumber/gherkin' + +const program = new Command() +program.version(packageJson.version) +program.option('--no-source', 'Do not output Source messages', false) +program.option('--no-ast', 'Do not output GherkinDocument messages', false) +program.option('--no-pickles', 'Do not output Pickle messages', false) +program.option('--predictable-ids', 'Use predictable ids', false) +program.option('-f, --format ', 'output format: ndjson|protobuf', 'protobuf') +program.parse(process.argv) +const paths = program.args + +const options: IGherkinOptions = { + defaultDialect: 'en', + includeSource: program.opts().source, + includeGherkinDocument: program.opts().ast, + includePickles: program.opts().pickles, + newId: program.opts().predictableIds ? IdGenerator.incrementing() : IdGenerator.uuid(), +} + +const messageStream = + paths.length === 0 + ? GherkinStreams.fromStream((process.stdin as unknown) as Readable, options) + : GherkinStreams.fromPaths(paths, options) + +let encodedStream: Transform +switch (program.opts().format) { + case 'ndjson': + encodedStream = new MessageToNdjsonStream() + break + case 'protobuf': + encodedStream = new MessageToBinaryStream() + break + default: + throw new Error(`Unsupported format: ${program.opts().format}`) +} + +messageStream.pipe(encodedStream).pipe(process.stdout) diff --git a/node_modules/@cucumber/gherkin-streams/src/index.ts b/node_modules/@cucumber/gherkin-streams/src/index.ts new file mode 100644 index 0000000..694123a --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/src/index.ts @@ -0,0 +1,3 @@ +import GherkinStreams from './GherkinStreams' + +export { GherkinStreams } diff --git a/node_modules/@cucumber/gherkin-streams/src/makeGherkinOptions.ts b/node_modules/@cucumber/gherkin-streams/src/makeGherkinOptions.ts new file mode 100644 index 0000000..26cd670 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/src/makeGherkinOptions.ts @@ -0,0 +1,14 @@ +import { IGherkinOptions } from '@cucumber/gherkin' +import { IdGenerator } from '@cucumber/messages' + +const defaultOptions: IGherkinOptions = { + defaultDialect: 'en', + includeSource: true, + includeGherkinDocument: true, + includePickles: true, + newId: IdGenerator.uuid(), +} + +export default function gherkinOptions(options: IGherkinOptions) { + return { ...defaultOptions, ...options } +} diff --git a/node_modules/@cucumber/gherkin-streams/test/StreamTest.ts b/node_modules/@cucumber/gherkin-streams/test/StreamTest.ts new file mode 100644 index 0000000..b33d7dc --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/test/StreamTest.ts @@ -0,0 +1,65 @@ +import assert from 'assert' +import { Readable } from 'stream' +import { messages } from '@cucumber/messages' +import { dialects, IGherkinOptions, makeSourceEnvelope } from '@cucumber/gherkin' +import { GherkinStreams } from '../src' + +const defaultOptions: IGherkinOptions = {} + +describe('gherkin', () => { + it('parses gherkin from the file system', async () => { + const envelopes = await streamToArray( + GherkinStreams.fromPaths(['testdata/good/minimal.feature'], defaultOptions) + ) + assert.strictEqual(envelopes.length, 3) + }) + + it('throws an error when the path is a directory', async () => { + assert.rejects(async () => + streamToArray(GherkinStreams.fromPaths(['testdata/good'], defaultOptions)) + ) + }) + + it('parses gherkin from STDIN', async () => { + const source = makeSourceEnvelope( + `Feature: Minimal + + Scenario: minimalistic + Given the minimalism +`, + 'test.feature' + ) + + const envelopes = await streamToArray(GherkinStreams.fromSources([source], defaultOptions)) + assert.strictEqual(envelopes.length, 3) + }) + + it('parses gherkin using the provided default language', async () => { + const source = makeSourceEnvelope( + `Fonctionnalité: i18n support + Scénario: Support des caractères spéciaux + Soit un exemple de scénario en français +`, + 'test.feature' + ) + const envelopes = await streamToArray( + GherkinStreams.fromSources([source], { defaultDialect: 'fr' }) + ) + assert.strictEqual(envelopes.length, 3) + }) + + it('outputs dialects', async () => { + assert.strictEqual(dialects.en.name, 'English') + }) +}) + +async function streamToArray(readableStream: Readable): Promise { + return new Promise( + (resolve: (wrappers: messages.IEnvelope[]) => void, reject: (err: Error) => void) => { + const items: messages.IEnvelope[] = [] + readableStream.on('data', items.push.bind(items)) + readableStream.on('error', (err: Error) => reject(err)) + readableStream.on('end', () => resolve(items)) + } + ) +} diff --git a/node_modules/@cucumber/gherkin-streams/testdata/good/minimal.feature b/node_modules/@cucumber/gherkin-streams/testdata/good/minimal.feature new file mode 100644 index 0000000..9a62d86 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/testdata/good/minimal.feature @@ -0,0 +1,4 @@ +Feature: Minimal + + Scenario: minimalistic + Given the minimalism diff --git a/node_modules/@cucumber/gherkin-streams/tsconfig.build.json b/node_modules/@cucumber/gherkin-streams/tsconfig.build.json new file mode 100644 index 0000000..98f530f --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/tsconfig.build.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist" + }, + "include": [ + "package.json", + "src", + "test" + ] +} diff --git a/node_modules/@cucumber/gherkin-streams/tsconfig.json b/node_modules/@cucumber/gherkin-streams/tsconfig.json new file mode 100644 index 0000000..4082f16 --- /dev/null +++ b/node_modules/@cucumber/gherkin-streams/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/node_modules/@cucumber/gherkin/.codegen b/node_modules/@cucumber/gherkin/.codegen new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@cucumber/gherkin/.compared b/node_modules/@cucumber/gherkin/.compared new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@cucumber/gherkin/.github/ISSUE_TEMPLATE.md b/node_modules/@cucumber/gherkin/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..fac9619 --- /dev/null +++ b/node_modules/@cucumber/gherkin/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE ISSUES IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your issue in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/issues diff --git a/node_modules/@cucumber/gherkin/.github/PULL_REQUEST_TEMPLATE.md b/node_modules/@cucumber/gherkin/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..2c0c878 --- /dev/null +++ b/node_modules/@cucumber/gherkin/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE PULL REAUESTS IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your pull request in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/pulls diff --git a/node_modules/@cucumber/gherkin/.mocharc.json b/node_modules/@cucumber/gherkin/.mocharc.json new file mode 100644 index 0000000..d5055eb --- /dev/null +++ b/node_modules/@cucumber/gherkin/.mocharc.json @@ -0,0 +1,6 @@ +{ + "require": ["tsconfig-paths/register", "ts-node/register", "source-map-support/register"], + "extension": ["ts", "tsx"], + "recursive": true, + "timeout": 10000 +} diff --git a/node_modules/@cucumber/gherkin/.rsync b/node_modules/@cucumber/gherkin/.rsync new file mode 100644 index 0000000..018bcfe --- /dev/null +++ b/node_modules/@cucumber/gherkin/.rsync @@ -0,0 +1,6 @@ +../LICENSE LICENSE +../../.templates/github/ .github/ +../../.templates/javascript/ . +../testdata/ testdata/ +../gherkin.berp gherkin.berp +../gherkin-languages.json src/gherkin-languages.json diff --git a/node_modules/@cucumber/gherkin/.subrepo b/node_modules/@cucumber/gherkin/.subrepo new file mode 100644 index 0000000..d56a444 --- /dev/null +++ b/node_modules/@cucumber/gherkin/.subrepo @@ -0,0 +1 @@ +cucumber/gherkin-javascript diff --git a/node_modules/@cucumber/gherkin/.tested-npm b/node_modules/@cucumber/gherkin/.tested-npm new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/@cucumber/gherkin/CONTRIBUTING.md b/node_modules/@cucumber/gherkin/CONTRIBUTING.md new file mode 100644 index 0000000..84968bd --- /dev/null +++ b/node_modules/@cucumber/gherkin/CONTRIBUTING.md @@ -0,0 +1,16 @@ +Please read [CONTRIBUTING](https://github.com/cucumber/gherkin/blob/master/CONTRIBUTING.md) first. +You should clone the [cucumber/gherkin](https://github.com/cucumber/gherkin) repo if you want +to contribute. + +## Run tests + +### Using make + +Just run `make` from this directory. + +### Using npm + +Just run `npm test` from this directory (you need to `npm install` first). + +Keep in mind that this will only run unit tests. The acceptance tests are only +run when you build with `make`. diff --git a/node_modules/@cucumber/gherkin/LICENSE b/node_modules/@cucumber/gherkin/LICENSE new file mode 100644 index 0000000..29e1361 --- /dev/null +++ b/node_modules/@cucumber/gherkin/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Cucumber Ltd, Gaspar Nagy, Björn Rasmusson, Peter Sergeant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/@cucumber/gherkin/README.md b/node_modules/@cucumber/gherkin/README.md new file mode 100644 index 0000000..9bee12f --- /dev/null +++ b/node_modules/@cucumber/gherkin/README.md @@ -0,0 +1,19 @@ +# Gherkin for JavaScript + +Gherkin parser/compiler for JavaScript. Please see [Gherkin](https://github.com/cucumber/cucumber/tree/master/gherkin) for details. + +## Usage + +```javascript +const gherkin = require('gherkin') + +const options = { + includeSource: true, + includeGherkinDocument: true, + includePickles: true, +} +const stream = gherkin.fromPaths(['features/hello.feature']) + +// Pipe the stream to another stream that can read messages. +stream.pipe(...) +``` diff --git a/node_modules/@cucumber/gherkin/default.mk b/node_modules/@cucumber/gherkin/default.mk new file mode 100644 index 0000000..2d7aafb --- /dev/null +++ b/node_modules/@cucumber/gherkin/default.mk @@ -0,0 +1,69 @@ +SHELL := /usr/bin/env bash +# https://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make +rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d)) +TYPESCRIPT_SOURCE_FILES = $(sort $(call rwildcard,src test,*.ts *.tsx)) +PRIVATE = $(shell node -e "console.log(require('./package.json').private)") +IS_TESTDATA = $(findstring -testdata,${CURDIR}) +NPM_MODULE = $(shell cat package.json | jq .name --raw-output) + +default: .tested +.PHONY: default + +.codegen: + touch $@ + +.tested: .tested-npm + +.tested-npm: $(TYPESCRIPT_SOURCE_FILES) .codegen + npm run test + touch $@ + +pre-release: clean update-version update-dependencies default +.PHONY: pre-release + +update-dependencies: + ../../node_modules/.bin/npm-check-updates --upgrade && \ + pushd ../.. && \ + npm install && \ + npm run build && \ + popd +.PHONY: update-dependencies + +update-version: +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifdef NEW_VERSION + npm --no-git-tag-version --allow-same-version version "$(NEW_VERSION)" + # Update all npm packages that depend on us + pushd ../.. && \ + ./scripts/npm-each update_npm_dependency_if_exists package.json "$(NPM_MODULE)" "^$(NEW_VERSION)" + # npm install +else + @echo -e "\033[0;31mNEW_VERSION is not defined. Can't update version :-(\033[0m" + exit 1 +endif +endif +.PHONY: update-version + +publish: .codegen +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifneq (true,$(PRIVATE)) + npm publish --access public +else + @echo "Not publishing private npm module" +endif +endif +.PHONY: publish + +post-release: +.PHONY: post-release + +clean: clean-javascript +.PHONY: clean + +clean-javascript: + rm -rf .deps .codegen .tested* node_modules coverage dist acceptance +.PHONY: clean-javascript diff --git a/node_modules/@cucumber/gherkin/dist/package.json b/node_modules/@cucumber/gherkin/dist/package.json new file mode 100644 index 0000000..44941a2 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/package.json @@ -0,0 +1,40 @@ +{ + "name": "@cucumber/gherkin", + "version": "18.0.0", + "description": "Gherkin parser", + "main": "dist/src/index.js", + "types": "dist/src/index.d.ts", + "scripts": { + "test": "mocha", + "prepublishOnly": "tsc --build tsconfig.build.json" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/cucumber/gherkin-javascript.git" + }, + "keywords": [ + "gherkin", + "cucumber" + ], + "author": "Aslak Hellesøy", + "license": "MIT", + "bugs": { + "url": "https://github.com/cucumber/cucumber/issues" + }, + "homepage": "https://github.com/cucumber/gherkin-javascript", + "devDependencies": { + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.35", + "core-js": "^3.9.1", + "mocha": "^8.3.2", + "ts-node": "^9.1.1", + "typescript": "^4.2.3" + }, + "dependencies": { + "@cucumber/messages": "^15.0.0", + "@cucumber/message-streams": "^1.0.0" + }, + "directories": { + "test": "test" + } +} diff --git a/node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts new file mode 100644 index 0000000..eaf1eac --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts @@ -0,0 +1,26 @@ +import AstNode from './AstNode'; +import { IdGenerator, messages } from '@cucumber/messages'; +import { RuleType, TokenType } from './Parser'; +import IToken from './IToken'; +import { IAstBuilder } from './IAstBuilder'; +export default class AstBuilder implements IAstBuilder { + stack: AstNode[]; + comments: messages.GherkinDocument.IComment[]; + readonly newId: IdGenerator.NewId; + constructor(newId: IdGenerator.NewId); + reset(): void; + startRule(ruleType: RuleType): void; + endRule(): void; + build(token: IToken): void; + getResult(): any; + currentNode(): AstNode; + getLocation(token: IToken, column?: number): messages.ILocation; + getTags(node: AstNode): messages.GherkinDocument.Feature.ITag[]; + getCells(tableRowToken: IToken): messages.GherkinDocument.Feature.TableRow.TableCell[]; + getDescription(node: AstNode): any; + getSteps(node: AstNode): any[]; + getTableRows(node: AstNode): messages.GherkinDocument.Feature.TableRow[]; + ensureCellCount(rows: messages.GherkinDocument.Feature.TableRow[]): void; + transformNode(node: AstNode): string | AstNode | messages.GherkinDocument | messages.GherkinDocument.Feature | messages.GherkinDocument.Feature.TableRow[] | messages.GherkinDocument.Feature.Step | messages.GherkinDocument.Feature.Step.DocString | messages.GherkinDocument.Feature.Step.DataTable | messages.GherkinDocument.Feature.Background | messages.GherkinDocument.Feature.Scenario | messages.GherkinDocument.Feature.Scenario.Examples | messages.GherkinDocument.Feature.FeatureChild.Rule; +} +//# sourceMappingURL=AstBuilder.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts.map new file mode 100644 index 0000000..9c2cf63 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AstBuilder.d.ts","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAG9C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;IAClF,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAA;gBAErB,KAAK,EAAE,WAAW,CAAC,KAAK;IAQpC,KAAK;IAKL,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAI5B,OAAO;IAMP,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAa9B,SAAS;IAIT,WAAW;IAIX,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS;IAI1E,OAAO,CAAC,IAAI,EAAE,OAAO;IAqBrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC;IASzC,cAAc,CAAC,IAAI,EAAE,OAAO;IAI5B,QAAQ,CAAC,IAAI,EAAE,OAAO;IAItB,YAAY,CAAC,IAAI,EAAE,OAAO;IAY1B,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE;IAajE,aAAa,CAAC,IAAI,EAAE,OAAO;CA8M5B"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/AstBuilder.js b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.js new file mode 100644 index 0000000..b703983 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.js @@ -0,0 +1,285 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const AstNode_1 = __importDefault(require("./AstNode")); +const messages_1 = require("@cucumber/messages"); +const Parser_1 = require("./Parser"); +const Errors_1 = require("./Errors"); +const createLocation_1 = __importDefault(require("./createLocation")); +class AstBuilder { + constructor(newId) { + this.newId = newId; + if (!newId) { + throw new Error('No newId'); + } + this.reset(); + } + reset() { + this.stack = [new AstNode_1.default(Parser_1.RuleType.None)]; + this.comments = []; + } + startRule(ruleType) { + this.stack.push(new AstNode_1.default(ruleType)); + } + endRule() { + const node = this.stack.pop(); + const transformedNode = this.transformNode(node); + this.currentNode().add(node.ruleType, transformedNode); + } + build(token) { + if (token.matchedType === Parser_1.TokenType.Comment) { + this.comments.push(messages_1.messages.GherkinDocument.Comment.create({ + location: this.getLocation(token), + text: token.matchedText, + })); + } + else { + this.currentNode().add(token.matchedType, token); + } + } + getResult() { + return this.currentNode().getSingle(Parser_1.RuleType.GherkinDocument); + } + currentNode() { + return this.stack[this.stack.length - 1]; + } + getLocation(token, column) { + return !column ? token.location : createLocation_1.default({ line: token.location.line, column }); + } + getTags(node) { + const tags = []; + const tagsNode = node.getSingle(Parser_1.RuleType.Tags); + if (!tagsNode) { + return tags; + } + const tokens = tagsNode.getTokens(Parser_1.TokenType.TagLine); + for (const token of tokens) { + for (const tagItem of token.matchedItems) { + tags.push(messages_1.messages.GherkinDocument.Feature.Tag.create({ + location: this.getLocation(token, tagItem.column), + name: tagItem.text, + id: this.newId(), + })); + } + } + return tags; + } + getCells(tableRowToken) { + return tableRowToken.matchedItems.map((cellItem) => messages_1.messages.GherkinDocument.Feature.TableRow.TableCell.create({ + location: this.getLocation(tableRowToken, cellItem.column), + value: cellItem.text, + })); + } + getDescription(node) { + return node.getSingle(Parser_1.RuleType.Description); + } + getSteps(node) { + return node.getItems(Parser_1.RuleType.Step); + } + getTableRows(node) { + const rows = node.getTokens(Parser_1.TokenType.TableRow).map((token) => messages_1.messages.GherkinDocument.Feature.TableRow.create({ + id: this.newId(), + location: this.getLocation(token), + cells: this.getCells(token), + })); + this.ensureCellCount(rows); + return rows; + } + ensureCellCount(rows) { + if (rows.length === 0) { + return; + } + const cellCount = rows[0].cells.length; + rows.forEach((row) => { + if (row.cells.length !== cellCount) { + throw Errors_1.AstBuilderException.create('inconsistent cell count within the table', row.location); + } + }); + } + transformNode(node) { + switch (node.ruleType) { + case Parser_1.RuleType.Step: { + const stepLine = node.getToken(Parser_1.TokenType.StepLine); + const dataTable = node.getSingle(Parser_1.RuleType.DataTable); + const docString = node.getSingle(Parser_1.RuleType.DocString); + return messages_1.messages.GherkinDocument.Feature.Step.create({ + id: this.newId(), + location: this.getLocation(stepLine), + keyword: stepLine.matchedKeyword, + text: stepLine.matchedText, + dataTable, + docString, + }); + } + case Parser_1.RuleType.DocString: { + const separatorToken = node.getTokens(Parser_1.TokenType.DocStringSeparator)[0]; + const mediaType = separatorToken.matchedText.length > 0 ? separatorToken.matchedText : undefined; + const lineTokens = node.getTokens(Parser_1.TokenType.Other); + const content = lineTokens.map((t) => t.matchedText).join('\n'); + const result = messages_1.messages.GherkinDocument.Feature.Step.DocString.create({ + location: this.getLocation(separatorToken), + content, + delimiter: separatorToken.line.trimmedLineText.substring(0, 3), + }); + // conditionally add this like this (needed to make tests pass on node 0.10 as well as 4.0) + if (mediaType) { + result.mediaType = mediaType; + } + return result; + } + case Parser_1.RuleType.DataTable: { + const rows = this.getTableRows(node); + return messages_1.messages.GherkinDocument.Feature.Step.DataTable.create({ + location: rows[0].location, + rows, + }); + } + case Parser_1.RuleType.Background: { + const backgroundLine = node.getToken(Parser_1.TokenType.BackgroundLine); + const description = this.getDescription(node); + const steps = this.getSteps(node); + return messages_1.messages.GherkinDocument.Feature.Background.create({ + id: this.newId(), + location: this.getLocation(backgroundLine), + keyword: backgroundLine.matchedKeyword, + name: backgroundLine.matchedText, + description, + steps, + }); + } + case Parser_1.RuleType.ScenarioDefinition: { + const tags = this.getTags(node); + const scenarioNode = node.getSingle(Parser_1.RuleType.Scenario); + const scenarioLine = scenarioNode.getToken(Parser_1.TokenType.ScenarioLine); + const description = this.getDescription(scenarioNode); + const steps = this.getSteps(scenarioNode); + const examples = scenarioNode.getItems(Parser_1.RuleType.ExamplesDefinition); + return messages_1.messages.GherkinDocument.Feature.Scenario.create({ + id: this.newId(), + tags, + location: this.getLocation(scenarioLine), + keyword: scenarioLine.matchedKeyword, + name: scenarioLine.matchedText, + description, + steps, + examples, + }); + } + case Parser_1.RuleType.ExamplesDefinition: { + const tags = this.getTags(node); + const examplesNode = node.getSingle(Parser_1.RuleType.Examples); + const examplesLine = examplesNode.getToken(Parser_1.TokenType.ExamplesLine); + const description = this.getDescription(examplesNode); + const exampleTable = examplesNode.getSingle(Parser_1.RuleType.ExamplesTable); + return messages_1.messages.GherkinDocument.Feature.Scenario.Examples.create({ + id: this.newId(), + tags, + location: this.getLocation(examplesLine), + keyword: examplesLine.matchedKeyword, + name: examplesLine.matchedText, + description, + tableHeader: exampleTable !== undefined ? exampleTable[0] : undefined, + tableBody: exampleTable !== undefined ? exampleTable.slice(1) : undefined, + }); + } + case Parser_1.RuleType.ExamplesTable: { + return this.getTableRows(node); + } + case Parser_1.RuleType.Description: { + let lineTokens = node.getTokens(Parser_1.TokenType.Other); + // Trim trailing empty lines + let end = lineTokens.length; + while (end > 0 && lineTokens[end - 1].line.trimmedLineText === '') { + end--; + } + lineTokens = lineTokens.slice(0, end); + return lineTokens.map((token) => token.matchedText).join('\n'); + } + case Parser_1.RuleType.Feature: { + const header = node.getSingle(Parser_1.RuleType.FeatureHeader); + if (!header) { + return null; + } + const tags = this.getTags(header); + const featureLine = header.getToken(Parser_1.TokenType.FeatureLine); + if (!featureLine) { + return null; + } + const children = []; + const background = node.getSingle(Parser_1.RuleType.Background); + if (background) { + children.push(messages_1.messages.GherkinDocument.Feature.FeatureChild.create({ + background, + })); + } + for (const scenario of node.getItems(Parser_1.RuleType.ScenarioDefinition)) { + children.push(messages_1.messages.GherkinDocument.Feature.FeatureChild.create({ + scenario, + })); + } + for (const rule of node.getItems(Parser_1.RuleType.Rule)) { + children.push(messages_1.messages.GherkinDocument.Feature.FeatureChild.create({ + rule, + })); + } + const description = this.getDescription(header); + const language = featureLine.matchedGherkinDialect; + return messages_1.messages.GherkinDocument.Feature.create({ + tags, + location: this.getLocation(featureLine), + language, + keyword: featureLine.matchedKeyword, + name: featureLine.matchedText, + description, + children, + }); + } + case Parser_1.RuleType.Rule: { + const header = node.getSingle(Parser_1.RuleType.RuleHeader); + if (!header) { + return null; + } + const ruleLine = header.getToken(Parser_1.TokenType.RuleLine); + if (!ruleLine) { + return null; + } + const tags = this.getTags(header); + const children = []; + const background = node.getSingle(Parser_1.RuleType.Background); + if (background) { + children.push(messages_1.messages.GherkinDocument.Feature.FeatureChild.create({ + background, + })); + } + for (const scenario of node.getItems(Parser_1.RuleType.ScenarioDefinition)) { + children.push(messages_1.messages.GherkinDocument.Feature.FeatureChild.create({ + scenario, + })); + } + const description = this.getDescription(header); + return messages_1.messages.GherkinDocument.Feature.FeatureChild.Rule.create({ + id: this.newId(), + location: this.getLocation(ruleLine), + keyword: ruleLine.matchedKeyword, + name: ruleLine.matchedText, + description, + children, + tags, + }); + } + case Parser_1.RuleType.GherkinDocument: { + const feature = node.getSingle(Parser_1.RuleType.Feature); + return messages_1.messages.GherkinDocument.create({ + feature, + comments: this.comments, + }); + } + default: + return node; + } + } +} +exports.default = AstBuilder; +//# sourceMappingURL=AstBuilder.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/AstBuilder.js.map b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.js.map new file mode 100644 index 0000000..3d5483a --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstBuilder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AstBuilder.js","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts b/node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts new file mode 100644 index 0000000..f74271e --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts @@ -0,0 +1,13 @@ +import { RuleType, TokenType } from './Parser'; +import IToken from './IToken'; +export default class AstNode { + readonly ruleType: RuleType; + private readonly subItems; + constructor(ruleType: RuleType); + add(type: any, obj: any): void; + getSingle(ruleType: RuleType): any; + getItems(ruleType: RuleType): any[]; + getToken(tokenType: TokenType): any; + getTokens(tokenType: TokenType): IToken[]; +} +//# sourceMappingURL=AstNode.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts.map new file mode 100644 index 0000000..1a18a60 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"AstNode.d.ts","sourceRoot":"","sources":["../../src/AstNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,CAAC,OAAO,OAAO,OAAO;aAIE,QAAQ,EAAE,QAAQ;IAF9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;gBAErB,QAAQ,EAAE,QAAQ;IAGvC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IASvB,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAI5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAI3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAI7B,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE;CAG5D"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/AstNode.js b/node_modules/@cucumber/gherkin/dist/src/AstNode.js new file mode 100644 index 0000000..f27b10d --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstNode.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class AstNode { + constructor(ruleType) { + this.ruleType = ruleType; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + this.subItems = new Map(); + } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + add(type, obj) { + let items = this.subItems.get(type); + if (items === undefined) { + items = []; + this.subItems.set(type, items); + } + items.push(obj); + } + getSingle(ruleType) { + return (this.subItems.get(ruleType) || [])[0]; + } + getItems(ruleType) { + return this.subItems.get(ruleType) || []; + } + getToken(tokenType) { + return (this.subItems.get(tokenType) || [])[0]; + } + getTokens(tokenType) { + return this.subItems.get(tokenType) || []; + } +} +exports.default = AstNode; +//# sourceMappingURL=AstNode.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/AstNode.js.map b/node_modules/@cucumber/gherkin/dist/src/AstNode.js.map new file mode 100644 index 0000000..7e88cfd --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/AstNode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AstNode.js","sourceRoot":"","sources":["../../src/AstNode.ts"],"names":[],"mappings":";;AAGA,MAAqB,OAAO;IAI1B,YAA4B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAH9C,8DAA8D;QAC7C,aAAQ,GAAG,IAAI,GAAG,EAAc,CAAA;IAEA,CAAC;IAElD,8DAA8D;IACvD,GAAG,CAAC,IAAS,EAAE,GAAQ;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,KAAK,GAAG,EAAE,CAAA;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;SAC/B;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IAEM,SAAS,CAAC,QAAkB;QACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;IAEM,QAAQ,CAAC,QAAkB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC1C,CAAC;IAEM,QAAQ,CAAC,SAAoB;QAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAEM,SAAS,CAAC,SAAoB;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACF;AA/BD,0BA+BC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts b/node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts new file mode 100644 index 0000000..e505a69 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts @@ -0,0 +1,16 @@ +export default interface Dialect { + readonly name: string; + readonly native: string; + readonly feature: ReadonlyArray; + readonly background: ReadonlyArray; + readonly rule: ReadonlyArray; + readonly scenario: ReadonlyArray; + readonly scenarioOutline: ReadonlyArray; + readonly examples: ReadonlyArray; + readonly given: ReadonlyArray; + readonly when: ReadonlyArray; + readonly then: ReadonlyArray; + readonly and: ReadonlyArray; + readonly but: ReadonlyArray; +} +//# sourceMappingURL=Dialect.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts.map new file mode 100644 index 0000000..c3e11c6 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Dialect.d.ts","sourceRoot":"","sources":["../../src/Dialect.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,OAAO;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACpC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Dialect.js b/node_modules/@cucumber/gherkin/dist/src/Dialect.js new file mode 100644 index 0000000..23a98d0 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Dialect.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=Dialect.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Dialect.js.map b/node_modules/@cucumber/gherkin/dist/src/Dialect.js.map new file mode 100644 index 0000000..84b052b --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Dialect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Dialect.js","sourceRoot":"","sources":["../../src/Dialect.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Errors.d.ts b/node_modules/@cucumber/gherkin/dist/src/Errors.d.ts new file mode 100644 index 0000000..dc649a2 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Errors.d.ts @@ -0,0 +1,20 @@ +import { messages } from '@cucumber/messages'; +export declare class GherkinException extends Error { + errors: Error[]; + location: messages.ILocation; + constructor(message: string); + protected static _create(message: string, location?: messages.ILocation): GherkinException; +} +export declare class ParserException extends GherkinException { + static create(message: string, line: number, column: number): ParserException; +} +export declare class CompositeParserException extends GherkinException { + static create(errors: Error[]): CompositeParserException; +} +export declare class AstBuilderException extends GherkinException { + static create(message: string, location: messages.ILocation): GherkinException; +} +export declare class NoSuchLanguageException extends GherkinException { + static create(language: string, location?: messages.ILocation): GherkinException; +} +//# sourceMappingURL=Errors.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Errors.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/Errors.d.ts.map new file mode 100644 index 0000000..70d9305 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Errors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,qBAAa,gBAAiB,SAAQ,KAAK;IAClC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAA;gBAEvB,OAAO,EAAE,MAAM;IAc3B,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS;CAQxE;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;WACrC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAKnE;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;WAC9C,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE;CAMrC;AAED,qBAAa,mBAAoB,SAAQ,gBAAgB;WACzC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS;CAGnE;AAED,qBAAa,uBAAwB,SAAQ,gBAAgB;WAC7C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS;CAIrE"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Errors.js b/node_modules/@cucumber/gherkin/dist/src/Errors.js new file mode 100644 index 0000000..97ff41b --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Errors.js @@ -0,0 +1,61 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NoSuchLanguageException = exports.AstBuilderException = exports.CompositeParserException = exports.ParserException = exports.GherkinException = void 0; +const createLocation_1 = __importDefault(require("./createLocation")); +class GherkinException extends Error { + constructor(message) { + super(message); + const actualProto = new.target.prototype; + // https://stackoverflow.com/questions/41102060/typescript-extending-error-class + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto); + } + else { + // @ts-ignore + this.__proto__ = actualProto; + } + } + static _create(message, location) { + const column = location != null ? location.column || 0 : -1; + const line = location != null ? location.line || 0 : -1; + const m = `(${line}:${column}): ${message}`; + const err = new this(m); + err.location = location; + return err; + } +} +exports.GherkinException = GherkinException; +class ParserException extends GherkinException { + static create(message, line, column) { + const err = new this(`(${line}:${column}): ${message}`); + err.location = createLocation_1.default({ line, column }); + return err; + } +} +exports.ParserException = ParserException; +class CompositeParserException extends GherkinException { + static create(errors) { + const message = 'Parser errors:\n' + errors.map((e) => e.message).join('\n'); + const err = new this(message); + err.errors = errors; + return err; + } +} +exports.CompositeParserException = CompositeParserException; +class AstBuilderException extends GherkinException { + static create(message, location) { + return this._create(message, location); + } +} +exports.AstBuilderException = AstBuilderException; +class NoSuchLanguageException extends GherkinException { + static create(language, location) { + const message = 'Language not supported: ' + language; + return this._create(message, location); + } +} +exports.NoSuchLanguageException = NoSuchLanguageException; +//# sourceMappingURL=Errors.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Errors.js.map b/node_modules/@cucumber/gherkin/dist/src/Errors.js.map new file mode 100644 index 0000000..ea32cc4 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Errors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../src/Errors.ts"],"names":[],"mappings":";;;;;;AACA,sEAA6C;AAE7C,MAAa,gBAAiB,SAAQ,KAAK;IAIzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAA;QAExC,gFAAgF;QAChF,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;SACzC;aAAM;YACL,aAAa;YACb,IAAI,CAAC,SAAS,GAAG,WAAW,CAAA;SAC7B;IACH,CAAC;IAES,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,QAA6B;QACrE,MAAM,MAAM,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,OAAO,EAAE,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QACvB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACvB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AA1BD,4CA0BC;AAED,MAAa,eAAgB,SAAQ,gBAAgB;IAC5C,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,IAAY,EAAE,MAAc;QAChE,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,MAAM,OAAO,EAAE,CAAC,CAAA;QACvD,GAAG,CAAC,QAAQ,GAAG,wBAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/C,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAND,0CAMC;AAED,MAAa,wBAAyB,SAAQ,gBAAgB;IACrD,MAAM,CAAC,MAAM,CAAC,MAAe;QAClC,MAAM,OAAO,GAAG,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5E,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAPD,4DAOC;AAED,MAAa,mBAAoB,SAAQ,gBAAgB;IAChD,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,QAA4B;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,uBAAwB,SAAQ,gBAAgB;IACpD,MAAM,CAAC,MAAM,CAAC,QAAgB,EAAE,QAA6B;QAClE,MAAM,OAAO,GAAG,0BAA0B,GAAG,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;CACF;AALD,0DAKC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts new file mode 100644 index 0000000..f9be75a --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts @@ -0,0 +1,20 @@ +export default class GherkinLine { + private readonly lineText; + private readonly lineNumber; + trimmedLineText: string; + isEmpty: boolean; + indent: number; + column: number; + text: string; + constructor(lineText: string, lineNumber: number); + startsWith(prefix: string): boolean; + startsWithTitleKeyword(keyword: string): boolean; + getLineText(indentToRemove: number): string; + getRestTrimmed(length: number): string; + getTableCells(): { + column: number; + text: string; + }[]; + getTags(): any[]; +} +//# sourceMappingURL=GherkinLine.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts.map new file mode 100644 index 0000000..2dcb03f --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GherkinLine.d.ts","sourceRoot":"","sources":["../../src/GherkinLine.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,WAAW;IAOlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,UAAU;IANnE,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;gBAEU,QAAQ,EAAE,MAAM,EAAmB,UAAU,EAAE,MAAM;IAM3E,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,sBAAsB,CAAC,OAAO,EAAE,MAAM;IAItC,WAAW,CAAC,cAAc,EAAE,MAAM;IAQlC,cAAc,CAAC,MAAM,EAAE,MAAM;IAI7B,aAAa;;;;IA8Cb,OAAO;CAmBf"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/GherkinLine.js b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.js new file mode 100644 index 0000000..a7bfa87 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.js @@ -0,0 +1,102 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const countSymbols_1 = __importDefault(require("./countSymbols")); +const Errors_1 = require("./Errors"); +class GherkinLine { + constructor(lineText, lineNumber) { + this.lineText = lineText; + this.lineNumber = lineNumber; + this.trimmedLineText = lineText.replace(/^\s+/g, ''); // ltrim + this.isEmpty = this.trimmedLineText.length === 0; + this.indent = countSymbols_1.default(lineText) - countSymbols_1.default(this.trimmedLineText); + } + startsWith(prefix) { + return this.trimmedLineText.indexOf(prefix) === 0; + } + startsWithTitleKeyword(keyword) { + return this.startsWith(keyword + ':'); // The C# impl is more complicated. Find out why. + } + getLineText(indentToRemove) { + if (indentToRemove < 0 || indentToRemove > this.indent) { + return this.trimmedLineText; + } + else { + return this.lineText.substring(indentToRemove); + } + } + getRestTrimmed(length) { + return this.trimmedLineText.substring(length).trim(); + } + getTableCells() { + const cells = []; + let col = 0; + let startCol = col + 1; + let cell = ''; + let firstCell = true; + while (col < this.trimmedLineText.length) { + let chr = this.trimmedLineText[col]; + col++; + if (chr === '|') { + if (firstCell) { + // First cell (content before the first |) is skipped + firstCell = false; + } + else { + // Keeps newlines + const trimmedLeft = cell.replace(/^[ \t\v\f\r\u0085\u00A0]*/g, ''); + const trimmed = trimmedLeft.replace(/[ \t\v\f\r\u0085\u00A0]*$/g, ''); + const cellIndent = cell.length - trimmedLeft.length; + const span = { + column: this.indent + startCol + cellIndent, + text: trimmed, + }; + cells.push(span); + } + cell = ''; + startCol = col + 1; + } + else if (chr === '\\') { + chr = this.trimmedLineText[col]; + col += 1; + if (chr === 'n') { + cell += '\n'; + } + else { + if (chr !== '|' && chr !== '\\') { + cell += '\\'; + } + cell += chr; + } + } + else { + cell += chr; + } + } + return cells; + } + getTags() { + const uncommentedLine = this.trimmedLineText.split(/\s#/g, 2)[0]; + let column = this.indent + 1; + const items = uncommentedLine.split('@'); + const tags = []; + for (let i = 0; i < items.length; i++) { + const item = items[i].trimRight(); + if (item.length == 0) { + continue; + } + if (!item.match(/^\S+$/)) { + throw Errors_1.ParserException.create('A tag may not contain whitespace', this.lineNumber, column); + } + const span = { column, text: '@' + item }; + tags.push(span); + column += countSymbols_1.default(items[i]) + 1; + } + return tags; + } +} +exports.default = GherkinLine; +module.exports = GherkinLine; +//# sourceMappingURL=GherkinLine.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/GherkinLine.js.map b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.js.map new file mode 100644 index 0000000..62fc908 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/GherkinLine.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GherkinLine.js","sourceRoot":"","sources":["../../src/GherkinLine.ts"],"names":[],"mappings":";;;;;AAAA,kEAAyC;AACzC,qCAA0C;AAE1C,MAAqB,WAAW;IAO9B,YAA6B,QAAgB,EAAmB,UAAkB;QAArD,aAAQ,GAAR,QAAQ,CAAQ;QAAmB,eAAU,GAAV,UAAU,CAAQ;QAChF,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA,CAAC,QAAQ;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,GAAG,sBAAY,CAAC,QAAQ,CAAC,GAAG,sBAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3E,CAAC;IAEM,UAAU,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;IAEM,sBAAsB,CAAC,OAAe;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,CAAA,CAAC,iDAAiD;IACzF,CAAC;IAEM,WAAW,CAAC,cAAsB;QACvC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE;YACtD,OAAO,IAAI,CAAC,eAAe,CAAA;SAC5B;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;SAC/C;IACH,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACtD,CAAC;IAEM,aAAa;QAClB,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,IAAI,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAA;QACtB,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI,SAAS,GAAG,IAAI,CAAA;QACpB,OAAO,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACxC,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;YACnC,GAAG,EAAE,CAAA;YAEL,IAAI,GAAG,KAAK,GAAG,EAAE;gBACf,IAAI,SAAS,EAAE;oBACb,qDAAqD;oBACrD,SAAS,GAAG,KAAK,CAAA;iBAClB;qBAAM;oBACL,iBAAiB;oBACjB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAA;oBAClE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAA;oBACrE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;oBACnD,MAAM,IAAI,GAAG;wBACX,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,GAAG,UAAU;wBAC3C,IAAI,EAAE,OAAO;qBACd,CAAA;oBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;iBACjB;gBACD,IAAI,GAAG,EAAE,CAAA;gBACT,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAA;aACnB;iBAAM,IAAI,GAAG,KAAK,IAAI,EAAE;gBACvB,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;gBAC/B,GAAG,IAAI,CAAC,CAAA;gBACR,IAAI,GAAG,KAAK,GAAG,EAAE;oBACf,IAAI,IAAI,IAAI,CAAA;iBACb;qBAAM;oBACL,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE;wBAC/B,IAAI,IAAI,IAAI,CAAA;qBACb;oBACD,IAAI,IAAI,GAAG,CAAA;iBACZ;aACF;iBAAM;gBACL,IAAI,IAAI,GAAG,CAAA;aACZ;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,OAAO;QACZ,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxC,MAAM,IAAI,GAAU,EAAE,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YACjC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpB,SAAQ;aACT;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACxB,MAAM,wBAAe,CAAC,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;aAC1F;YACD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,CAAA;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,MAAM,IAAI,sBAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;SACrC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAlGD,8BAkGC;AAED,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts new file mode 100644 index 0000000..d7cc1d7 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts @@ -0,0 +1,22 @@ +import { IdGenerator, messages } from '@cucumber/messages'; +import IToken from './IToken'; +export interface IAstBuilder { + stack: AstNode[]; + comments: messages.GherkinDocument.IComment[]; + newId: IdGenerator.NewId; + reset(): void; + startRule(ruleType: RuleType): void; + endRule(): void; + build(token: IToken): void; + getResult(): any; + currentNode(): any; + getLocation(token: IToken, column?: number): messages.ILocation; + getTags(node: AstNode): readonly messages.GherkinDocument.Feature.ITag[]; + getCells(tableRowToken: IToken): readonly messages.GherkinDocument.Feature.TableRow.ITableCell[]; + getDescription(node: AstNode): any; + getSteps(node: AstNode): any[]; + getTableRows(node: AstNode): readonly messages.GherkinDocument.Feature.ITableRow[]; + ensureCellCount(rows: readonly messages.GherkinDocument.Feature.ITableRow[]): void; + transformNode(node: AstNode): any; +} +//# sourceMappingURL=IAstBuilder.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts.map new file mode 100644 index 0000000..dd2d021 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"IAstBuilder.d.ts","sourceRoot":"","sources":["../../src/IAstBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,WAAW,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ;IACvD,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAA;IAC7C,KAAK,EAAE,WAAW,CAAC,KAAK,CAAA;IAExB,KAAK,IAAI,IAAI,CAAA;IAEb,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IAEnC,OAAO,IAAI,IAAI,CAAA;IAEf,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IAErC,SAAS,IAAI,GAAG,CAAA;IAEhB,WAAW,IAAI,GAAG,CAAA;IAElB,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAA;IAE1E,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAExE,QAAQ,CACN,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,GAC/B,SAAS,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;IAElE,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAA;IAElC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,CAAA;IAE9B,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA;IAElF,eAAe,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAA;IAElF,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAA;CAClC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.js b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.js new file mode 100644 index 0000000..0a2ca7f --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IAstBuilder.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.js.map b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.js.map new file mode 100644 index 0000000..ca3fb64 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IAstBuilder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IAstBuilder.js","sourceRoot":"","sources":["../../src/IAstBuilder.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts new file mode 100644 index 0000000..9d08041 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts @@ -0,0 +1,9 @@ +import { IdGenerator } from '@cucumber/messages'; +export default interface IGherkinOptions { + defaultDialect?: string; + includeSource?: boolean; + includeGherkinDocument?: boolean; + includePickles?: boolean; + newId?: IdGenerator.NewId; +} +//# sourceMappingURL=IGherkinOptions.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts.map new file mode 100644 index 0000000..7bf8e70 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"IGherkinOptions.d.ts","sourceRoot":"","sources":["../../src/IGherkinOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,CAAC,OAAO,WAAW,eAAe;IACtC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAA;CAC1B"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.js b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.js new file mode 100644 index 0000000..0166968 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IGherkinOptions.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.js.map b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.js.map new file mode 100644 index 0000000..112f953 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IGherkinOptions.js","sourceRoot":"","sources":["../../src/IGherkinOptions.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IToken.d.ts b/node_modules/@cucumber/gherkin/dist/src/IToken.d.ts new file mode 100644 index 0000000..40872ca --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IToken.d.ts @@ -0,0 +1,16 @@ +import { messages } from '@cucumber/messages'; +import GherkinLine from './GherkinLine'; +export default interface IToken { + location: messages.ILocation; + line: GherkinLine; + isEof: boolean; + matchedText?: string; + matchedType: TokenType; + matchedItems: GherkinLine[]; + matchedKeyword: string; + matchedIndent: number; + matchedGherkinDialect: string; + getTokenValue(): string; + detach(): void; +} +//# sourceMappingURL=IToken.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IToken.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/IToken.d.ts.map new file mode 100644 index 0000000..936c945 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IToken.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"IToken.d.ts","sourceRoot":"","sources":["../../src/IToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,SAAS;IACvC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;IAEjB,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,SAAS,CAAA;IACtB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,aAAa,IAAI,MAAM,CAAA;IACvB,MAAM,IAAI,IAAI,CAAA;CACf"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IToken.js b/node_modules/@cucumber/gherkin/dist/src/IToken.js new file mode 100644 index 0000000..af0fc56 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IToken.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IToken.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/IToken.js.map b/node_modules/@cucumber/gherkin/dist/src/IToken.js.map new file mode 100644 index 0000000..88413ff --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/IToken.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IToken.js","sourceRoot":"","sources":["../../src/IToken.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts new file mode 100644 index 0000000..56870a8 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts @@ -0,0 +1,22 @@ +import { messages } from '@cucumber/messages'; +import IToken from './IToken'; +export default interface ITokenMatcher { + changeDialect(newDialectName: string, location?: messages.ILocation): void; + reset(): void; + match_TagLine(token: IToken): boolean; + match_FeatureLine(token: IToken): boolean; + match_ScenarioLine(token: IToken): boolean; + match_BackgroundLine(token: IToken): boolean; + match_ExamplesLine(token: IToken): boolean; + match_RuleLine(token: IToken): boolean; + match_TableRow(token: IToken): boolean; + match_Empty(token: IToken): boolean; + match_Comment(token: IToken): boolean; + match_Language(token: IToken): boolean; + match_DocStringSeparator(token: IToken): any; + match_EOF(token: IToken): boolean; + match_StepLine(token: IToken): boolean; + match_Other(token: IToken): boolean; + matchTitleLine(token: IToken, tokenType: TokenType, keywords: readonly string[]): boolean; +} +//# sourceMappingURL=ITokenMatcher.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts.map new file mode 100644 index 0000000..6cd5f4c --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ITokenMatcher.d.ts","sourceRoot":"","sources":["../../src/ITokenMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC,SAAS;IAC9C,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAA;IAE1E,KAAK,IAAI,IAAI,CAAA;IAEb,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEhD,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEpD,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAErD,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEvD,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAErD,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEjD,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEjD,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAE9C,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEhD,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEjD,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAA;IAEvD,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAE5C,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAEjD,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;IAE9C,cAAc,CACZ,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EACxB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,OAAO,CAAA;CACX"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.js b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.js new file mode 100644 index 0000000..3accaec --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=ITokenMatcher.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.js.map b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.js.map new file mode 100644 index 0000000..9bc45b1 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ITokenMatcher.js","sourceRoot":"","sources":["../../src/ITokenMatcher.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Parser.d.ts b/node_modules/@cucumber/gherkin/dist/src/Parser.d.ts new file mode 100644 index 0000000..d749fd1 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Parser.d.ts @@ -0,0 +1,155 @@ +import { messages } from '@cucumber/messages'; +import GherkinLine from './GherkinLine'; +import IToken from './IToken'; +import { IAstBuilder } from './IAstBuilder'; +import ITokenMatcher from './ITokenMatcher'; +export declare class Token implements IToken { + readonly line: GherkinLine; + readonly location: messages.ILocation; + isEof: boolean; + matchedText?: string; + matchedType: TokenType; + matchedItems: GherkinLine[]; + matchedKeyword: string; + matchedIndent: number; + matchedGherkinDialect: string; + constructor(line: GherkinLine, location: messages.ILocation); + getTokenValue(): string; + detach(): void; +} +export declare enum TokenType { + None = 0, + EOF = 1, + Empty = 2, + Comment = 3, + TagLine = 4, + FeatureLine = 5, + RuleLine = 6, + BackgroundLine = 7, + ScenarioLine = 8, + ExamplesLine = 9, + StepLine = 10, + DocStringSeparator = 11, + TableRow = 12, + Language = 13, + Other = 14 +} +export declare enum RuleType { + None = 0, + _EOF = 1, + _Empty = 2, + _Comment = 3, + _TagLine = 4, + _FeatureLine = 5, + _RuleLine = 6, + _BackgroundLine = 7, + _ScenarioLine = 8, + _ExamplesLine = 9, + _StepLine = 10, + _DocStringSeparator = 11, + _TableRow = 12, + _Language = 13, + _Other = 14, + GherkinDocument = 15, + Feature = 16, + FeatureHeader = 17, + Rule = 18, + RuleHeader = 19, + Background = 20, + ScenarioDefinition = 21, + Scenario = 22, + ExamplesDefinition = 23, + Examples = 24, + ExamplesTable = 25, + Step = 26, + StepArg = 27, + DataTable = 28, + DocString = 29, + Tags = 30, + DescriptionHelper = 31, + Description = 32 +} +export default class Parser { + private readonly builder; + private readonly tokenMatcher; + stopAtFirstError: boolean; + private context; + constructor(builder: IAstBuilder, tokenMatcher: ITokenMatcher); + parse(gherkinSource: string): messages.IGherkinDocument; + private addError; + private startRule; + private endRule; + private build; + private getResult; + private handleAstError; + private handleExternalError; + private readToken; + private matchToken; + private matchTokenAt_0; + private matchTokenAt_1; + private matchTokenAt_2; + private matchTokenAt_3; + private matchTokenAt_4; + private matchTokenAt_5; + private matchTokenAt_6; + private matchTokenAt_7; + private matchTokenAt_8; + private matchTokenAt_9; + private matchTokenAt_10; + private matchTokenAt_11; + private matchTokenAt_12; + private matchTokenAt_13; + private matchTokenAt_14; + private matchTokenAt_15; + private matchTokenAt_16; + private matchTokenAt_17; + private matchTokenAt_18; + private matchTokenAt_19; + private matchTokenAt_20; + private matchTokenAt_21; + private matchTokenAt_22; + private matchTokenAt_23; + private matchTokenAt_24; + private matchTokenAt_25; + private matchTokenAt_26; + private matchTokenAt_27; + private matchTokenAt_28; + private matchTokenAt_29; + private matchTokenAt_30; + private matchTokenAt_31; + private matchTokenAt_32; + private matchTokenAt_33; + private matchTokenAt_34; + private matchTokenAt_35; + private matchTokenAt_36; + private matchTokenAt_37; + private matchTokenAt_38; + private matchTokenAt_39; + private matchTokenAt_40; + private matchTokenAt_41; + private matchTokenAt_43; + private matchTokenAt_44; + private matchTokenAt_45; + private matchTokenAt_46; + private matchTokenAt_47; + private matchTokenAt_48; + private matchTokenAt_49; + private matchTokenAt_50; + private match_EOF; + private match_Empty; + private match_Comment; + private match_TagLine; + private match_FeatureLine; + private match_RuleLine; + private match_BackgroundLine; + private match_ScenarioLine; + private match_ExamplesLine; + private match_StepLine; + private match_DocStringSeparator; + private match_TableRow; + private match_Language; + private match_Other; + private lookahead_0; + private lookahead_1; +} +//# sourceMappingURL=Parser.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Parser.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/Parser.d.ts.map new file mode 100644 index 0000000..0233115 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Parser.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../src/Parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Parser.js b/node_modules/@cucumber/gherkin/dist/src/Parser.js new file mode 100644 index 0000000..9f8c2c8 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Parser.js @@ -0,0 +1,3927 @@ +"use strict"; +// This file is generated. Do not edit! Edit gherkin-javascript.razor instead. +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RuleType = exports.TokenType = exports.Token = void 0; +const Errors_1 = require("./Errors"); +const TokenExceptions_1 = require("./TokenExceptions"); +const TokenScanner_1 = __importDefault(require("./TokenScanner")); +const GherkinLine_1 = __importDefault(require("./GherkinLine")); +class Token { + constructor(line, location) { + this.line = line; + this.location = location; + this.isEof = !line; + } + getTokenValue() { + return this.isEof ? 'EOF' : this.line.getLineText(-1); + } + detach() { + // TODO: Detach line, but is this really needed? + } +} +exports.Token = Token; +var TokenType; +(function (TokenType) { + TokenType[TokenType["None"] = 0] = "None"; + TokenType[TokenType["EOF"] = 1] = "EOF"; + TokenType[TokenType["Empty"] = 2] = "Empty"; + TokenType[TokenType["Comment"] = 3] = "Comment"; + TokenType[TokenType["TagLine"] = 4] = "TagLine"; + TokenType[TokenType["FeatureLine"] = 5] = "FeatureLine"; + TokenType[TokenType["RuleLine"] = 6] = "RuleLine"; + TokenType[TokenType["BackgroundLine"] = 7] = "BackgroundLine"; + TokenType[TokenType["ScenarioLine"] = 8] = "ScenarioLine"; + TokenType[TokenType["ExamplesLine"] = 9] = "ExamplesLine"; + TokenType[TokenType["StepLine"] = 10] = "StepLine"; + TokenType[TokenType["DocStringSeparator"] = 11] = "DocStringSeparator"; + TokenType[TokenType["TableRow"] = 12] = "TableRow"; + TokenType[TokenType["Language"] = 13] = "Language"; + TokenType[TokenType["Other"] = 14] = "Other"; +})(TokenType = exports.TokenType || (exports.TokenType = {})); +var RuleType; +(function (RuleType) { + RuleType[RuleType["None"] = 0] = "None"; + RuleType[RuleType["_EOF"] = 1] = "_EOF"; + RuleType[RuleType["_Empty"] = 2] = "_Empty"; + RuleType[RuleType["_Comment"] = 3] = "_Comment"; + RuleType[RuleType["_TagLine"] = 4] = "_TagLine"; + RuleType[RuleType["_FeatureLine"] = 5] = "_FeatureLine"; + RuleType[RuleType["_RuleLine"] = 6] = "_RuleLine"; + RuleType[RuleType["_BackgroundLine"] = 7] = "_BackgroundLine"; + RuleType[RuleType["_ScenarioLine"] = 8] = "_ScenarioLine"; + RuleType[RuleType["_ExamplesLine"] = 9] = "_ExamplesLine"; + RuleType[RuleType["_StepLine"] = 10] = "_StepLine"; + RuleType[RuleType["_DocStringSeparator"] = 11] = "_DocStringSeparator"; + RuleType[RuleType["_TableRow"] = 12] = "_TableRow"; + RuleType[RuleType["_Language"] = 13] = "_Language"; + RuleType[RuleType["_Other"] = 14] = "_Other"; + RuleType[RuleType["GherkinDocument"] = 15] = "GherkinDocument"; + RuleType[RuleType["Feature"] = 16] = "Feature"; + RuleType[RuleType["FeatureHeader"] = 17] = "FeatureHeader"; + RuleType[RuleType["Rule"] = 18] = "Rule"; + RuleType[RuleType["RuleHeader"] = 19] = "RuleHeader"; + RuleType[RuleType["Background"] = 20] = "Background"; + RuleType[RuleType["ScenarioDefinition"] = 21] = "ScenarioDefinition"; + RuleType[RuleType["Scenario"] = 22] = "Scenario"; + RuleType[RuleType["ExamplesDefinition"] = 23] = "ExamplesDefinition"; + RuleType[RuleType["Examples"] = 24] = "Examples"; + RuleType[RuleType["ExamplesTable"] = 25] = "ExamplesTable"; + RuleType[RuleType["Step"] = 26] = "Step"; + RuleType[RuleType["StepArg"] = 27] = "StepArg"; + RuleType[RuleType["DataTable"] = 28] = "DataTable"; + RuleType[RuleType["DocString"] = 29] = "DocString"; + RuleType[RuleType["Tags"] = 30] = "Tags"; + RuleType[RuleType["DescriptionHelper"] = 31] = "DescriptionHelper"; + RuleType[RuleType["Description"] = 32] = "Description"; +})(RuleType = exports.RuleType || (exports.RuleType = {})); +class Parser { + constructor(builder, tokenMatcher) { + this.builder = builder; + this.tokenMatcher = tokenMatcher; + this.stopAtFirstError = false; + } + parse(gherkinSource) { + const tokenScanner = new TokenScanner_1.default(gherkinSource, (line, location) => { + const gherkinLine = line === null || line === undefined + ? null + : new GherkinLine_1.default(line, location.line); + return new Token(gherkinLine, location); + }); + this.builder.reset(); + this.tokenMatcher.reset(); + this.context = { + tokenScanner, + tokenQueue: [], + errors: [], + }; + this.startRule(this.context, RuleType.GherkinDocument); + let state = 0; + let token = null; + while (true) { + token = this.readToken(this.context); + state = this.matchToken(state, token, this.context); + if (token.isEof) + break; + } + this.endRule(this.context); + if (this.context.errors.length > 0) { + throw Errors_1.CompositeParserException.create(this.context.errors); + } + return this.getResult(); + } + addError(context, error) { + if (!context.errors.map(e => { return e.message; }).includes(error.message)) { + context.errors.push(error); + if (context.errors.length > 10) + throw Errors_1.CompositeParserException.create(context.errors); + } + } + startRule(context, ruleType) { + this.handleAstError(context, () => this.builder.startRule(ruleType)); + } + endRule(context) { + this.handleAstError(context, () => this.builder.endRule()); + } + build(context, token) { + this.handleAstError(context, () => this.builder.build(token)); + } + getResult() { + return this.builder.getResult(); + } + handleAstError(context, action) { + this.handleExternalError(context, true, action); + } + handleExternalError(context, defaultValue, action) { + if (this.stopAtFirstError) + return action(); + try { + return action(); + } + catch (e) { + if (e instanceof Errors_1.CompositeParserException) { + e.errors.forEach((error) => this.addError(context, error)); + } + else if (e instanceof Errors_1.ParserException || + e instanceof Errors_1.AstBuilderException || + e instanceof TokenExceptions_1.UnexpectedTokenException || + e instanceof Errors_1.NoSuchLanguageException) { + this.addError(context, e); + } + else { + throw e; + } + } + return defaultValue; + } + readToken(context) { + return context.tokenQueue.length > 0 + ? context.tokenQueue.shift() + : context.tokenScanner.read(); + } + matchToken(state, token, context) { + switch (state) { + case 0: + return this.matchTokenAt_0(token, context); + case 1: + return this.matchTokenAt_1(token, context); + case 2: + return this.matchTokenAt_2(token, context); + case 3: + return this.matchTokenAt_3(token, context); + case 4: + return this.matchTokenAt_4(token, context); + case 5: + return this.matchTokenAt_5(token, context); + case 6: + return this.matchTokenAt_6(token, context); + case 7: + return this.matchTokenAt_7(token, context); + case 8: + return this.matchTokenAt_8(token, context); + case 9: + return this.matchTokenAt_9(token, context); + case 10: + return this.matchTokenAt_10(token, context); + case 11: + return this.matchTokenAt_11(token, context); + case 12: + return this.matchTokenAt_12(token, context); + case 13: + return this.matchTokenAt_13(token, context); + case 14: + return this.matchTokenAt_14(token, context); + case 15: + return this.matchTokenAt_15(token, context); + case 16: + return this.matchTokenAt_16(token, context); + case 17: + return this.matchTokenAt_17(token, context); + case 18: + return this.matchTokenAt_18(token, context); + case 19: + return this.matchTokenAt_19(token, context); + case 20: + return this.matchTokenAt_20(token, context); + case 21: + return this.matchTokenAt_21(token, context); + case 22: + return this.matchTokenAt_22(token, context); + case 23: + return this.matchTokenAt_23(token, context); + case 24: + return this.matchTokenAt_24(token, context); + case 25: + return this.matchTokenAt_25(token, context); + case 26: + return this.matchTokenAt_26(token, context); + case 27: + return this.matchTokenAt_27(token, context); + case 28: + return this.matchTokenAt_28(token, context); + case 29: + return this.matchTokenAt_29(token, context); + case 30: + return this.matchTokenAt_30(token, context); + case 31: + return this.matchTokenAt_31(token, context); + case 32: + return this.matchTokenAt_32(token, context); + case 33: + return this.matchTokenAt_33(token, context); + case 34: + return this.matchTokenAt_34(token, context); + case 35: + return this.matchTokenAt_35(token, context); + case 36: + return this.matchTokenAt_36(token, context); + case 37: + return this.matchTokenAt_37(token, context); + case 38: + return this.matchTokenAt_38(token, context); + case 39: + return this.matchTokenAt_39(token, context); + case 40: + return this.matchTokenAt_40(token, context); + case 41: + return this.matchTokenAt_41(token, context); + case 43: + return this.matchTokenAt_43(token, context); + case 44: + return this.matchTokenAt_44(token, context); + case 45: + return this.matchTokenAt_45(token, context); + case 46: + return this.matchTokenAt_46(token, context); + case 47: + return this.matchTokenAt_47(token, context); + case 48: + return this.matchTokenAt_48(token, context); + case 49: + return this.matchTokenAt_49(token, context); + case 50: + return this.matchTokenAt_50(token, context); + default: + throw new Error("Unknown state: " + state); + } + } + // Start + matchTokenAt_0(token, context) { + if (this.match_EOF(context, token)) { + this.build(context, token); + return 42; + } + if (this.match_Language(context, token)) { + this.startRule(context, RuleType.Feature); + this.startRule(context, RuleType.FeatureHeader); + this.build(context, token); + return 1; + } + if (this.match_TagLine(context, token)) { + this.startRule(context, RuleType.Feature); + this.startRule(context, RuleType.FeatureHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 2; + } + if (this.match_FeatureLine(context, token)) { + this.startRule(context, RuleType.Feature); + this.startRule(context, RuleType.FeatureHeader); + this.build(context, token); + return 3; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 0; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 0; + } + token.detach(); + const expectedTokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 0; + } + // GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0 + matchTokenAt_1(token, context) { + if (this.match_TagLine(context, token)) { + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 2; + } + if (this.match_FeatureLine(context, token)) { + this.build(context, token); + return 3; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 1; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 1; + } + token.detach(); + const expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 1; + } + // GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0 + matchTokenAt_2(token, context) { + if (this.match_TagLine(context, token)) { + this.build(context, token); + return 2; + } + if (this.match_FeatureLine(context, token)) { + this.endRule(context); + this.build(context, token); + return 3; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 2; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 2; + } + token.detach(); + const expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 2; + } + // GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0 + matchTokenAt_3(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 3; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 5; + } + if (this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 6; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 4; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 3; + } + // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_4(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 5; + } + if (this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 6; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 4; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 4; + } + // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0 + matchTokenAt_5(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 5; + } + if (this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 6; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 5; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 5; + } + // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0 + matchTokenAt_6(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 6; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 8; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 7; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 6; + } + // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_7(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 8; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 7; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 7; + } + // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0 + matchTokenAt_8(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 8; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 8; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 8; + } + // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0 + matchTokenAt_9(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 10; + } + if (this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 49; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 9; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 9; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 9; + } + // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + matchTokenAt_10(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.build(context, token); + return 10; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 10; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 10; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 10; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0 + matchTokenAt_11(token, context) { + if (this.match_TagLine(context, token)) { + this.build(context, token); + return 11; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 11; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 11; + } + token.detach(); + const expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 11; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0 + matchTokenAt_12(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 12; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 14; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 13; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 12; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_13(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 14; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 13; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 13; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0 + matchTokenAt_14(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 14; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 14; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 14; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0 + matchTokenAt_15(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 16; + } + if (this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 47; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 15; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 15; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 15; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + matchTokenAt_16(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.build(context, token); + return 16; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 16; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 16; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 16; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0 + matchTokenAt_17(token, context) { + if (this.match_TagLine(context, token)) { + this.build(context, token); + return 17; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 17; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 17; + } + token.detach(); + const expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 17; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0 + matchTokenAt_18(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 18; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 20; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 21; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 19; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 18; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_19(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 20; + } + if (this.match_TableRow(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 21; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 19; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 19; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0 + matchTokenAt_20(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 20; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 21; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 20; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 20; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0 + matchTokenAt_21(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.build(context, token); + return 21; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 21; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 21; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 21; + } + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:0 + matchTokenAt_22(token, context) { + if (this.match_TagLine(context, token)) { + this.build(context, token); + return 22; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 22; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 22; + } + token.detach(); + const expectedTokens = ["#TagLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 22; + } + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:0 + matchTokenAt_23(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 25; + } + if (this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 26; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 24; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 23; + } + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_24(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 25; + } + if (this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 26; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 24; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 24; + } + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:0 + matchTokenAt_25(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 25; + } + if (this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 26; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 25; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 25; + } + // GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0 + matchTokenAt_26(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 26; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 28; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 27; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 26; + } + // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_27(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 28; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 27; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 27; + } + // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0 + matchTokenAt_28(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 28; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 28; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 28; + } + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0 + matchTokenAt_29(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 30; + } + if (this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 45; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 29; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 29; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 29; + } + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + matchTokenAt_30(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.build(context, token); + return 30; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 30; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 30; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 30; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0 + matchTokenAt_31(token, context) { + if (this.match_TagLine(context, token)) { + this.build(context, token); + return 31; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 31; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 31; + } + token.detach(); + const expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 31; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0 + matchTokenAt_32(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 32; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 34; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 33; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 32; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_33(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 34; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 33; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 33; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0 + matchTokenAt_34(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 34; + } + if (this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 34; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 34; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0 + matchTokenAt_35(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 36; + } + if (this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 43; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 35; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 35; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 35; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + matchTokenAt_36(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.build(context, token); + return 36; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 36; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 36; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 36; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0 + matchTokenAt_37(token, context) { + if (this.match_TagLine(context, token)) { + this.build(context, token); + return 37; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 37; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 37; + } + token.detach(); + const expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 37; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0 + matchTokenAt_38(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 38; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 40; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 41; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 39; + } + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 38; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0 + matchTokenAt_39(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 40; + } + if (this.match_TableRow(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 41; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 39; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 39; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0 + matchTokenAt_40(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 40; + } + if (this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 41; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 40; + } + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 40; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0 + matchTokenAt_41(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_TableRow(context, token)) { + this.build(context, token); + return 41; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 41; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 41; + } + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 41; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + matchTokenAt_43(token, context) { + if (this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 44; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 43; + } + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 43; + } + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + matchTokenAt_44(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 44; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 44; + } + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 44; + } + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + matchTokenAt_45(token, context) { + if (this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 46; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 45; + } + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 45; + } + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + matchTokenAt_46(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 46; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 46; + } + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 46; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + matchTokenAt_47(token, context) { + if (this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 48; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 47; + } + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 47; + } + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + matchTokenAt_48(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 48; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 48; + } + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 48; + } + // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + matchTokenAt_49(token, context) { + if (this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 50; + } + if (this.match_Other(context, token)) { + this.build(context, token); + return 49; + } + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 49; + } + // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + matchTokenAt_50(token, context) { + if (this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if (this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if (this.match_TagLine(context, token)) { + if (this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if (this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if (this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if (this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if (this.match_Comment(context, token)) { + this.build(context, token); + return 50; + } + if (this.match_Empty(context, token)) { + this.build(context, token); + return 50; + } + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + TokenExceptions_1.UnexpectedEOFException.create(token, expectedTokens) : + TokenExceptions_1.UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) + throw error; + this.addError(context, error); + return 50; + } + match_EOF(context, token) { + return this.handleExternalError(context, false, () => this.tokenMatcher.match_EOF(token)); + } + match_Empty(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Empty(token)); + } + match_Comment(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Comment(token)); + } + match_TagLine(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_TagLine(token)); + } + match_FeatureLine(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_FeatureLine(token)); + } + match_RuleLine(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_RuleLine(token)); + } + match_BackgroundLine(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_BackgroundLine(token)); + } + match_ScenarioLine(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_ScenarioLine(token)); + } + match_ExamplesLine(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_ExamplesLine(token)); + } + match_StepLine(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_StepLine(token)); + } + match_DocStringSeparator(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_DocStringSeparator(token)); + } + match_TableRow(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_TableRow(token)); + } + match_Language(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Language(token)); + } + match_Other(context, token) { + if (token.isEof) + return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Other(token)); + } + lookahead_0(context, currentToken) { + currentToken.detach(); + let token; + const queue = []; + let match = false; + do { + token = this.readToken(this.context); + token.detach(); + queue.push(token); + if (false || this.match_ScenarioLine(context, token)) { + match = true; + break; + } + } while (false || this.match_Empty(context, token) || this.match_Comment(context, token) || this.match_TagLine(context, token)); + context.tokenQueue = context.tokenQueue.concat(queue); + return match; + } + lookahead_1(context, currentToken) { + currentToken.detach(); + let token; + const queue = []; + let match = false; + do { + token = this.readToken(this.context); + token.detach(); + queue.push(token); + if (false || this.match_ExamplesLine(context, token)) { + match = true; + break; + } + } while (false || this.match_Empty(context, token) || this.match_Comment(context, token) || this.match_TagLine(context, token)); + context.tokenQueue = context.tokenQueue.concat(queue); + return match; + } +} +exports.default = Parser; +//# sourceMappingURL=Parser.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/Parser.js.map b/node_modules/@cucumber/gherkin/dist/src/Parser.js.map new file mode 100644 index 0000000..eca4f62 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/Parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/Parser.ts"],"names":[],"mappings":"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IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC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"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.d.ts b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.d.ts new file mode 100644 index 0000000..baf60eb --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.d.ts @@ -0,0 +1,9 @@ +import IToken from './IToken'; +import { GherkinException } from './Errors'; +export declare class UnexpectedTokenException extends GherkinException { + static create(token: IToken, expectedTokenTypes: string[]): GherkinException; +} +export declare class UnexpectedEOFException extends GherkinException { + static create(token: IToken, expectedTokenTypes: string[]): GherkinException; +} +//# sourceMappingURL=TokenExceptions.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.d.ts.map new file mode 100644 index 0000000..2528c75 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenExceptions.d.ts","sourceRoot":"","sources":["../../src/TokenExceptions.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,wBAAyB,SAAQ,gBAAgB;WAC9C,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE;CASvF;AAED,qBAAa,sBAAuB,SAAQ,gBAAgB;WAC5C,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE;CAMvF"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.js b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.js new file mode 100644 index 0000000..ac6c21f --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.js @@ -0,0 +1,33 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UnexpectedEOFException = exports.UnexpectedTokenException = void 0; +const createLocation_1 = __importDefault(require("./createLocation")); +const Errors_1 = require("./Errors"); +class UnexpectedTokenException extends Errors_1.GherkinException { + static create(token, expectedTokenTypes) { + const message = `expected: ${expectedTokenTypes.join(', ')}, got '${token.getTokenValue().trim()}'`; + const location = tokenLocation(token); + return this._create(message, location); + } +} +exports.UnexpectedTokenException = UnexpectedTokenException; +class UnexpectedEOFException extends Errors_1.GherkinException { + static create(token, expectedTokenTypes) { + const message = `unexpected end of file, expected: ${expectedTokenTypes.join(', ')}`; + const location = tokenLocation(token); + return this._create(message, location); + } +} +exports.UnexpectedEOFException = UnexpectedEOFException; +function tokenLocation(token) { + return token.location && token.location.line && token.line && token.line.indent !== undefined + ? createLocation_1.default({ + line: token.location.line, + column: token.line.indent + 1, + }) + : token.location; +} +//# sourceMappingURL=TokenExceptions.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.js.map b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.js.map new file mode 100644 index 0000000..9b502b0 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenExceptions.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenExceptions.js","sourceRoot":"","sources":["../../src/TokenExceptions.ts"],"names":[],"mappings":";;;;;;AACA,sEAA6C;AAC7C,qCAA2C;AAE3C,MAAa,wBAAyB,SAAQ,yBAAgB;IACrD,MAAM,CAAC,MAAM,CAAY,KAAwB,EAAE,kBAA4B;QACpF,MAAM,OAAO,GAAG,aAAa,kBAAkB,CAAC,IAAI,CAClD,IAAI,CACL,UAAU,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,CAAA;QAE1C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAErC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;CACF;AAVD,4DAUC;AAED,MAAa,sBAAuB,SAAQ,yBAAgB;IACnD,MAAM,CAAC,MAAM,CAAY,KAAwB,EAAE,kBAA4B;QACpF,MAAM,OAAO,GAAG,qCAAqC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACpF,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAErC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;CACF;AAPD,wDAOC;AAED,SAAS,aAAa,CAAY,KAAwB;IACxD,OAAO,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;QAC3F,CAAC,CAAC,wBAAc,CAAC;YACb,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;SAC9B,CAAC;QACJ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;AACpB,CAAC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.d.ts b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.d.ts new file mode 100644 index 0000000..82c6282 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.d.ts @@ -0,0 +1,33 @@ +import { messages } from '@cucumber/messages'; +import IToken from './IToken'; +import { TokenType } from './Parser'; +import ITokenMatcher from './ITokenMatcher'; +export default class TokenMatcher implements ITokenMatcher { + private readonly defaultDialectName; + private dialect; + private dialectName; + private activeDocStringSeparator; + private indentToRemove; + constructor(defaultDialectName?: string); + changeDialect(newDialectName: string, location?: messages.ILocation): void; + reset(): void; + match_TagLine(token: IToken): boolean; + match_FeatureLine(token: IToken): boolean; + match_ScenarioLine(token: IToken): boolean; + match_BackgroundLine(token: IToken): boolean; + match_ExamplesLine(token: IToken): boolean; + match_RuleLine(token: IToken): boolean; + match_TableRow(token: IToken): boolean; + match_Empty(token: IToken): boolean; + match_Comment(token: IToken): boolean; + match_Language(token: IToken): boolean; + match_DocStringSeparator(token: IToken): boolean; + _match_DocStringSeparator(token: IToken, separator: string, isOpen: boolean): boolean; + match_EOF(token: IToken): boolean; + match_StepLine(token: IToken): boolean; + match_Other(token: IToken): boolean; + matchTitleLine(token: IToken, tokenType: TokenType, keywords: readonly string[]): boolean; + private setTokenMatched; + private unescapeDocString; +} +//# sourceMappingURL=TokenMatcher.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.d.ts.map new file mode 100644 index 0000000..5276d80 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenMatcher.d.ts","sourceRoot":"","sources":["../../src/TokenMatcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAK3C,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,aAAa,CAAC,SAAS,CAAC;IAMvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAL/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,cAAc,CAAQ;gBAED,kBAAkB,GAAE,MAAa;IAI9D,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS;IAUnE,KAAK;IAQL,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAQtC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAI1C,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAO3C,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAI7C,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAI3C,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAIvC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IASvC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAQpC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAStC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAYvC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAS1C,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAmB7F,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAQlC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAiBvC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;IAMpC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE;IAW1F,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,iBAAiB;CAS1B"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.js b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.js new file mode 100644 index 0000000..1b5c494 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.js @@ -0,0 +1,172 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const gherkin_languages_json_1 = __importDefault(require("./gherkin-languages.json")); +const Errors_1 = require("./Errors"); +const Parser_1 = require("./Parser"); +const DIALECT_DICT = gherkin_languages_json_1.default; +const LANGUAGE_PATTERN = /^\s*#\s*language\s*:\s*([a-zA-Z\-_]+)\s*$/; +class TokenMatcher { + constructor(defaultDialectName = 'en') { + this.defaultDialectName = defaultDialectName; + this.reset(); + } + changeDialect(newDialectName, location) { + const newDialect = DIALECT_DICT[newDialectName]; + if (!newDialect) { + throw Errors_1.NoSuchLanguageException.create(newDialectName, location); + } + this.dialectName = newDialectName; + this.dialect = newDialect; + } + reset() { + if (this.dialectName !== this.defaultDialectName) { + this.changeDialect(this.defaultDialectName); + } + this.activeDocStringSeparator = null; + this.indentToRemove = 0; + } + match_TagLine(token) { + if (token.line.startsWith('@')) { + this.setTokenMatched(token, Parser_1.TokenType.TagLine, null, null, null, token.line.getTags()); + return true; + } + return false; + } + match_FeatureLine(token) { + return this.matchTitleLine(token, Parser_1.TokenType.FeatureLine, this.dialect.feature); + } + match_ScenarioLine(token) { + return (this.matchTitleLine(token, Parser_1.TokenType.ScenarioLine, this.dialect.scenario) || + this.matchTitleLine(token, Parser_1.TokenType.ScenarioLine, this.dialect.scenarioOutline)); + } + match_BackgroundLine(token) { + return this.matchTitleLine(token, Parser_1.TokenType.BackgroundLine, this.dialect.background); + } + match_ExamplesLine(token) { + return this.matchTitleLine(token, Parser_1.TokenType.ExamplesLine, this.dialect.examples); + } + match_RuleLine(token) { + return this.matchTitleLine(token, Parser_1.TokenType.RuleLine, this.dialect.rule); + } + match_TableRow(token) { + if (token.line.startsWith('|')) { + // TODO: indent + this.setTokenMatched(token, Parser_1.TokenType.TableRow, null, null, null, token.line.getTableCells()); + return true; + } + return false; + } + match_Empty(token) { + if (token.line.isEmpty) { + this.setTokenMatched(token, Parser_1.TokenType.Empty, null, null, 0); + return true; + } + return false; + } + match_Comment(token) { + if (token.line.startsWith('#')) { + const text = token.line.getLineText(0); // take the entire line, including leading space + this.setTokenMatched(token, Parser_1.TokenType.Comment, text, null, 0); + return true; + } + return false; + } + match_Language(token) { + const match = token.line.trimmedLineText.match(LANGUAGE_PATTERN); + if (match) { + const newDialectName = match[1]; + this.setTokenMatched(token, Parser_1.TokenType.Language, newDialectName); + this.changeDialect(newDialectName, token.location); + return true; + } + return false; + } + match_DocStringSeparator(token) { + return this.activeDocStringSeparator == null + ? // open + this._match_DocStringSeparator(token, '"""', true) || + this._match_DocStringSeparator(token, '```', true) + : // close + this._match_DocStringSeparator(token, this.activeDocStringSeparator, false); + } + _match_DocStringSeparator(token, separator, isOpen) { + if (token.line.startsWith(separator)) { + let mediaType = null; + if (isOpen) { + mediaType = token.line.getRestTrimmed(separator.length); + this.activeDocStringSeparator = separator; + this.indentToRemove = token.line.indent; + } + else { + this.activeDocStringSeparator = null; + this.indentToRemove = 0; + } + // TODO: Use the separator as keyword. That's needed for pretty printing. + this.setTokenMatched(token, Parser_1.TokenType.DocStringSeparator, mediaType); + return true; + } + return false; + } + match_EOF(token) { + if (token.isEof) { + this.setTokenMatched(token, Parser_1.TokenType.EOF); + return true; + } + return false; + } + match_StepLine(token) { + const keywords = [] + .concat(this.dialect.given) + .concat(this.dialect.when) + .concat(this.dialect.then) + .concat(this.dialect.and) + .concat(this.dialect.but); + for (const keyword of keywords) { + if (token.line.startsWith(keyword)) { + const title = token.line.getRestTrimmed(keyword.length); + this.setTokenMatched(token, Parser_1.TokenType.StepLine, title, keyword); + return true; + } + } + return false; + } + match_Other(token) { + const text = token.line.getLineText(this.indentToRemove); // take the entire line, except removing DocString indents + this.setTokenMatched(token, Parser_1.TokenType.Other, this.unescapeDocString(text), null, 0); + return true; + } + matchTitleLine(token, tokenType, keywords) { + for (const keyword of keywords) { + if (token.line.startsWithTitleKeyword(keyword)) { + const title = token.line.getRestTrimmed(keyword.length + ':'.length); + this.setTokenMatched(token, tokenType, title, keyword); + return true; + } + } + return false; + } + setTokenMatched(token, matchedType, text, keyword, indent, items) { + token.matchedType = matchedType; + token.matchedText = text; + token.matchedKeyword = keyword; + token.matchedIndent = + typeof indent === 'number' ? indent : token.line == null ? 0 : token.line.indent; + token.matchedItems = items || []; + token.location.column = token.matchedIndent + 1; + token.matchedGherkinDialect = this.dialectName; + } + unescapeDocString(text) { + if (this.activeDocStringSeparator === '"""') { + return text.replace('\\"\\"\\"', '"""'); + } + if (this.activeDocStringSeparator === '```') { + return text.replace('\\`\\`\\`', '```'); + } + return text; + } +} +exports.default = TokenMatcher; +//# sourceMappingURL=TokenMatcher.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.js.map b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.js.map new file mode 100644 index 0000000..6235fd4 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenMatcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenMatcher.js","sourceRoot":"","sources":["../../src/TokenMatcher.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts new file mode 100644 index 0000000..7a05aa6 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts @@ -0,0 +1,17 @@ +import IToken from './IToken'; +import { messages } from '@cucumber/messages'; +/** + * The scanner reads a gherkin doc (typically read from a .feature file) and creates a token for each line. + * The tokens are passed to the parser, which outputs an AST (Abstract Syntax Tree). + * + * If the scanner sees a `#` language header, it will reconfigure itself dynamically to look for + * Gherkin keywords for the associated language. The keywords are defined in gherkin-languages.json. + */ +export default class TokenScanner { + private readonly makeToken; + private lineNumber; + private lines; + constructor(source: string, makeToken: (line: string, location: messages.ILocation) => IToken); + read(): IToken; +} +//# sourceMappingURL=TokenScanner.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts.map new file mode 100644 index 0000000..4401e3d --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenScanner.d.ts","sourceRoot":"","sources":["../../src/TokenScanner.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,SAAS;IAMvC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,KAAK,CAAU;gBAGrB,MAAM,EAAE,MAAM,EACG,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC;IAQxF,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC;CAQjC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenScanner.js b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.js new file mode 100644 index 0000000..c29edaa --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.js @@ -0,0 +1,33 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const createLocation_1 = __importDefault(require("./createLocation")); +/** + * The scanner reads a gherkin doc (typically read from a .feature file) and creates a token for each line. + * The tokens are passed to the parser, which outputs an AST (Abstract Syntax Tree). + * + * If the scanner sees a `#` language header, it will reconfigure itself dynamically to look for + * Gherkin keywords for the associated language. The keywords are defined in gherkin-languages.json. + */ +class TokenScanner { + constructor(source, makeToken) { + this.makeToken = makeToken; + this.lineNumber = 0; + this.lines = source.split(/\r?\n/); + if (this.lines.length > 0 && this.lines[this.lines.length - 1].trim() === '') { + this.lines.pop(); + } + } + read() { + const line = this.lines[this.lineNumber++]; + const location = createLocation_1.default({ + line: this.lineNumber, + }); + location.column = undefined; + return this.makeToken(line, location); + } +} +exports.default = TokenScanner; +//# sourceMappingURL=TokenScanner.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/TokenScanner.js.map b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.js.map new file mode 100644 index 0000000..9456ea1 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/TokenScanner.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenScanner.js","sourceRoot":"","sources":["../../src/TokenScanner.ts"],"names":[],"mappings":";;;;;AAAA,sEAA6C;AAI7C;;;;;;GAMG;AACH,MAAqB,YAAY;IAI/B,YACE,MAAc,EACG,SAA4E;QAA5E,cAAS,GAAT,SAAS,CAAmE;QALvF,eAAU,GAAG,CAAC,CAAA;QAOpB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5E,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;SACjB;IACH,CAAC;IAEM,IAAI;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,wBAAc,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,UAAU;SACtB,CAAC,CAAA;QACF,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;CACF;AAtBD,+BAsBC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/countSymbols.d.ts b/node_modules/@cucumber/gherkin/dist/src/countSymbols.d.ts new file mode 100644 index 0000000..cde12dd --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/countSymbols.d.ts @@ -0,0 +1,2 @@ +export default function countSymbols(s: string): number; +//# sourceMappingURL=countSymbols.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/countSymbols.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/countSymbols.d.ts.map new file mode 100644 index 0000000..ac0b88d --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/countSymbols.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"countSymbols.d.ts","sourceRoot":"","sources":["../../src/countSymbols.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAAE,MAAM,UAE7C"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/countSymbols.js b/node_modules/@cucumber/gherkin/dist/src/countSymbols.js new file mode 100644 index 0000000..d0fb5eb --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/countSymbols.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// https://mathiasbynens.be/notes/javascript-unicode +const regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; +function countSymbols(s) { + return s.replace(regexAstralSymbols, '_').length; +} +exports.default = countSymbols; +//# sourceMappingURL=countSymbols.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/countSymbols.js.map b/node_modules/@cucumber/gherkin/dist/src/countSymbols.js.map new file mode 100644 index 0000000..e94bd6f --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/countSymbols.js.map @@ -0,0 +1 @@ +{"version":3,"file":"countSymbols.js","sourceRoot":"","sources":["../../src/countSymbols.ts"],"names":[],"mappings":";;AAAA,oDAAoD;AACpD,MAAM,kBAAkB,GAAG,iCAAiC,CAAA;AAE5D,SAAwB,YAAY,CAAC,CAAS;IAC5C,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAA;AAClD,CAAC;AAFD,+BAEC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/createLocation.d.ts b/node_modules/@cucumber/gherkin/dist/src/createLocation.d.ts new file mode 100644 index 0000000..b5b831d --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/createLocation.d.ts @@ -0,0 +1,6 @@ +import { messages } from '@cucumber/messages'; +export default function createLocation(props: { + line?: number; + column?: number; +}): messages.ILocation; +//# sourceMappingURL=createLocation.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/createLocation.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/createLocation.d.ts.map new file mode 100644 index 0000000..ea79384 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/createLocation.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createLocation.d.ts","sourceRoot":"","sources":["../../src/createLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,QAAQ,CAAC,SAAS,CAUrB"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/createLocation.js b/node_modules/@cucumber/gherkin/dist/src/createLocation.js new file mode 100644 index 0000000..8cdd2d1 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/createLocation.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const messages_1 = require("@cucumber/messages"); +function createLocation(props) { + const location = messages_1.messages.Location.create(props); + if (location.line === 0) { + location.line = undefined; + } + if (location.column === 0) { + location.column = undefined; + } + return location; +} +exports.default = createLocation; +//# sourceMappingURL=createLocation.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/createLocation.js.map b/node_modules/@cucumber/gherkin/dist/src/createLocation.js.map new file mode 100644 index 0000000..2959623 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/createLocation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createLocation.js","sourceRoot":"","sources":["../../src/createLocation.ts"],"names":[],"mappings":";;AAAA,iDAA6C;AAE7C,SAAwB,cAAc,CAAC,KAGtC;IACC,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;QACvB,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAA;KAC1B;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;KAC5B;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAbD,iCAaC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts b/node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts new file mode 100644 index 0000000..f976b4c --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts @@ -0,0 +1,4 @@ +import { messages } from '@cucumber/messages'; +import IGherkinOptions from './IGherkinOptions'; +export default function generateMessages(data: string, uri: string, options: IGherkinOptions): readonly messages.IEnvelope[]; +//# sourceMappingURL=generateMessages.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts.map new file mode 100644 index 0000000..b188654 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"generateMessages.d.ts","sourceRoot":"","sources":["../../src/generateMessages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAG/C,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,eAAe,GACvB,SAAS,QAAQ,CAAC,SAAS,EAAE,CA6D/B"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/generateMessages.js b/node_modules/@cucumber/gherkin/dist/src/generateMessages.js new file mode 100644 index 0000000..db7c08f --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/generateMessages.js @@ -0,0 +1,62 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const Parser_1 = __importDefault(require("./Parser")); +const TokenMatcher_1 = __importDefault(require("./TokenMatcher")); +const messages_1 = require("@cucumber/messages"); +const compile_1 = __importDefault(require("./pickles/compile")); +const AstBuilder_1 = __importDefault(require("./AstBuilder")); +const makeSourceEnvelope_1 = __importDefault(require("./makeSourceEnvelope")); +function generateMessages(data, uri, options) { + const result = []; + try { + if (options.includeSource) { + result.push(makeSourceEnvelope_1.default(data, uri)); + } + if (!options.includeGherkinDocument && !options.includePickles) { + return result; + } + const parser = new Parser_1.default(new AstBuilder_1.default(options.newId), new TokenMatcher_1.default(options.defaultDialect)); + parser.stopAtFirstError = false; + const gherkinDocument = parser.parse(data); + if (options.includeGherkinDocument) { + result.push(messages_1.messages.Envelope.create({ + gherkinDocument: Object.assign(Object.assign({}, gherkinDocument), { uri }), + })); + } + if (options.includePickles) { + const pickles = compile_1.default(gherkinDocument, uri, options.newId); + for (const pickle of pickles) { + result.push(messages_1.messages.Envelope.create({ + pickle, + })); + } + } + } + catch (err) { + const errors = err.errors || [err]; + for (const error of errors) { + if (!error.location) { + // It wasn't a parser error - throw it (this is unexpected) + throw error; + } + result.push(messages_1.messages.Envelope.create({ + parseError: { + source: { + uri, + location: { + line: error.location.line, + column: error.location.column, + }, + }, + message: error.message, + }, + })); + } + } + return result; +} +exports.default = generateMessages; +//# sourceMappingURL=generateMessages.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/generateMessages.js.map b/node_modules/@cucumber/gherkin/dist/src/generateMessages.js.map new file mode 100644 index 0000000..cc86c8d --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/generateMessages.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generateMessages.js","sourceRoot":"","sources":["../../src/generateMessages.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,kEAAyC;AACzC,iDAA6C;AAC7C,gEAAuC;AACvC,8DAAqC;AAErC,8EAAqD;AAErD,SAAwB,gBAAgB,CACtC,IAAY,EACZ,GAAW,EACX,OAAwB;IAExB,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,IAAI;QACF,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,4BAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;SAC3C;QAED,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC9D,OAAO,MAAM,CAAA;SACd;QAED,MAAM,MAAM,GAAG,IAAI,gBAAM,CACvB,IAAI,oBAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,IAAI,sBAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CACzC,CAAA;QACD,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAA;QAC/B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,OAAO,CAAC,sBAAsB,EAAE;YAClC,MAAM,CAAC,IAAI,CACT,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvB,eAAe,kCAAO,eAAe,KAAE,GAAG,GAAE;aAC7C,CAAC,CACH,CAAA;SACF;QAED,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,OAAO,GAAG,iBAAO,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;YAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,MAAM,CAAC,IAAI,CACT,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACvB,MAAM;iBACP,CAAC,CACH,CAAA;aACF;SACF;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACnB,2DAA2D;gBAC3D,MAAM,KAAK,CAAA;aACZ;YACD,MAAM,CAAC,IAAI,CACT,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvB,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,GAAG;wBACH,QAAQ,EAAE;4BACR,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;4BACzB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;yBAC9B;qBACF;oBACD,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC,CACH,CAAA;SACF;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAjED,mCAiEC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/gherkin-languages.json b/node_modules/@cucumber/gherkin/dist/src/gherkin-languages.json new file mode 100644 index 0000000..0b5fed8 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/gherkin-languages.json @@ -0,0 +1,3630 @@ +{ + "af": { + "and": [ + "* ", + "En " + ], + "background": [ + "Agtergrond" + ], + "but": [ + "* ", + "Maar " + ], + "examples": [ + "Voorbeelde" + ], + "feature": [ + "Funksie", + "Besigheid Behoefte", + "Vermoë" + ], + "given": [ + "* ", + "Gegewe " + ], + "name": "Afrikaans", + "native": "Afrikaans", + "rule": [ + "Rule" + ], + "scenario": [ + "Voorbeeld", + "Situasie" + ], + "scenarioOutline": [ + "Situasie Uiteensetting" + ], + "then": [ + "* ", + "Dan " + ], + "when": [ + "* ", + "Wanneer " + ] + }, + "am": { + "and": [ + "* ", + "Եվ " + ], + "background": [ + "Կոնտեքստ" + ], + "but": [ + "* ", + "Բայց " + ], + "examples": [ + "Օրինակներ" + ], + "feature": [ + "Ֆունկցիոնալություն", + "Հատկություն" + ], + "given": [ + "* ", + "Դիցուք " + ], + "name": "Armenian", + "native": "հայերեն", + "rule": [ + "Rule" + ], + "scenario": [ + "Օրինակ", + "Սցենար" + ], + "scenarioOutline": [ + "Սցենարի կառուցվացքը" + ], + "then": [ + "* ", + "Ապա " + ], + "when": [ + "* ", + "Եթե ", + "Երբ " + ] + }, + "an": { + "and": [ + "* ", + "Y ", + "E " + ], + "background": [ + "Antecedents" + ], + "but": [ + "* ", + "Pero " + ], + "examples": [ + "Eixemplos" + ], + "feature": [ + "Caracteristica" + ], + "given": [ + "* ", + "Dau ", + "Dada ", + "Daus ", + "Dadas " + ], + "name": "Aragonese", + "native": "Aragonés", + "rule": [ + "Rule" + ], + "scenario": [ + "Eixemplo", + "Caso" + ], + "scenarioOutline": [ + "Esquema del caso" + ], + "then": [ + "* ", + "Alavez ", + "Allora ", + "Antonces " + ], + "when": [ + "* ", + "Cuan " + ] + }, + "ar": { + "and": [ + "* ", + "و " + ], + "background": [ + "الخلفية" + ], + "but": [ + "* ", + "لكن " + ], + "examples": [ + "امثلة" + ], + "feature": [ + "خاصية" + ], + "given": [ + "* ", + "بفرض " + ], + "name": "Arabic", + "native": "العربية", + "rule": [ + "Rule" + ], + "scenario": [ + "مثال", + "سيناريو" + ], + "scenarioOutline": [ + "سيناريو مخطط" + ], + "then": [ + "* ", + "اذاً ", + "ثم " + ], + "when": [ + "* ", + "متى ", + "عندما " + ] + }, + "ast": { + "and": [ + "* ", + "Y ", + "Ya " + ], + "background": [ + "Antecedentes" + ], + "but": [ + "* ", + "Peru " + ], + "examples": [ + "Exemplos" + ], + "feature": [ + "Carauterística" + ], + "given": [ + "* ", + "Dáu ", + "Dada ", + "Daos ", + "Daes " + ], + "name": "Asturian", + "native": "asturianu", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemplo", + "Casu" + ], + "scenarioOutline": [ + "Esbozu del casu" + ], + "then": [ + "* ", + "Entós " + ], + "when": [ + "* ", + "Cuando " + ] + }, + "az": { + "and": [ + "* ", + "Və ", + "Həm " + ], + "background": [ + "Keçmiş", + "Kontekst" + ], + "but": [ + "* ", + "Amma ", + "Ancaq " + ], + "examples": [ + "Nümunələr" + ], + "feature": [ + "Özəllik" + ], + "given": [ + "* ", + "Tutaq ki ", + "Verilir " + ], + "name": "Azerbaijani", + "native": "Azərbaycanca", + "rule": [ + "Rule" + ], + "scenario": [ + "Nümunə", + "Ssenari" + ], + "scenarioOutline": [ + "Ssenarinin strukturu" + ], + "then": [ + "* ", + "O halda " + ], + "when": [ + "* ", + "Əgər ", + "Nə vaxt ki " + ] + }, + "bg": { + "and": [ + "* ", + "И " + ], + "background": [ + "Предистория" + ], + "but": [ + "* ", + "Но " + ], + "examples": [ + "Примери" + ], + "feature": [ + "Функционалност" + ], + "given": [ + "* ", + "Дадено " + ], + "name": "Bulgarian", + "native": "български", + "rule": [ + "Rule" + ], + "scenario": [ + "Пример", + "Сценарий" + ], + "scenarioOutline": [ + "Рамка на сценарий" + ], + "then": [ + "* ", + "То " + ], + "when": [ + "* ", + "Когато " + ] + }, + "bm": { + "and": [ + "* ", + "Dan " + ], + "background": [ + "Latar Belakang" + ], + "but": [ + "* ", + "Tetapi ", + "Tapi " + ], + "examples": [ + "Contoh" + ], + "feature": [ + "Fungsi" + ], + "given": [ + "* ", + "Diberi ", + "Bagi " + ], + "name": "Malay", + "native": "Bahasa Melayu", + "rule": [ + "Rule" + ], + "scenario": [ + "Senario", + "Situasi", + "Keadaan" + ], + "scenarioOutline": [ + "Kerangka Senario", + "Kerangka Situasi", + "Kerangka Keadaan", + "Garis Panduan Senario" + ], + "then": [ + "* ", + "Maka ", + "Kemudian " + ], + "when": [ + "* ", + "Apabila " + ] + }, + "bs": { + "and": [ + "* ", + "I ", + "A " + ], + "background": [ + "Pozadina" + ], + "but": [ + "* ", + "Ali " + ], + "examples": [ + "Primjeri" + ], + "feature": [ + "Karakteristika" + ], + "given": [ + "* ", + "Dato " + ], + "name": "Bosnian", + "native": "Bosanski", + "rule": [ + "Rule" + ], + "scenario": [ + "Primjer", + "Scenariju", + "Scenario" + ], + "scenarioOutline": [ + "Scenariju-obris", + "Scenario-outline" + ], + "then": [ + "* ", + "Zatim " + ], + "when": [ + "* ", + "Kada " + ] + }, + "ca": { + "and": [ + "* ", + "I " + ], + "background": [ + "Rerefons", + "Antecedents" + ], + "but": [ + "* ", + "Però " + ], + "examples": [ + "Exemples" + ], + "feature": [ + "Característica", + "Funcionalitat" + ], + "given": [ + "* ", + "Donat ", + "Donada ", + "Atès ", + "Atesa " + ], + "name": "Catalan", + "native": "català", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemple", + "Escenari" + ], + "scenarioOutline": [ + "Esquema de l'escenari" + ], + "then": [ + "* ", + "Aleshores ", + "Cal " + ], + "when": [ + "* ", + "Quan " + ] + }, + "cs": { + "and": [ + "* ", + "A také ", + "A " + ], + "background": [ + "Pozadí", + "Kontext" + ], + "but": [ + "* ", + "Ale " + ], + "examples": [ + "Příklady" + ], + "feature": [ + "Požadavek" + ], + "given": [ + "* ", + "Pokud ", + "Za předpokladu " + ], + "name": "Czech", + "native": "Česky", + "rule": [ + "Rule" + ], + "scenario": [ + "Příklad", + "Scénář" + ], + "scenarioOutline": [ + "Náčrt Scénáře", + "Osnova scénáře" + ], + "then": [ + "* ", + "Pak " + ], + "when": [ + "* ", + "Když " + ] + }, + "cy-GB": { + "and": [ + "* ", + "A " + ], + "background": [ + "Cefndir" + ], + "but": [ + "* ", + "Ond " + ], + "examples": [ + "Enghreifftiau" + ], + "feature": [ + "Arwedd" + ], + "given": [ + "* ", + "Anrhegedig a " + ], + "name": "Welsh", + "native": "Cymraeg", + "rule": [ + "Rule" + ], + "scenario": [ + "Enghraifft", + "Scenario" + ], + "scenarioOutline": [ + "Scenario Amlinellol" + ], + "then": [ + "* ", + "Yna " + ], + "when": [ + "* ", + "Pryd " + ] + }, + "da": { + "and": [ + "* ", + "Og " + ], + "background": [ + "Baggrund" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Eksempler" + ], + "feature": [ + "Egenskab" + ], + "given": [ + "* ", + "Givet " + ], + "name": "Danish", + "native": "dansk", + "rule": [ + "Rule" + ], + "scenario": [ + "Eksempel", + "Scenarie" + ], + "scenarioOutline": [ + "Abstrakt Scenario" + ], + "then": [ + "* ", + "Så " + ], + "when": [ + "* ", + "Når " + ] + }, + "de": { + "and": [ + "* ", + "Und " + ], + "background": [ + "Grundlage", + "Hintergrund", + "Voraussetzungen", + "Vorbedingungen" + ], + "but": [ + "* ", + "Aber " + ], + "examples": [ + "Beispiele" + ], + "feature": [ + "Funktionalität", + "Funktion" + ], + "given": [ + "* ", + "Angenommen ", + "Gegeben sei ", + "Gegeben seien " + ], + "name": "German", + "native": "Deutsch", + "rule": [ + "Rule", + "Regel" + ], + "scenario": [ + "Beispiel", + "Szenario" + ], + "scenarioOutline": [ + "Szenariogrundriss", + "Szenarien" + ], + "then": [ + "* ", + "Dann " + ], + "when": [ + "* ", + "Wenn " + ] + }, + "el": { + "and": [ + "* ", + "Και " + ], + "background": [ + "Υπόβαθρο" + ], + "but": [ + "* ", + "Αλλά " + ], + "examples": [ + "Παραδείγματα", + "Σενάρια" + ], + "feature": [ + "Δυνατότητα", + "Λειτουργία" + ], + "given": [ + "* ", + "Δεδομένου " + ], + "name": "Greek", + "native": "Ελληνικά", + "rule": [ + "Rule" + ], + "scenario": [ + "Παράδειγμα", + "Σενάριο" + ], + "scenarioOutline": [ + "Περιγραφή Σεναρίου", + "Περίγραμμα Σεναρίου" + ], + "then": [ + "* ", + "Τότε " + ], + "when": [ + "* ", + "Όταν " + ] + }, + "em": { + "and": [ + "* ", + "😂" + ], + "background": [ + "💤" + ], + "but": [ + "* ", + "😔" + ], + "examples": [ + "📓" + ], + "feature": [ + "📚" + ], + "given": [ + "* ", + "😐" + ], + "name": "Emoji", + "native": "😀", + "rule": [ + "Rule" + ], + "scenario": [ + "🥒", + "📕" + ], + "scenarioOutline": [ + "📖" + ], + "then": [ + "* ", + "🙏" + ], + "when": [ + "* ", + "🎬" + ] + }, + "en": { + "and": [ + "* ", + "And " + ], + "background": [ + "Background" + ], + "but": [ + "* ", + "But " + ], + "examples": [ + "Examples", + "Scenarios" + ], + "feature": [ + "Feature", + "Business Need", + "Ability" + ], + "given": [ + "* ", + "Given " + ], + "name": "English", + "native": "English", + "rule": [ + "Rule" + ], + "scenario": [ + "Example", + "Scenario" + ], + "scenarioOutline": [ + "Scenario Outline", + "Scenario Template" + ], + "then": [ + "* ", + "Then " + ], + "when": [ + "* ", + "When " + ] + }, + "en-Scouse": { + "and": [ + "* ", + "An " + ], + "background": [ + "Dis is what went down" + ], + "but": [ + "* ", + "Buh " + ], + "examples": [ + "Examples" + ], + "feature": [ + "Feature" + ], + "given": [ + "* ", + "Givun ", + "Youse know when youse got " + ], + "name": "Scouse", + "native": "Scouse", + "rule": [ + "Rule" + ], + "scenario": [ + "The thing of it is" + ], + "scenarioOutline": [ + "Wharrimean is" + ], + "then": [ + "* ", + "Dun ", + "Den youse gotta " + ], + "when": [ + "* ", + "Wun ", + "Youse know like when " + ] + }, + "en-au": { + "and": [ + "* ", + "Too right " + ], + "background": [ + "First off" + ], + "but": [ + "* ", + "Yeah nah " + ], + "examples": [ + "You'll wanna" + ], + "feature": [ + "Pretty much" + ], + "given": [ + "* ", + "Y'know " + ], + "name": "Australian", + "native": "Australian", + "rule": [ + "Rule" + ], + "scenario": [ + "Awww, look mate" + ], + "scenarioOutline": [ + "Reckon it's like" + ], + "then": [ + "* ", + "But at the end of the day I reckon " + ], + "when": [ + "* ", + "It's just unbelievable " + ] + }, + "en-lol": { + "and": [ + "* ", + "AN " + ], + "background": [ + "B4" + ], + "but": [ + "* ", + "BUT " + ], + "examples": [ + "EXAMPLZ" + ], + "feature": [ + "OH HAI" + ], + "given": [ + "* ", + "I CAN HAZ " + ], + "name": "LOLCAT", + "native": "LOLCAT", + "rule": [ + "Rule" + ], + "scenario": [ + "MISHUN" + ], + "scenarioOutline": [ + "MISHUN SRSLY" + ], + "then": [ + "* ", + "DEN " + ], + "when": [ + "* ", + "WEN " + ] + }, + "en-old": { + "and": [ + "* ", + "Ond ", + "7 " + ], + "background": [ + "Aer", + "Ær" + ], + "but": [ + "* ", + "Ac " + ], + "examples": [ + "Se the", + "Se þe", + "Se ðe" + ], + "feature": [ + "Hwaet", + "Hwæt" + ], + "given": [ + "* ", + "Thurh ", + "Þurh ", + "Ðurh " + ], + "name": "Old English", + "native": "Englisc", + "rule": [ + "Rule" + ], + "scenario": [ + "Swa" + ], + "scenarioOutline": [ + "Swa hwaer swa", + "Swa hwær swa" + ], + "then": [ + "* ", + "Tha ", + "Þa ", + "Ða ", + "Tha the ", + "Þa þe ", + "Ða ðe " + ], + "when": [ + "* ", + "Tha ", + "Þa ", + "Ða " + ] + }, + "en-pirate": { + "and": [ + "* ", + "Aye " + ], + "background": [ + "Yo-ho-ho" + ], + "but": [ + "* ", + "Avast! " + ], + "examples": [ + "Dead men tell no tales" + ], + "feature": [ + "Ahoy matey!" + ], + "given": [ + "* ", + "Gangway! " + ], + "name": "Pirate", + "native": "Pirate", + "rule": [ + "Rule" + ], + "scenario": [ + "Heave to" + ], + "scenarioOutline": [ + "Shiver me timbers" + ], + "then": [ + "* ", + "Let go and haul " + ], + "when": [ + "* ", + "Blimey! " + ] + }, + "eo": { + "and": [ + "* ", + "Kaj " + ], + "background": [ + "Fono" + ], + "but": [ + "* ", + "Sed " + ], + "examples": [ + "Ekzemploj" + ], + "feature": [ + "Trajto" + ], + "given": [ + "* ", + "Donitaĵo ", + "Komence " + ], + "name": "Esperanto", + "native": "Esperanto", + "rule": [ + "Rule" + ], + "scenario": [ + "Ekzemplo", + "Scenaro", + "Kazo" + ], + "scenarioOutline": [ + "Konturo de la scenaro", + "Skizo", + "Kazo-skizo" + ], + "then": [ + "* ", + "Do " + ], + "when": [ + "* ", + "Se " + ] + }, + "es": { + "and": [ + "* ", + "Y ", + "E " + ], + "background": [ + "Antecedentes" + ], + "but": [ + "* ", + "Pero " + ], + "examples": [ + "Ejemplos" + ], + "feature": [ + "Característica", + "Necesidad del negocio", + "Requisito" + ], + "given": [ + "* ", + "Dado ", + "Dada ", + "Dados ", + "Dadas " + ], + "name": "Spanish", + "native": "español", + "rule": [ + "Regla", + "Regla de negocio" + ], + "scenario": [ + "Ejemplo", + "Escenario" + ], + "scenarioOutline": [ + "Esquema del escenario" + ], + "then": [ + "* ", + "Entonces " + ], + "when": [ + "* ", + "Cuando " + ] + }, + "et": { + "and": [ + "* ", + "Ja " + ], + "background": [ + "Taust" + ], + "but": [ + "* ", + "Kuid " + ], + "examples": [ + "Juhtumid" + ], + "feature": [ + "Omadus" + ], + "given": [ + "* ", + "Eeldades " + ], + "name": "Estonian", + "native": "eesti keel", + "rule": [ + "Reegel" + ], + "scenario": [ + "Juhtum", + "Stsenaarium" + ], + "scenarioOutline": [ + "Raamjuhtum", + "Raamstsenaarium" + ], + "then": [ + "* ", + "Siis " + ], + "when": [ + "* ", + "Kui " + ] + }, + "fa": { + "and": [ + "* ", + "و " + ], + "background": [ + "زمینه" + ], + "but": [ + "* ", + "اما " + ], + "examples": [ + "نمونه ها" + ], + "feature": [ + "وِیژگی" + ], + "given": [ + "* ", + "با فرض " + ], + "name": "Persian", + "native": "فارسی", + "rule": [ + "Rule" + ], + "scenario": [ + "مثال", + "سناریو" + ], + "scenarioOutline": [ + "الگوی سناریو" + ], + "then": [ + "* ", + "آنگاه " + ], + "when": [ + "* ", + "هنگامی " + ] + }, + "fi": { + "and": [ + "* ", + "Ja " + ], + "background": [ + "Tausta" + ], + "but": [ + "* ", + "Mutta " + ], + "examples": [ + "Tapaukset" + ], + "feature": [ + "Ominaisuus" + ], + "given": [ + "* ", + "Oletetaan " + ], + "name": "Finnish", + "native": "suomi", + "rule": [ + "Rule" + ], + "scenario": [ + "Tapaus" + ], + "scenarioOutline": [ + "Tapausaihio" + ], + "then": [ + "* ", + "Niin " + ], + "when": [ + "* ", + "Kun " + ] + }, + "fr": { + "and": [ + "* ", + "Et que ", + "Et qu'", + "Et " + ], + "background": [ + "Contexte" + ], + "but": [ + "* ", + "Mais que ", + "Mais qu'", + "Mais " + ], + "examples": [ + "Exemples" + ], + "feature": [ + "Fonctionnalité" + ], + "given": [ + "* ", + "Soit ", + "Sachant que ", + "Sachant qu'", + "Sachant ", + "Etant donné que ", + "Etant donné qu'", + "Etant donné ", + "Etant donnée ", + "Etant donnés ", + "Etant données ", + "Étant donné que ", + "Étant donné qu'", + "Étant donné ", + "Étant donnée ", + "Étant donnés ", + "Étant données " + ], + "name": "French", + "native": "français", + "rule": [ + "Règle" + ], + "scenario": [ + "Exemple", + "Scénario" + ], + "scenarioOutline": [ + "Plan du scénario", + "Plan du Scénario" + ], + "then": [ + "* ", + "Alors ", + "Donc " + ], + "when": [ + "* ", + "Quand ", + "Lorsque ", + "Lorsqu'" + ] + }, + "ga": { + "and": [ + "* ", + "Agus" + ], + "background": [ + "Cúlra" + ], + "but": [ + "* ", + "Ach" + ], + "examples": [ + "Samplaí" + ], + "feature": [ + "Gné" + ], + "given": [ + "* ", + "Cuir i gcás go", + "Cuir i gcás nach", + "Cuir i gcás gur", + "Cuir i gcás nár" + ], + "name": "Irish", + "native": "Gaeilge", + "rule": [ + "Rule" + ], + "scenario": [ + "Sampla", + "Cás" + ], + "scenarioOutline": [ + "Cás Achomair" + ], + "then": [ + "* ", + "Ansin" + ], + "when": [ + "* ", + "Nuair a", + "Nuair nach", + "Nuair ba", + "Nuair nár" + ] + }, + "gj": { + "and": [ + "* ", + "અને " + ], + "background": [ + "બેકગ્રાઉન્ડ" + ], + "but": [ + "* ", + "પણ " + ], + "examples": [ + "ઉદાહરણો" + ], + "feature": [ + "લક્ષણ", + "વ્યાપાર જરૂર", + "ક્ષમતા" + ], + "given": [ + "* ", + "આપેલ છે " + ], + "name": "Gujarati", + "native": "ગુજરાતી", + "rule": [ + "Rule" + ], + "scenario": [ + "ઉદાહરણ", + "સ્થિતિ" + ], + "scenarioOutline": [ + "પરિદ્દશ્ય રૂપરેખા", + "પરિદ્દશ્ય ઢાંચો" + ], + "then": [ + "* ", + "પછી " + ], + "when": [ + "* ", + "ક્યારે " + ] + }, + "gl": { + "and": [ + "* ", + "E " + ], + "background": [ + "Contexto" + ], + "but": [ + "* ", + "Mais ", + "Pero " + ], + "examples": [ + "Exemplos" + ], + "feature": [ + "Característica" + ], + "given": [ + "* ", + "Dado ", + "Dada ", + "Dados ", + "Dadas " + ], + "name": "Galician", + "native": "galego", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemplo", + "Escenario" + ], + "scenarioOutline": [ + "Esbozo do escenario" + ], + "then": [ + "* ", + "Entón ", + "Logo " + ], + "when": [ + "* ", + "Cando " + ] + }, + "he": { + "and": [ + "* ", + "וגם " + ], + "background": [ + "רקע" + ], + "but": [ + "* ", + "אבל " + ], + "examples": [ + "דוגמאות" + ], + "feature": [ + "תכונה" + ], + "given": [ + "* ", + "בהינתן " + ], + "name": "Hebrew", + "native": "עברית", + "rule": [ + "כלל" + ], + "scenario": [ + "דוגמא", + "תרחיש" + ], + "scenarioOutline": [ + "תבנית תרחיש" + ], + "then": [ + "* ", + "אז ", + "אזי " + ], + "when": [ + "* ", + "כאשר " + ] + }, + "hi": { + "and": [ + "* ", + "और ", + "तथा " + ], + "background": [ + "पृष्ठभूमि" + ], + "but": [ + "* ", + "पर ", + "परन्तु ", + "किन्तु " + ], + "examples": [ + "उदाहरण" + ], + "feature": [ + "रूप लेख" + ], + "given": [ + "* ", + "अगर ", + "यदि ", + "चूंकि " + ], + "name": "Hindi", + "native": "हिंदी", + "rule": [ + "Rule" + ], + "scenario": [ + "परिदृश्य" + ], + "scenarioOutline": [ + "परिदृश्य रूपरेखा" + ], + "then": [ + "* ", + "तब ", + "तदा " + ], + "when": [ + "* ", + "जब ", + "कदा " + ] + }, + "hr": { + "and": [ + "* ", + "I " + ], + "background": [ + "Pozadina" + ], + "but": [ + "* ", + "Ali " + ], + "examples": [ + "Primjeri", + "Scenariji" + ], + "feature": [ + "Osobina", + "Mogućnost", + "Mogucnost" + ], + "given": [ + "* ", + "Zadan ", + "Zadani ", + "Zadano ", + "Ukoliko " + ], + "name": "Croatian", + "native": "hrvatski", + "rule": [ + "Rule" + ], + "scenario": [ + "Primjer", + "Scenarij" + ], + "scenarioOutline": [ + "Skica", + "Koncept" + ], + "then": [ + "* ", + "Onda " + ], + "when": [ + "* ", + "Kada ", + "Kad " + ] + }, + "ht": { + "and": [ + "* ", + "Ak ", + "Epi ", + "E " + ], + "background": [ + "Kontèks", + "Istorik" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Egzanp" + ], + "feature": [ + "Karakteristik", + "Mak", + "Fonksyonalite" + ], + "given": [ + "* ", + "Sipoze ", + "Sipoze ke ", + "Sipoze Ke " + ], + "name": "Creole", + "native": "kreyòl", + "rule": [ + "Rule" + ], + "scenario": [ + "Senaryo" + ], + "scenarioOutline": [ + "Plan senaryo", + "Plan Senaryo", + "Senaryo deskripsyon", + "Senaryo Deskripsyon", + "Dyagram senaryo", + "Dyagram Senaryo" + ], + "then": [ + "* ", + "Lè sa a ", + "Le sa a " + ], + "when": [ + "* ", + "Lè ", + "Le " + ] + }, + "hu": { + "and": [ + "* ", + "És " + ], + "background": [ + "Háttér" + ], + "but": [ + "* ", + "De " + ], + "examples": [ + "Példák" + ], + "feature": [ + "Jellemző" + ], + "given": [ + "* ", + "Amennyiben ", + "Adott " + ], + "name": "Hungarian", + "native": "magyar", + "rule": [ + "Rule" + ], + "scenario": [ + "Példa", + "Forgatókönyv" + ], + "scenarioOutline": [ + "Forgatókönyv vázlat" + ], + "then": [ + "* ", + "Akkor " + ], + "when": [ + "* ", + "Majd ", + "Ha ", + "Amikor " + ] + }, + "id": { + "and": [ + "* ", + "Dan " + ], + "background": [ + "Dasar", + "Latar Belakang" + ], + "but": [ + "* ", + "Tapi ", + "Tetapi " + ], + "examples": [ + "Contoh", + "Misal" + ], + "feature": [ + "Fitur" + ], + "given": [ + "* ", + "Dengan ", + "Diketahui ", + "Diasumsikan ", + "Bila ", + "Jika " + ], + "name": "Indonesian", + "native": "Bahasa Indonesia", + "rule": [ + "Rule", + "Aturan" + ], + "scenario": [ + "Skenario" + ], + "scenarioOutline": [ + "Skenario konsep", + "Garis-Besar Skenario" + ], + "then": [ + "* ", + "Maka ", + "Kemudian " + ], + "when": [ + "* ", + "Ketika " + ] + }, + "is": { + "and": [ + "* ", + "Og " + ], + "background": [ + "Bakgrunnur" + ], + "but": [ + "* ", + "En " + ], + "examples": [ + "Dæmi", + "Atburðarásir" + ], + "feature": [ + "Eiginleiki" + ], + "given": [ + "* ", + "Ef " + ], + "name": "Icelandic", + "native": "Íslenska", + "rule": [ + "Rule" + ], + "scenario": [ + "Atburðarás" + ], + "scenarioOutline": [ + "Lýsing Atburðarásar", + "Lýsing Dæma" + ], + "then": [ + "* ", + "Þá " + ], + "when": [ + "* ", + "Þegar " + ] + }, + "it": { + "and": [ + "* ", + "E " + ], + "background": [ + "Contesto" + ], + "but": [ + "* ", + "Ma " + ], + "examples": [ + "Esempi" + ], + "feature": [ + "Funzionalità", + "Esigenza di Business", + "Abilità" + ], + "given": [ + "* ", + "Dato ", + "Data ", + "Dati ", + "Date " + ], + "name": "Italian", + "native": "italiano", + "rule": [ + "Regola" + ], + "scenario": [ + "Esempio", + "Scenario" + ], + "scenarioOutline": [ + "Schema dello scenario" + ], + "then": [ + "* ", + "Allora " + ], + "when": [ + "* ", + "Quando " + ] + }, + "ja": { + "and": [ + "* ", + "かつ" + ], + "background": [ + "背景" + ], + "but": [ + "* ", + "しかし", + "但し", + "ただし" + ], + "examples": [ + "例", + "サンプル" + ], + "feature": [ + "フィーチャ", + "機能" + ], + "given": [ + "* ", + "前提" + ], + "name": "Japanese", + "native": "日本語", + "rule": [ + "Rule" + ], + "scenario": [ + "シナリオ" + ], + "scenarioOutline": [ + "シナリオアウトライン", + "シナリオテンプレート", + "テンプレ", + "シナリオテンプレ" + ], + "then": [ + "* ", + "ならば" + ], + "when": [ + "* ", + "もし" + ] + }, + "jv": { + "and": [ + "* ", + "Lan " + ], + "background": [ + "Dasar" + ], + "but": [ + "* ", + "Tapi ", + "Nanging ", + "Ananging " + ], + "examples": [ + "Conto", + "Contone" + ], + "feature": [ + "Fitur" + ], + "given": [ + "* ", + "Nalika ", + "Nalikaning " + ], + "name": "Javanese", + "native": "Basa Jawa", + "rule": [ + "Rule" + ], + "scenario": [ + "Skenario" + ], + "scenarioOutline": [ + "Konsep skenario" + ], + "then": [ + "* ", + "Njuk ", + "Banjur " + ], + "when": [ + "* ", + "Manawa ", + "Menawa " + ] + }, + "ka": { + "and": [ + "* ", + "და" + ], + "background": [ + "კონტექსტი" + ], + "but": [ + "* ", + "მაგ­რამ" + ], + "examples": [ + "მაგალითები" + ], + "feature": [ + "თვისება" + ], + "given": [ + "* ", + "მოცემული" + ], + "name": "Georgian", + "native": "ქართველი", + "rule": [ + "Rule" + ], + "scenario": [ + "მაგალითად", + "სცენარის" + ], + "scenarioOutline": [ + "სცენარის ნიმუში" + ], + "then": [ + "* ", + "მაშინ" + ], + "when": [ + "* ", + "როდესაც" + ] + }, + "kn": { + "and": [ + "* ", + "ಮತ್ತು " + ], + "background": [ + "ಹಿನ್ನೆಲೆ" + ], + "but": [ + "* ", + "ಆದರೆ " + ], + "examples": [ + "ಉದಾಹರಣೆಗಳು" + ], + "feature": [ + "ಹೆಚ್ಚಳ" + ], + "given": [ + "* ", + "ನೀಡಿದ " + ], + "name": "Kannada", + "native": "ಕನ್ನಡ", + "rule": [ + "Rule" + ], + "scenario": [ + "ಉದಾಹರಣೆ", + "ಕಥಾಸಾರಾಂಶ" + ], + "scenarioOutline": [ + "ವಿವರಣೆ" + ], + "then": [ + "* ", + "ನಂತರ " + ], + "when": [ + "* ", + "ಸ್ಥಿತಿಯನ್ನು " + ] + }, + "ko": { + "and": [ + "* ", + "그리고" + ], + "background": [ + "배경" + ], + "but": [ + "* ", + "하지만", + "단" + ], + "examples": [ + "예" + ], + "feature": [ + "기능" + ], + "given": [ + "* ", + "조건", + "먼저" + ], + "name": "Korean", + "native": "한국어", + "rule": [ + "Rule" + ], + "scenario": [ + "시나리오" + ], + "scenarioOutline": [ + "시나리오 개요" + ], + "then": [ + "* ", + "그러면" + ], + "when": [ + "* ", + "만일", + "만약" + ] + }, + "lt": { + "and": [ + "* ", + "Ir " + ], + "background": [ + "Kontekstas" + ], + "but": [ + "* ", + "Bet " + ], + "examples": [ + "Pavyzdžiai", + "Scenarijai", + "Variantai" + ], + "feature": [ + "Savybė" + ], + "given": [ + "* ", + "Duota " + ], + "name": "Lithuanian", + "native": "lietuvių kalba", + "rule": [ + "Rule" + ], + "scenario": [ + "Pavyzdys", + "Scenarijus" + ], + "scenarioOutline": [ + "Scenarijaus šablonas" + ], + "then": [ + "* ", + "Tada " + ], + "when": [ + "* ", + "Kai " + ] + }, + "lu": { + "and": [ + "* ", + "an ", + "a " + ], + "background": [ + "Hannergrond" + ], + "but": [ + "* ", + "awer ", + "mä " + ], + "examples": [ + "Beispiller" + ], + "feature": [ + "Funktionalitéit" + ], + "given": [ + "* ", + "ugeholl " + ], + "name": "Luxemburgish", + "native": "Lëtzebuergesch", + "rule": [ + "Rule" + ], + "scenario": [ + "Beispill", + "Szenario" + ], + "scenarioOutline": [ + "Plang vum Szenario" + ], + "then": [ + "* ", + "dann " + ], + "when": [ + "* ", + "wann " + ] + }, + "lv": { + "and": [ + "* ", + "Un " + ], + "background": [ + "Konteksts", + "Situācija" + ], + "but": [ + "* ", + "Bet " + ], + "examples": [ + "Piemēri", + "Paraugs" + ], + "feature": [ + "Funkcionalitāte", + "Fīča" + ], + "given": [ + "* ", + "Kad " + ], + "name": "Latvian", + "native": "latviešu", + "rule": [ + "Rule" + ], + "scenario": [ + "Piemērs", + "Scenārijs" + ], + "scenarioOutline": [ + "Scenārijs pēc parauga" + ], + "then": [ + "* ", + "Tad " + ], + "when": [ + "* ", + "Ja " + ] + }, + "mk-Cyrl": { + "and": [ + "* ", + "И " + ], + "background": [ + "Контекст", + "Содржина" + ], + "but": [ + "* ", + "Но " + ], + "examples": [ + "Примери", + "Сценарија" + ], + "feature": [ + "Функционалност", + "Бизнис потреба", + "Можност" + ], + "given": [ + "* ", + "Дадено ", + "Дадена " + ], + "name": "Macedonian", + "native": "Македонски", + "rule": [ + "Rule" + ], + "scenario": [ + "Пример", + "Сценарио", + "На пример" + ], + "scenarioOutline": [ + "Преглед на сценарија", + "Скица", + "Концепт" + ], + "then": [ + "* ", + "Тогаш " + ], + "when": [ + "* ", + "Кога " + ] + }, + "mk-Latn": { + "and": [ + "* ", + "I " + ], + "background": [ + "Kontekst", + "Sodrzhina" + ], + "but": [ + "* ", + "No " + ], + "examples": [ + "Primeri", + "Scenaria" + ], + "feature": [ + "Funkcionalnost", + "Biznis potreba", + "Mozhnost" + ], + "given": [ + "* ", + "Dadeno ", + "Dadena " + ], + "name": "Macedonian (Latin)", + "native": "Makedonski (Latinica)", + "rule": [ + "Rule" + ], + "scenario": [ + "Scenario", + "Na primer" + ], + "scenarioOutline": [ + "Pregled na scenarija", + "Skica", + "Koncept" + ], + "then": [ + "* ", + "Togash " + ], + "when": [ + "* ", + "Koga " + ] + }, + "mn": { + "and": [ + "* ", + "Мөн ", + "Тэгээд " + ], + "background": [ + "Агуулга" + ], + "but": [ + "* ", + "Гэхдээ ", + "Харин " + ], + "examples": [ + "Тухайлбал" + ], + "feature": [ + "Функц", + "Функционал" + ], + "given": [ + "* ", + "Өгөгдсөн нь ", + "Анх " + ], + "name": "Mongolian", + "native": "монгол", + "rule": [ + "Rule" + ], + "scenario": [ + "Сценар" + ], + "scenarioOutline": [ + "Сценарын төлөвлөгөө" + ], + "then": [ + "* ", + "Тэгэхэд ", + "Үүний дараа " + ], + "when": [ + "* ", + "Хэрэв " + ] + }, + "ne": { + "and": [ + "* ", + "र ", + "अनी " + ], + "background": [ + "पृष्ठभूमी" + ], + "but": [ + "* ", + "तर " + ], + "examples": [ + "उदाहरण", + "उदाहरणहरु" + ], + "feature": [ + "सुविधा", + "विशेषता" + ], + "given": [ + "* ", + "दिइएको ", + "दिएको ", + "यदि " + ], + "name": "Nepali", + "native": "नेपाली", + "rule": [ + "नियम" + ], + "scenario": [ + "परिदृश्य" + ], + "scenarioOutline": [ + "परिदृश्य रूपरेखा" + ], + "then": [ + "* ", + "त्यसपछि ", + "अनी " + ], + "when": [ + "* ", + "जब " + ] + }, + "nl": { + "and": [ + "* ", + "En " + ], + "background": [ + "Achtergrond" + ], + "but": [ + "* ", + "Maar " + ], + "examples": [ + "Voorbeelden" + ], + "feature": [ + "Functionaliteit" + ], + "given": [ + "* ", + "Gegeven ", + "Stel " + ], + "name": "Dutch", + "native": "Nederlands", + "rule": [ + "Rule" + ], + "scenario": [ + "Voorbeeld", + "Scenario" + ], + "scenarioOutline": [ + "Abstract Scenario" + ], + "then": [ + "* ", + "Dan " + ], + "when": [ + "* ", + "Als ", + "Wanneer " + ] + }, + "no": { + "and": [ + "* ", + "Og " + ], + "background": [ + "Bakgrunn" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Eksempler" + ], + "feature": [ + "Egenskap" + ], + "given": [ + "* ", + "Gitt " + ], + "name": "Norwegian", + "native": "norsk", + "rule": [ + "Regel" + ], + "scenario": [ + "Eksempel", + "Scenario" + ], + "scenarioOutline": [ + "Scenariomal", + "Abstrakt Scenario" + ], + "then": [ + "* ", + "Så " + ], + "when": [ + "* ", + "Når " + ] + }, + "pa": { + "and": [ + "* ", + "ਅਤੇ " + ], + "background": [ + "ਪਿਛੋਕੜ" + ], + "but": [ + "* ", + "ਪਰ " + ], + "examples": [ + "ਉਦਾਹਰਨਾਂ" + ], + "feature": [ + "ਖਾਸੀਅਤ", + "ਮੁਹਾਂਦਰਾ", + "ਨਕਸ਼ ਨੁਹਾਰ" + ], + "given": [ + "* ", + "ਜੇਕਰ ", + "ਜਿਵੇਂ ਕਿ " + ], + "name": "Panjabi", + "native": "ਪੰਜਾਬੀ", + "rule": [ + "Rule" + ], + "scenario": [ + "ਉਦਾਹਰਨ", + "ਪਟਕਥਾ" + ], + "scenarioOutline": [ + "ਪਟਕਥਾ ਢਾਂਚਾ", + "ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ" + ], + "then": [ + "* ", + "ਤਦ " + ], + "when": [ + "* ", + "ਜਦੋਂ " + ] + }, + "pl": { + "and": [ + "* ", + "Oraz ", + "I " + ], + "background": [ + "Założenia" + ], + "but": [ + "* ", + "Ale " + ], + "examples": [ + "Przykłady" + ], + "feature": [ + "Właściwość", + "Funkcja", + "Aspekt", + "Potrzeba biznesowa" + ], + "given": [ + "* ", + "Zakładając ", + "Mając ", + "Zakładając, że " + ], + "name": "Polish", + "native": "polski", + "rule": [ + "Rule" + ], + "scenario": [ + "Przykład", + "Scenariusz" + ], + "scenarioOutline": [ + "Szablon scenariusza" + ], + "then": [ + "* ", + "Wtedy " + ], + "when": [ + "* ", + "Jeżeli ", + "Jeśli ", + "Gdy ", + "Kiedy " + ] + }, + "pt": { + "and": [ + "* ", + "E " + ], + "background": [ + "Contexto", + "Cenário de Fundo", + "Cenario de Fundo", + "Fundo" + ], + "but": [ + "* ", + "Mas " + ], + "examples": [ + "Exemplos", + "Cenários", + "Cenarios" + ], + "feature": [ + "Funcionalidade", + "Característica", + "Caracteristica" + ], + "given": [ + "* ", + "Dado ", + "Dada ", + "Dados ", + "Dadas " + ], + "name": "Portuguese", + "native": "português", + "rule": [ + "Regra" + ], + "scenario": [ + "Exemplo", + "Cenário", + "Cenario" + ], + "scenarioOutline": [ + "Esquema do Cenário", + "Esquema do Cenario", + "Delineação do Cenário", + "Delineacao do Cenario" + ], + "then": [ + "* ", + "Então ", + "Entao " + ], + "when": [ + "* ", + "Quando " + ] + }, + "ro": { + "and": [ + "* ", + "Si ", + "Și ", + "Şi " + ], + "background": [ + "Context" + ], + "but": [ + "* ", + "Dar " + ], + "examples": [ + "Exemple" + ], + "feature": [ + "Functionalitate", + "Funcționalitate", + "Funcţionalitate" + ], + "given": [ + "* ", + "Date fiind ", + "Dat fiind ", + "Dată fiind", + "Dati fiind ", + "Dați fiind ", + "Daţi fiind " + ], + "name": "Romanian", + "native": "română", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemplu", + "Scenariu" + ], + "scenarioOutline": [ + "Structura scenariu", + "Structură scenariu" + ], + "then": [ + "* ", + "Atunci " + ], + "when": [ + "* ", + "Cand ", + "Când " + ] + }, + "ru": { + "and": [ + "* ", + "И ", + "К тому же ", + "Также " + ], + "background": [ + "Предыстория", + "Контекст" + ], + "but": [ + "* ", + "Но ", + "А ", + "Иначе " + ], + "examples": [ + "Примеры" + ], + "feature": [ + "Функция", + "Функциональность", + "Функционал", + "Свойство" + ], + "given": [ + "* ", + "Допустим ", + "Дано ", + "Пусть " + ], + "name": "Russian", + "native": "русский", + "rule": [ + "Правило" + ], + "scenario": [ + "Пример", + "Сценарий" + ], + "scenarioOutline": [ + "Структура сценария" + ], + "then": [ + "* ", + "То ", + "Затем ", + "Тогда " + ], + "when": [ + "* ", + "Когда ", + "Если " + ] + }, + "sk": { + "and": [ + "* ", + "A ", + "A tiež ", + "A taktiež ", + "A zároveň " + ], + "background": [ + "Pozadie" + ], + "but": [ + "* ", + "Ale " + ], + "examples": [ + "Príklady" + ], + "feature": [ + "Požiadavka", + "Funkcia", + "Vlastnosť" + ], + "given": [ + "* ", + "Pokiaľ ", + "Za predpokladu " + ], + "name": "Slovak", + "native": "Slovensky", + "rule": [ + "Rule" + ], + "scenario": [ + "Príklad", + "Scenár" + ], + "scenarioOutline": [ + "Náčrt Scenáru", + "Náčrt Scenára", + "Osnova Scenára" + ], + "then": [ + "* ", + "Tak ", + "Potom " + ], + "when": [ + "* ", + "Keď ", + "Ak " + ] + }, + "sl": { + "and": [ + "In ", + "Ter " + ], + "background": [ + "Kontekst", + "Osnova", + "Ozadje" + ], + "but": [ + "Toda ", + "Ampak ", + "Vendar " + ], + "examples": [ + "Primeri", + "Scenariji" + ], + "feature": [ + "Funkcionalnost", + "Funkcija", + "Možnosti", + "Moznosti", + "Lastnost", + "Značilnost" + ], + "given": [ + "Dano ", + "Podano ", + "Zaradi ", + "Privzeto " + ], + "name": "Slovenian", + "native": "Slovenski", + "rule": [ + "Rule" + ], + "scenario": [ + "Primer", + "Scenarij" + ], + "scenarioOutline": [ + "Struktura scenarija", + "Skica", + "Koncept", + "Oris scenarija", + "Osnutek" + ], + "then": [ + "Nato ", + "Potem ", + "Takrat " + ], + "when": [ + "Ko ", + "Ce ", + "Če ", + "Kadar " + ] + }, + "sr-Cyrl": { + "and": [ + "* ", + "И " + ], + "background": [ + "Контекст", + "Основа", + "Позадина" + ], + "but": [ + "* ", + "Али " + ], + "examples": [ + "Примери", + "Сценарији" + ], + "feature": [ + "Функционалност", + "Могућност", + "Особина" + ], + "given": [ + "* ", + "За дато ", + "За дате ", + "За дати " + ], + "name": "Serbian", + "native": "Српски", + "rule": [ + "Rule" + ], + "scenario": [ + "Пример", + "Сценарио", + "Пример" + ], + "scenarioOutline": [ + "Структура сценарија", + "Скица", + "Концепт" + ], + "then": [ + "* ", + "Онда " + ], + "when": [ + "* ", + "Када ", + "Кад " + ] + }, + "sr-Latn": { + "and": [ + "* ", + "I " + ], + "background": [ + "Kontekst", + "Osnova", + "Pozadina" + ], + "but": [ + "* ", + "Ali " + ], + "examples": [ + "Primeri", + "Scenariji" + ], + "feature": [ + "Funkcionalnost", + "Mogućnost", + "Mogucnost", + "Osobina" + ], + "given": [ + "* ", + "Za dato ", + "Za date ", + "Za dati " + ], + "name": "Serbian (Latin)", + "native": "Srpski (Latinica)", + "rule": [ + "Rule" + ], + "scenario": [ + "Scenario", + "Primer" + ], + "scenarioOutline": [ + "Struktura scenarija", + "Skica", + "Koncept" + ], + "then": [ + "* ", + "Onda " + ], + "when": [ + "* ", + "Kada ", + "Kad " + ] + }, + "sv": { + "and": [ + "* ", + "Och " + ], + "background": [ + "Bakgrund" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Exempel" + ], + "feature": [ + "Egenskap" + ], + "given": [ + "* ", + "Givet " + ], + "name": "Swedish", + "native": "Svenska", + "rule": [ + "Regel" + ], + "scenario": [ + "Scenario" + ], + "scenarioOutline": [ + "Abstrakt Scenario", + "Scenariomall" + ], + "then": [ + "* ", + "Så " + ], + "when": [ + "* ", + "När " + ] + }, + "ta": { + "and": [ + "* ", + "மேலும் ", + "மற்றும் " + ], + "background": [ + "பின்னணி" + ], + "but": [ + "* ", + "ஆனால் " + ], + "examples": [ + "எடுத்துக்காட்டுகள்", + "காட்சிகள்", + "நிலைமைகளில்" + ], + "feature": [ + "அம்சம்", + "வணிக தேவை", + "திறன்" + ], + "given": [ + "* ", + "கொடுக்கப்பட்ட " + ], + "name": "Tamil", + "native": "தமிழ்", + "rule": [ + "Rule" + ], + "scenario": [ + "உதாரணமாக", + "காட்சி" + ], + "scenarioOutline": [ + "காட்சி சுருக்கம்", + "காட்சி வார்ப்புரு" + ], + "then": [ + "* ", + "அப்பொழுது " + ], + "when": [ + "* ", + "எப்போது " + ] + }, + "th": { + "and": [ + "* ", + "และ " + ], + "background": [ + "แนวคิด" + ], + "but": [ + "* ", + "แต่ " + ], + "examples": [ + "ชุดของตัวอย่าง", + "ชุดของเหตุการณ์" + ], + "feature": [ + "โครงหลัก", + "ความต้องการทางธุรกิจ", + "ความสามารถ" + ], + "given": [ + "* ", + "กำหนดให้ " + ], + "name": "Thai", + "native": "ไทย", + "rule": [ + "Rule" + ], + "scenario": [ + "เหตุการณ์" + ], + "scenarioOutline": [ + "สรุปเหตุการณ์", + "โครงสร้างของเหตุการณ์" + ], + "then": [ + "* ", + "ดังนั้น " + ], + "when": [ + "* ", + "เมื่อ " + ] + }, + "te": { + "and": [ + "* ", + "మరియు " + ], + "background": [ + "నేపథ్యం" + ], + "but": [ + "* ", + "కాని " + ], + "examples": [ + "ఉదాహరణలు" + ], + "feature": [ + "గుణము" + ], + "given": [ + "* ", + "చెప్పబడినది " + ], + "name": "Telugu", + "native": "తెలుగు", + "rule": [ + "Rule" + ], + "scenario": [ + "ఉదాహరణ", + "సన్నివేశం" + ], + "scenarioOutline": [ + "కథనం" + ], + "then": [ + "* ", + "అప్పుడు " + ], + "when": [ + "* ", + "ఈ పరిస్థితిలో " + ] + }, + "tlh": { + "and": [ + "* ", + "'ej ", + "latlh " + ], + "background": [ + "mo'" + ], + "but": [ + "* ", + "'ach ", + "'a " + ], + "examples": [ + "ghantoH", + "lutmey" + ], + "feature": [ + "Qap", + "Qu'meH 'ut", + "perbogh", + "poQbogh malja'", + "laH" + ], + "given": [ + "* ", + "ghu' noblu' ", + "DaH ghu' bejlu' " + ], + "name": "Klingon", + "native": "tlhIngan", + "rule": [ + "Rule" + ], + "scenario": [ + "lut" + ], + "scenarioOutline": [ + "lut chovnatlh" + ], + "then": [ + "* ", + "vaj " + ], + "when": [ + "* ", + "qaSDI' " + ] + }, + "tr": { + "and": [ + "* ", + "Ve " + ], + "background": [ + "Geçmiş" + ], + "but": [ + "* ", + "Fakat ", + "Ama " + ], + "examples": [ + "Örnekler" + ], + "feature": [ + "Özellik" + ], + "given": [ + "* ", + "Diyelim ki " + ], + "name": "Turkish", + "native": "Türkçe", + "rule": [ + "Rule" + ], + "scenario": [ + "Örnek", + "Senaryo" + ], + "scenarioOutline": [ + "Senaryo taslağı" + ], + "then": [ + "* ", + "O zaman " + ], + "when": [ + "* ", + "Eğer ki " + ] + }, + "tt": { + "and": [ + "* ", + "Һәм ", + "Вә " + ], + "background": [ + "Кереш" + ], + "but": [ + "* ", + "Ләкин ", + "Әмма " + ], + "examples": [ + "Үрнәкләр", + "Мисаллар" + ], + "feature": [ + "Мөмкинлек", + "Үзенчәлеклелек" + ], + "given": [ + "* ", + "Әйтик " + ], + "name": "Tatar", + "native": "Татарча", + "rule": [ + "Rule" + ], + "scenario": [ + "Сценарий" + ], + "scenarioOutline": [ + "Сценарийның төзелеше" + ], + "then": [ + "* ", + "Нәтиҗәдә " + ], + "when": [ + "* ", + "Әгәр " + ] + }, + "uk": { + "and": [ + "* ", + "І ", + "А також ", + "Та " + ], + "background": [ + "Передумова" + ], + "but": [ + "* ", + "Але " + ], + "examples": [ + "Приклади" + ], + "feature": [ + "Функціонал" + ], + "given": [ + "* ", + "Припустимо ", + "Припустимо, що ", + "Нехай ", + "Дано " + ], + "name": "Ukrainian", + "native": "Українська", + "rule": [ + "Rule" + ], + "scenario": [ + "Приклад", + "Сценарій" + ], + "scenarioOutline": [ + "Структура сценарію" + ], + "then": [ + "* ", + "То ", + "Тоді " + ], + "when": [ + "* ", + "Якщо ", + "Коли " + ] + }, + "ur": { + "and": [ + "* ", + "اور " + ], + "background": [ + "پس منظر" + ], + "but": [ + "* ", + "لیکن " + ], + "examples": [ + "مثالیں" + ], + "feature": [ + "صلاحیت", + "کاروبار کی ضرورت", + "خصوصیت" + ], + "given": [ + "* ", + "اگر ", + "بالفرض ", + "فرض کیا " + ], + "name": "Urdu", + "native": "اردو", + "rule": [ + "Rule" + ], + "scenario": [ + "منظرنامہ" + ], + "scenarioOutline": [ + "منظر نامے کا خاکہ" + ], + "then": [ + "* ", + "پھر ", + "تب " + ], + "when": [ + "* ", + "جب " + ] + }, + "uz": { + "and": [ + "* ", + "Ва " + ], + "background": [ + "Тарих" + ], + "but": [ + "* ", + "Лекин ", + "Бирок ", + "Аммо " + ], + "examples": [ + "Мисоллар" + ], + "feature": [ + "Функционал" + ], + "given": [ + "* ", + "Агар " + ], + "name": "Uzbek", + "native": "Узбекча", + "rule": [ + "Rule" + ], + "scenario": [ + "Сценарий" + ], + "scenarioOutline": [ + "Сценарий структураси" + ], + "then": [ + "* ", + "Унда " + ], + "when": [ + "* ", + "Агар " + ] + }, + "vi": { + "and": [ + "* ", + "Và " + ], + "background": [ + "Bối cảnh" + ], + "but": [ + "* ", + "Nhưng " + ], + "examples": [ + "Dữ liệu" + ], + "feature": [ + "Tính năng" + ], + "given": [ + "* ", + "Biết ", + "Cho " + ], + "name": "Vietnamese", + "native": "Tiếng Việt", + "rule": [ + "Rule" + ], + "scenario": [ + "Tình huống", + "Kịch bản" + ], + "scenarioOutline": [ + "Khung tình huống", + "Khung kịch bản" + ], + "then": [ + "* ", + "Thì " + ], + "when": [ + "* ", + "Khi " + ] + }, + "zh-CN": { + "and": [ + "* ", + "而且", + "并且", + "同时" + ], + "background": [ + "背景" + ], + "but": [ + "* ", + "但是" + ], + "examples": [ + "例子" + ], + "feature": [ + "功能" + ], + "given": [ + "* ", + "假如", + "假设", + "假定" + ], + "name": "Chinese simplified", + "native": "简体中文", + "rule": [ + "Rule" + ], + "scenario": [ + "场景", + "剧本" + ], + "scenarioOutline": [ + "场景大纲", + "剧本大纲" + ], + "then": [ + "* ", + "那么" + ], + "when": [ + "* ", + "当" + ] + }, + "zh-TW": { + "and": [ + "* ", + "而且", + "並且", + "同時" + ], + "background": [ + "背景" + ], + "but": [ + "* ", + "但是" + ], + "examples": [ + "例子" + ], + "feature": [ + "功能" + ], + "given": [ + "* ", + "假如", + "假設", + "假定" + ], + "name": "Chinese traditional", + "native": "繁體中文", + "rule": [ + "Rule" + ], + "scenario": [ + "場景", + "劇本" + ], + "scenarioOutline": [ + "場景大綱", + "劇本大綱" + ], + "then": [ + "* ", + "那麼" + ], + "when": [ + "* ", + "當" + ] + }, + "mr": { + "and": [ + "* ", + "आणि ", + "तसेच " + ], + "background": [ + "पार्श्वभूमी" + ], + "but": [ + "* ", + "पण ", + "परंतु " + ], + "examples": [ + "उदाहरण" + ], + "feature": [ + "वैशिष्ट्य", + "सुविधा" + ], + "given": [ + "* ", + "जर", + "दिलेल्या प्रमाणे " + ], + "name": "Marathi", + "native": "मराठी", + "rule": [ + "नियम" + ], + "scenario": [ + "परिदृश्य" + ], + "scenarioOutline": [ + "परिदृश्य रूपरेखा" + ], + "then": [ + "* ", + "मग ", + "तेव्हा " + ], + "when": [ + "* ", + "जेव्हा " + ] + } +} diff --git a/node_modules/@cucumber/gherkin/dist/src/index.d.ts b/node_modules/@cucumber/gherkin/dist/src/index.d.ts new file mode 100644 index 0000000..bff8965 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/index.d.ts @@ -0,0 +1,14 @@ +import generateMessages from './generateMessages'; +import makeSourceEnvelope from './makeSourceEnvelope'; +import IGherkinOptions from './IGherkinOptions'; +import Dialect from './Dialect'; +import Parser from './Parser'; +import AstBuilder from './AstBuilder'; +import TokenScanner from './TokenScanner'; +import compile from './pickles/compile'; +import TokenMatcher from './TokenMatcher'; +declare const dialects: Readonly<{ + [key: string]: Dialect; +}>; +export { generateMessages, makeSourceEnvelope, IGherkinOptions, dialects, Dialect, Parser, AstBuilder, TokenScanner, TokenMatcher, compile, }; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/index.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/index.d.ts.map new file mode 100644 index 0000000..c74dac4 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,OAAO,MAAM,mBAAmB,CAAA;AAEvC,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,QAAA,MAAM,QAAQ;;EAAmD,CAAA;AAEjE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,OAAO,EACP,MAAM,EACN,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,CAAA"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/index.js b/node_modules/@cucumber/gherkin/dist/src/index.js new file mode 100644 index 0000000..f8ff0c4 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/index.js @@ -0,0 +1,24 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compile = exports.TokenMatcher = exports.TokenScanner = exports.AstBuilder = exports.Parser = exports.dialects = exports.makeSourceEnvelope = exports.generateMessages = void 0; +const generateMessages_1 = __importDefault(require("./generateMessages")); +exports.generateMessages = generateMessages_1.default; +const makeSourceEnvelope_1 = __importDefault(require("./makeSourceEnvelope")); +exports.makeSourceEnvelope = makeSourceEnvelope_1.default; +const Parser_1 = __importDefault(require("./Parser")); +exports.Parser = Parser_1.default; +const AstBuilder_1 = __importDefault(require("./AstBuilder")); +exports.AstBuilder = AstBuilder_1.default; +const TokenScanner_1 = __importDefault(require("./TokenScanner")); +exports.TokenScanner = TokenScanner_1.default; +const compile_1 = __importDefault(require("./pickles/compile")); +exports.compile = compile_1.default; +const gherkin_languages_json_1 = __importDefault(require("./gherkin-languages.json")); +const TokenMatcher_1 = __importDefault(require("./TokenMatcher")); +exports.TokenMatcher = TokenMatcher_1.default; +const dialects = gherkin_languages_json_1.default; +exports.dialects = dialects; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/index.js.map b/node_modules/@cucumber/gherkin/dist/src/index.js.map new file mode 100644 index 0000000..b763c6a --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0EAAiD;AAc/C,2BAdK,0BAAgB,CAcL;AAblB,8EAAqD;AAcnD,6BAdK,4BAAkB,CAcL;AAXpB,sDAA6B;AAe3B,iBAfK,gBAAM,CAeL;AAdR,8DAAqC;AAenC,qBAfK,oBAAU,CAeL;AAdZ,kEAAyC;AAevC,uBAfK,sBAAY,CAeL;AAdd,gEAAuC;AAgBrC,kBAhBK,iBAAO,CAgBL;AAfT,sFAA+C;AAC/C,kEAAyC;AAavC,uBAbK,sBAAY,CAaL;AAXd,MAAM,QAAQ,GAAG,gCAAgD,CAAA;AAM/D,4BAAQ"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts new file mode 100644 index 0000000..61f9867 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts @@ -0,0 +1,3 @@ +import { messages } from '@cucumber/messages'; +export default function makeSourceEnvelope(data: string, uri: string): messages.IEnvelope; +//# sourceMappingURL=makeSourceEnvelope.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts.map new file mode 100644 index 0000000..eb32d29 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"makeSourceEnvelope.d.ts","sourceRoot":"","sources":["../../src/makeSourceEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAQxF"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.js b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.js new file mode 100644 index 0000000..cd97720 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const messages_1 = require("@cucumber/messages"); +function makeSourceEnvelope(data, uri) { + return new messages_1.messages.Envelope({ + source: new messages_1.messages.Source({ + data, + uri, + mediaType: 'text/x.cucumber.gherkin+plain', + }), + }); +} +exports.default = makeSourceEnvelope; +//# sourceMappingURL=makeSourceEnvelope.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.js.map b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.js.map new file mode 100644 index 0000000..f18cf9c --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.js.map @@ -0,0 +1 @@ +{"version":3,"file":"makeSourceEnvelope.js","sourceRoot":"","sources":["../../src/makeSourceEnvelope.ts"],"names":[],"mappings":";;AAAA,iDAA6C;AAE7C,SAAwB,kBAAkB,CAAC,IAAY,EAAE,GAAW;IAClE,OAAO,IAAI,mBAAQ,CAAC,QAAQ,CAAC;QAC3B,MAAM,EAAE,IAAI,mBAAQ,CAAC,MAAM,CAAC;YAC1B,IAAI;YACJ,GAAG;YACH,SAAS,EAAE,+BAA+B;SAC3C,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AARD,qCAQC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts new file mode 100644 index 0000000..e313275 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts @@ -0,0 +1,4 @@ +import { messages, IdGenerator } from '@cucumber/messages'; +import IGherkinDocument = messages.IGherkinDocument; +export default function compile(gherkinDocument: IGherkinDocument, uri: string, newId: IdGenerator.NewId): ReadonlyArray; +//# sourceMappingURL=compile.d.ts.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts.map b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts.map new file mode 100644 index 0000000..18a53bd --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/pickles/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAA;AAEnD,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,eAAe,EAAE,gBAAgB,EACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,WAAW,CAAC,KAAK,GACvB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAgDjC"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/pickles/compile.js b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.js new file mode 100644 index 0000000..7c849fd --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.js @@ -0,0 +1,155 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const messages_1 = require("@cucumber/messages"); +function compile(gherkinDocument, uri, newId) { + const pickles = []; + if (gherkinDocument.feature == null) { + return pickles; + } + const feature = gherkinDocument.feature; + const language = feature.language; + const featureTags = feature.tags; + let featureBackgroundSteps = []; + feature.children.forEach((stepsContainer) => { + if (stepsContainer.background) { + featureBackgroundSteps = [].concat(stepsContainer.background.steps); + } + else if (stepsContainer.rule) { + compileRule(featureTags, featureBackgroundSteps, stepsContainer.rule, language, pickles, uri, newId); + } + else if (stepsContainer.scenario.examples.length === 0) { + compileScenario(featureTags, featureBackgroundSteps, stepsContainer.scenario, language, pickles, uri, newId); + } + else { + compileScenarioOutline(featureTags, featureBackgroundSteps, stepsContainer.scenario, language, pickles, uri, newId); + } + }); + return pickles; +} +exports.default = compile; +function compileRule(featureTags, featureBackgroundSteps, rule, language, pickles, uri, newId) { + let ruleBackgroundSteps = [].concat(featureBackgroundSteps); + const tags = [].concat(featureTags).concat(rule.tags); + rule.children.forEach((stepsContainer) => { + if (stepsContainer.background) { + ruleBackgroundSteps = ruleBackgroundSteps.concat(stepsContainer.background.steps); + } + else if (stepsContainer.scenario.examples.length === 0) { + compileScenario(tags, ruleBackgroundSteps, stepsContainer.scenario, language, pickles, uri, newId); + } + else { + compileScenarioOutline(featureTags, ruleBackgroundSteps, stepsContainer.scenario, language, pickles, uri, newId); + } + }); +} +function compileScenario(inheritedTags, backgroundSteps, scenario, language, pickles, uri, newId) { + const steps = scenario.steps.length === 0 + ? [] + : backgroundSteps.map((step) => pickleStep(step, [], null, newId)); + const tags = [].concat(inheritedTags).concat(scenario.tags); + scenario.steps.forEach((step) => steps.push(pickleStep(step, [], null, newId))); + const pickle = messages_1.messages.Pickle.create({ + id: newId(), + uri, + astNodeIds: [scenario.id], + tags: pickleTags(tags), + name: scenario.name, + language, + steps, + }); + pickles.push(pickle); +} +function compileScenarioOutline(inheritedTags, backgroundSteps, scenario, language, pickles, uri, newId) { + scenario.examples + .filter((e) => e.tableHeader !== null) + .forEach((examples) => { + const variableCells = examples.tableHeader.cells; + examples.tableBody.forEach((valuesRow) => { + const steps = scenario.steps.length === 0 + ? [] + : backgroundSteps.map((step) => pickleStep(step, [], null, newId)); + const tags = [].concat(inheritedTags).concat(scenario.tags).concat(examples.tags); + scenario.steps.forEach((scenarioOutlineStep) => { + const step = pickleStep(scenarioOutlineStep, variableCells, valuesRow, newId); + steps.push(step); + }); + pickles.push(messages_1.messages.Pickle.create({ + id: newId(), + uri, + astNodeIds: [scenario.id, valuesRow.id], + name: interpolate(scenario.name, variableCells, valuesRow.cells), + language, + steps, + tags: pickleTags(tags), + })); + }); + }); +} +function createPickleArguments(step, variableCells, valueCells) { + if (step.dataTable) { + const argument = step.dataTable; + const table = { + rows: argument.rows.map((row) => { + return { + cells: row.cells.map((cell) => { + return { + location: cell.location, + value: interpolate(cell.value, variableCells, valueCells), + }; + }), + }; + }), + }; + return { + dataTable: table, + }; + } + else if (step.docString) { + const argument = step.docString; + const docString = messages_1.messages.PickleStepArgument.PickleDocString.create({ + content: interpolate(argument.content, variableCells, valueCells), + }); + if (argument.mediaType) { + docString.mediaType = interpolate(argument.mediaType, variableCells, valueCells); + } + return { + docString, + }; + } +} +function interpolate(name, variableCells, valueCells) { + variableCells.forEach((variableCell, n) => { + const valueCell = valueCells[n]; + const valuePattern = '<' + variableCell.value + '>'; + const escapedPattern = valuePattern.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'); + const regexp = new RegExp(escapedPattern, 'g'); + // JS Specific - dollar sign needs to be escaped with another dollar sign + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter + const replacement = valueCell.value.replace(new RegExp('\\$', 'g'), '$$$$'); + name = name.replace(regexp, replacement); + }); + return name; +} +function pickleStep(step, variableCells, valuesRow, newId) { + const astNodeIds = [step.id]; + if (valuesRow) { + astNodeIds.push(valuesRow.id); + } + const valueCells = valuesRow ? valuesRow.cells : []; + return messages_1.messages.Pickle.PickleStep.create({ + id: newId(), + text: interpolate(step.text, variableCells, valueCells), + argument: createPickleArguments(step, variableCells, valueCells), + astNodeIds, + }); +} +function pickleTags(tags) { + return tags.map(pickleTag); +} +function pickleTag(tag) { + return messages_1.messages.Pickle.PickleTag.create({ + name: tag.name, + astNodeId: tag.id, + }); +} +//# sourceMappingURL=compile.js.map \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/src/pickles/compile.js.map b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.js.map new file mode 100644 index 0000000..73517f1 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/src/pickles/compile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/pickles/compile.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/dist/tsconfig.build.tsbuildinfo b/node_modules/@cucumber/gherkin/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000..daa9f82 --- /dev/null +++ b/node_modules/@cucumber/gherkin/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1,2282 @@ +{ + "program": { + "fileInfos": { + "../../../node_modules/typescript/lib/lib.es5.d.ts": { + "version": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "signature": "b3584bc5798ed422ce2516df360ffa9cf2d80b5eae852867db9ba3743145f895", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.d.ts": { + "version": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "signature": "dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2016.d.ts": { + "version": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "signature": "7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2017.d.ts": { + "version": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "signature": "8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2018.d.ts": { + "version": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "signature": "5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.es2019.d.ts": { + "version": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "signature": "e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84", + "affectsGlobalScope": false + }, + "../../../node_modules/typescript/lib/lib.dom.d.ts": { + "version": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "signature": "feeeb1dd8a80fb76be42b0426e8f3ffa9bdef3c2f3c12c147e7660b1c5ba8b3b", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts": { + "version": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "signature": "46ee15e9fefa913333b61eaf6b18885900b139867d89832a515059b62cf16a17", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts": { + "version": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "signature": "43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts": { + "version": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "signature": "cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts": { + "version": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "signature": "8b2a5df1ce95f78f6b74f1a555ccdb6baab0486b42d8345e0871dd82811f9b9a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts": { + "version": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "signature": "2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts": { + "version": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "signature": "810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts": { + "version": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "signature": "62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts": { + "version": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "signature": "3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts": { + "version": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "signature": "9d122b7e8c1a5c72506eea50c0973cba55b92b5532d5cafa8a6ce2c547d57551", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts": { + "version": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "signature": "3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts": { + "version": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "signature": "17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts": { + "version": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "signature": "7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts": { + "version": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "signature": "6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts": { + "version": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "signature": "12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts": { + "version": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "signature": "b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts": { + "version": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "signature": "0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts": { + "version": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "signature": "a40c4d82bf13fcded295ac29f354eb7d40249613c15e07b53f2fc75e45e16359", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts": { + "version": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "signature": "df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts": { + "version": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "signature": "bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts": { + "version": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "signature": "c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts": { + "version": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "signature": "9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts": { + "version": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "signature": "6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts": { + "version": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "signature": "93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts": { + "version": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "signature": "2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts": { + "version": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "signature": "7b5a10e3c897fabece5a51aa85b4111727d7adb53c2734b5d37230ff96802a09", + "affectsGlobalScope": true + }, + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts": { + "version": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "signature": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e", + "affectsGlobalScope": true + }, + "../../../node_modules/protobufjs/index.d.ts": { + "version": "2d00c5da183a0a701d9a242f775a23606d98ea789bb94303d48e272201204d85", + "signature": "2d00c5da183a0a701d9a242f775a23606d98ea789bb94303d48e272201204d85", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/messages.d.ts": { + "version": "e6a18330f26eaadadef4ed82407aa6e0494d34066ac34c18a34991568e673262", + "signature": "e6a18330f26eaadadef4ed82407aa6e0494d34066ac34c18a34991568e673262", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/TimeConversion.d.ts": { + "version": "95e76dd56ef22401de51fda46140f8677a6672a6c2262ced27fb5882b70cfa54", + "signature": "95e76dd56ef22401de51fda46140f8677a6672a6c2262ced27fb5882b70cfa54", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/src/IdGenerator.d.ts": { + "version": "67c50537d02e09de9593718e820326dcc559b93fd910d976a65b0a8edc1b400a", + "signature": "67c50537d02e09de9593718e820326dcc559b93fd910d976a65b0a8edc1b400a", + "affectsGlobalScope": false + }, + "../../../messages/javascript/dist/package.json": { + "version": "10ac44dbc90475d8f619d683ccd240976173961b15fdc48845fe0350ec965a09", + "affectsGlobalScope": true + }, + "../../../messages/javascript/dist/src/index.d.ts": { + "version": "41ba7d2fc377e5a4aa096958dd7c68bff9371b8ca53571ff1a1a7b80c3c1e439", + "signature": "41ba7d2fc377e5a4aa096958dd7c68bff9371b8ca53571ff1a1a7b80c3c1e439", + "affectsGlobalScope": false + }, + "../src/createLocation.ts": { + "version": "f6d65868854e43210868497fb400f6d052cd3af40226a20d8c9f0b51f6de72e9", + "signature": "edc0147778fd0fb8281e6f71bcc495d9aeb229effae4753acd39f2f4b1e992c3", + "affectsGlobalScope": false + }, + "../src/Errors.ts": { + "version": "942e8ef89a42855af0362d67526795fede93f431e81d5a734fb24c4b9a6522ab", + "signature": "aded1f8efe11f0aecacbb619bc0e5c4052a9adf9943728db9036f0acfb28f887", + "affectsGlobalScope": false + }, + "../src/countSymbols.ts": { + "version": "5e7e7bc961ef7ab9dc6e2724ab90c10b0675c44517fd9708f942c0aaa5bc1a1f", + "signature": "54b89eb77c42c9758332f1c7604a56701b83abdacfb714dfaadd09ab4f026eb3", + "affectsGlobalScope": false + }, + "../src/GherkinLine.ts": { + "version": "103557a5768ab9c60b1ce9af7eebaa498a00d1822fee230472af392b7f59e812", + "signature": "efcdcea9dad56f2adc26bbc948711b80b00b1cdb5bdf46d4df31f667c50df123", + "affectsGlobalScope": false + }, + "../src/IToken.ts": { + "version": "46936228e6bc814e738a2d643b87ce777ac3b5e305100229c65119748d867ac7", + "signature": "9a24d0bcfa8dc604c976c76d7babf621b9ca34ec811ffae4cd506fe6c0286b23", + "affectsGlobalScope": false + }, + "../src/TokenExceptions.ts": { + "version": "215b4d5b4ede1af7170b8b5addc4fed35e176db917f995c9190cf7cbe32c8a03", + "signature": "fbc640f181f6b957a6338f0716b517ac052fae2009db636b3827a107be180f8c", + "affectsGlobalScope": false + }, + "../src/TokenScanner.ts": { + "version": "bf71a2b7d02784b5d28ca7f7092c805fd13c588a57f2c09e63c977dc514943c1", + "signature": "4489cb52c617bea47a376a22f6fdad057da014a0b3b8ef770f8a1abf1390f034", + "affectsGlobalScope": false + }, + "../src/IAstBuilder.ts": { + "version": "d5238eea6672e27daa7940d441c536c5f17c1ee1ee0dce9e8aae74246b80ba54", + "signature": "2efc23a0780e09c29f122902fe2ea7203544c9c3e80e3244e97a56ba1792696a", + "affectsGlobalScope": false + }, + "../src/ITokenMatcher.ts": { + "version": "f45287bd54c220639b5655b6fc497e01e68fc192b41acdc9aa9615f5462af732", + "signature": "aead61ea735da20e5926faf52ec968d1c94685ad8cb4fe098a8fb21d6ea852e9", + "affectsGlobalScope": false + }, + "../src/Parser.ts": { + "version": "bbdd174b0feb8cd20fecdfa774d4a62da26d7a67fd323296ed6cc9ef311917d9", + "signature": "02e2fc9c98322da2228845a3caa1c592797f111be661c6b975cb8f5510718862", + "affectsGlobalScope": false + }, + "../src/AstNode.ts": { + "version": "428349588e1fa3405855142f20ff792c04c1c5e6b95f980db3b32b9ada280da7", + "signature": "2537b7081870c1bec492741dc5c318f3f0819fb13db45fc5a3b5097bd9c41d2d", + "affectsGlobalScope": false + }, + "../src/AstBuilder.ts": { + "version": "1dd886572bcffa786b2e8e634ecaccc08ce6f70eb4f37d2cd59b9bcda50b84ff", + "signature": "8b6bd73338303c7dd3f9492b176b054dc06203821015dbf50c7788afe96f2ff4", + "affectsGlobalScope": false + }, + "../src/Dialect.ts": { + "version": "f10de83cef0cfad1632536d3b6d56902b07cc0204cc8a85b52fecb172615c9dd", + "signature": "3a5d363ef153455a9d6d35614ae443cfebcd680a69ffc18bdb8328dbd8ac6530", + "affectsGlobalScope": false + }, + "../src/IGherkinOptions.ts": { + "version": "3e4246d5e6f70fb822f134f7615849158a6637ff3e1ced5b32f7317f20ffee58", + "signature": "c9a4a8a6bff3f164fc325957aa398aa6c4b57dd291926c08aa8280645b00df2e", + "affectsGlobalScope": false + }, + "../src/gherkin-languages.json": { + "version": "ee13d761927c81d07ac22d38ba8481ba4faa227477330c8e4f83c7bbfe3d7095", + "affectsGlobalScope": true + }, + "../src/TokenMatcher.ts": { + "version": "76a52148511440b69403004a8b489d4b3aef4f46414b21f931c4b1a56efcac87", + "signature": "1c1acb3324b4dca57f74276a0d4b5160fe7a7a08143cfeeefab2d63193aa425b", + "affectsGlobalScope": false + }, + "../src/pickles/compile.ts": { + "version": "f5bc70e870265b9057a539f8fbd1e2383fc2eb1f5a59f21538991dbb4951594c", + "signature": "4dd86eb0c30c1b1f936331d37f5d35e0ab7ef140d25835936975773c8ab9647d", + "affectsGlobalScope": false + }, + "../src/makeSourceEnvelope.ts": { + "version": "ccb7252020e150594f46c71364ce61fa5c9323ab12117ef5b8f66ea642106a02", + "signature": "039b8005503708707df972b13e1685a9882256321763243305ed879ffc7c1f29", + "affectsGlobalScope": false + }, + "../src/generateMessages.ts": { + "version": "af7adae7f742959780e24f2daae0dbfb12f06efd3478c88e38f9889dcfa03e86", + "signature": "709455483ddadc36d55a8f3b780f0b7723314bf882adf1cf48c5a559aeca4a06", + "affectsGlobalScope": false + }, + "../src/index.ts": { + "version": "28e00fbb54a1977c150281717957b5a6cb3e81b3526625287e21fb48e38db4e7", + "signature": "bd118695c2c1154cd6c6859b7ba44d628ad7de935c91eff5be490133a2787f30", + "affectsGlobalScope": false + }, + "../test/ErrorsTest.ts": { + "version": "2f0e05d3d0cd37d1ae52d081b7f7f0360a2b29781fd4e59982a42b4bb8122196", + "signature": "d25d77030a1fc1690c108b839e3b4ce410ab9cdc69db62f31766bae05693e87b", + "affectsGlobalScope": false + }, + "../test/GherkinLineTest.ts": { + "version": "37bf563bc2a8b4244418537d226591a696ff2ef87c226795a87aec86c7bdc782", + "signature": "905994b945f17224edfd279894852c3595903bd8f811a82faafc22116b07dbe1", + "affectsGlobalScope": false + }, + "../test/ParserTest.ts": { + "version": "6c8974744f41ad6f49744dcca38a80bb2dd354e53cda446a861ff3287860fa45", + "signature": "8ad30f299f8d4008a296319d76d78cf4300340438c837ba7a1b76607705e48d9", + "affectsGlobalScope": false + }, + "../test/TokenMatcherTest.ts": { + "version": "d3281f41f8fcc7f9fa49a2e9a614284fa4bf58648eb216404e51f62d580ffc38", + "signature": "46ee4e89a844a78d91507b9314263fe9d0b753e52530fb71b1b80893894449e9", + "affectsGlobalScope": false + }, + "../package.json": { + "version": "d9bb3384560c82336906a85af8ad5019a44fa511ace757a5d7bf61fb2f3a601b", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/anymatch/index.d.ts": { + "version": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "signature": "48b52264fa193879a074197839dbb4796fa07e86350ff888e5361e06aa46df76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/braces/index.d.ts": { + "version": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "signature": "cfb42d1c8aa66607ef3b1e2cee85d28148358ba62dc5e5146b317dae7bfd9a96", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/chai/index.d.ts": { + "version": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "signature": "267813ae499a9c070ea61bca2d235e31e785181d967e4461719cbcc78a35abfe", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/color-name/index.d.ts": { + "version": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "signature": "f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/conversions.d.ts": { + "version": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "signature": "92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/route.d.ts": { + "version": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "signature": "8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color-convert/index.d.ts": { + "version": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "signature": "92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/color/index.d.ts": { + "version": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "signature": "ac502bda446da2b897b8fb9373199f08e111a82c19ea0f9a1debf49ed34b6970", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/cucumber/index.d.ts": { + "version": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "signature": "24669889f4a64d832f53c0408dac30ef08ed4134e92393055d51dcf36a922ae3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/elasticlunr/index.d.ts": { + "version": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "signature": "e148d28b0f7479b39ee4e26a249a97f9d9a4f81a6da227a04bfbc57e2807f577", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/helpers.d.ts": { + "version": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "signature": "f345b0888d003fd69cb32bad3a0aa04c615ccafc572019e4bd86a52bd5e49e46", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/json-schema/index.d.ts": { + "version": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "signature": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/estree/index.d.ts": { + "version": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "signature": "745a853d60bf782583a58584f59e202cae5c7a898b0c92696442602a3ef17a87", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint/index.d.ts": { + "version": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "signature": "ffa048767a32a0f6354e611b15d8b53d882da1a9a35455c35c3f6811f2416d17", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/eslint-scope/index.d.ts": { + "version": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "signature": "274bda283ef15f4205603ca9967313fc013aa77ae89f2cbeab5fbd51439e96ed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.d.ts": { + "version": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "signature": "25b4a0c4fab47c373ee49df4c239826ee3430019fc0c1b5e59edc3e398b7468d", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/async_hooks.d.ts": { + "version": "7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641", + "signature": "7698983d080f951eaf53ff81e5c7bd61abc02e4a1a21266f1bd79ea85c0dc641", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/buffer.d.ts": { + "version": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "signature": "5726b5ce952dc5beaeb08d5f64236632501568a54a390363d2339ba1dc5393b1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/child_process.d.ts": { + "version": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "signature": "674bedbfd2004e233e2a266a3d2286e524f0d58787a98522d834d6ccda1d215a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/cluster.d.ts": { + "version": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "signature": "714637d594e1a38a075091fe464ca91c6abc0b154784b4287f6883200e28ccef", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/console.d.ts": { + "version": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "signature": "23edba5f47d3409810c563fe8034ae2c59e718e1ef8570f4152ccdde1915a096", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/constants.d.ts": { + "version": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "signature": "0e9c55f894ca2d9cf63b5b0d43a8cec1772dd560233fd16275bc7a485eb82f83", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/crypto.d.ts": { + "version": "64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d", + "signature": "64813a6beff756b9e3f3c06d1b648d55e7c90af2b55c64d13a69d6c7f573643d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dgram.d.ts": { + "version": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "signature": "5f0a09de75bd965c21dc6d73671ba88830272f9ed62897bb0aa9754b369b1eed", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/dns.d.ts": { + "version": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "signature": "2b34e7fcba9e1f24e7f54ba5c8be5a8895b0b8b444ccf6548e04acdee0899317", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/domain.d.ts": { + "version": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "signature": "06d2be99c3dd2ff52114d02ee443ba486ab482423df1941d3c97d6a92e924d70", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/events.d.ts": { + "version": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "signature": "bfd4f140c07091b5e8a963c89e6fa3f44b6cfcbc11471b465cf63e2d020ad0eb", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/fs.d.ts": { + "version": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "signature": "a106a0bea088b70879ac88ff606dc253c0cc474ea05ad3a282b8bfb1091ae576", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/fs/promises.d.ts": { + "version": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "signature": "c98ce957db9eebd75f53edda3f6893e05ab2d2283b5667b18e31bcdb6427ed10", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http.d.ts": { + "version": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "signature": "1f08bd8305d4a789a68f71ab622156dfff993aa51a2aa58b9ccf166cc6f9fcf7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/http2.d.ts": { + "version": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "signature": "9aff68f1b847b846d3d50a58c9f8f99389bedd0258d1b1c201f11b97ecfd36f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/https.d.ts": { + "version": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "signature": "1978992206803f5761e99e893d93b25abc818c5fe619674fdf2ae02b29f641ba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/inspector.d.ts": { + "version": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "signature": "05fbe81f09fc455a2c343d2458d2b3c600c90b92b22926be765ee79326be9466", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/module.d.ts": { + "version": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "signature": "8e7d6dae9e19bbe47600dcfd4418db85b30ae7351474ea0aad5e628f9845d340", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/net.d.ts": { + "version": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "signature": "f20ea392f7f27feb7a90e5a24319a4e365b07bf83c39a547711fe7ff9df68657", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/os.d.ts": { + "version": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "signature": "32542c4660ecda892a333a533feedba31738ee538ef6a78eb73af647137bc3fc", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/path.d.ts": { + "version": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "signature": "0ecacea5047d1a7d350e7049dbd22f26435be5e8736a81a56afec5b3264db1ca", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/perf_hooks.d.ts": { + "version": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "signature": "ffcb4ebde21f83370ed402583888b28651d2eb7f05bfec9482eb46d82adedd7f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/process.d.ts": { + "version": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "signature": "06c004006016a51c4d1855527a523562c329dc44c473931c65f10373281f730e", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/punycode.d.ts": { + "version": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "signature": "a7b43c69f9602d198825e403ee34e5d64f83c48b391b2897e8c0e6f72bca35f8", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/querystring.d.ts": { + "version": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "signature": "f4a3fc4efc6944e7b7bd4ccfa45e0df68b6359808e6cf9d061f04fd964a7b2d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/readline.d.ts": { + "version": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "signature": "73cad675aead7a2c05cf934e7e700c61d84b2037ac1d576c3f751199b25331da", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/repl.d.ts": { + "version": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "signature": "8c3137ba3583ec18484429ec1c8eff89efdc42730542f157b38b102fdccc0c71", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/stream.d.ts": { + "version": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "signature": "d84300d886b45a198c346158e4ff7ae361cc7bc1c3deab44afb3db7de56b5d25", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/string_decoder.d.ts": { + "version": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "signature": "94ca7beec4e274d32362b54e0133152f7b4be9487db7b005070c03880b6363aa", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/timers.d.ts": { + "version": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "signature": "2d713cbcbd5bcc38d91546eaeea7bb1c8686dc4a2995a28556d957b1b9de11d9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tls.d.ts": { + "version": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "signature": "bbf21f210782db4193359010a4710786add43e3b50aa42fc0d371f45b4e4d8d3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/trace_events.d.ts": { + "version": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "signature": "0b7733d83619ac4e3963e2a9f7c75dc1e9af6850cb2354c9554977813092c10a", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/tty.d.ts": { + "version": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "signature": "3ce933f0c3955f67f67eb7d6b5c83c2c54a18472c1d6f2bb651e51dd40c84837", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/url.d.ts": { + "version": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "signature": "631e96db896d645f7132c488ad34a16d71fd2be9f44696f8c98289ee1c8cbfa9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/util.d.ts": { + "version": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "signature": "2c77230d381cba81eb6f87cda2fbfff6c0427c6546c2e2590110effff37c58f7", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/v8.d.ts": { + "version": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "signature": "da86ee9a2f09a4583db1d5e37815894967e1f694ad9f3c25e84e0e4d40411e14", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/vm.d.ts": { + "version": "66679e8ffbf1fddef1796c60757e54e6e6551dd9823f75ef2f80176473bdaaff", + "signature": "66679e8ffbf1fddef1796c60757e54e6e6551dd9823f75ef2f80176473bdaaff", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/worker_threads.d.ts": { + "version": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "signature": "ddc086b1adac44e2fccf55422da1e90fa970e659d77f99712422a421564b4877", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/zlib.d.ts": { + "version": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "signature": "515ef1d99036ff0dafa5bf738e02222edea94e0d97a0aa0ff277ac5e96b57977", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/globals.global.d.ts": { + "version": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "signature": "2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node/wasi.d.ts": { + "version": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "signature": "780058f4a804c8bdcdd2f60e7af64b2bc57d149c1586ee3db732a84d659a50bf", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/ts3.6/base.d.ts": { + "version": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "signature": "ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/assert.d.ts": { + "version": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "signature": "19d580a3b42ad5caeaee266ae958260e23f2df0549ee201c886c8bd7a4f01d4e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/base.d.ts": { + "version": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "signature": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node/index.d.ts": { + "version": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "signature": "9c4c395e927045b324877acdc4bfb95f128f36bc9f073266a2f0342495075a4f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/minimatch/index.d.ts": { + "version": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "signature": "1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob/index.d.ts": { + "version": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "signature": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/glob-base/index.d.ts": { + "version": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "signature": "d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/graceful-fs/index.d.ts": { + "version": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "signature": "3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/unist/index.d.ts": { + "version": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "signature": "1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/hast/index.d.ts": { + "version": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "signature": "b6e83cdeca61289e5ffd770e55ed035babdffadd87d1ffa42b03e9fe8411333f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/html-minifier-terser/index.d.ts": { + "version": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "signature": "6767cce098e1e6369c26258b7a1f9e569c5467d501a47a090136d5ea6e80ae6d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/is-function/index.d.ts": { + "version": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "signature": "11ef35fa1e8aef8229ce6b62ac1a6a0761d1d4bb4de1538bce6d10762a919139", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts": { + "version": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "signature": "de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": { + "version": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "signature": "7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/istanbul-reports/index.d.ts": { + "version": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "signature": "905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/js-yaml/index.d.ts": { + "version": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "signature": "914dc265139513b2a984498b0c969c177493cc7ae436375dbc102307a7f8ab07", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": { + "version": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "signature": "fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse5/index.d.ts": { + "version": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "signature": "a7dbf3a9c06327c5329cd020982b0649e8369200cdf8ec4571b93a1ba074a5d2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tough-cookie/index.d.ts": { + "version": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "signature": "a6c4cc913246a4f40423d0c6e618239072d7662bd54f6d8b8be59aec55d59873", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": { + "version": "7c7bffe8dc52cffdd34f5402f18d69305c82138cab1312cce58f470285103b0f", + "signature": "7c7bffe8dc52cffdd34f5402f18d69305c82138cab1312cce58f470285103b0f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/jsdom/index.d.ts": { + "version": "2337b79db6888645933d152006ceecbc8663f956eb8cbed0b2e4287a23a71cda", + "signature": "2337b79db6888645933d152006ceecbc8663f956eb8cbed0b2e4287a23a71cda", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/json5/index.d.ts": { + "version": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "signature": "96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/long/index.d.ts": { + "version": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "signature": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/global.d.ts": { + "version": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "signature": "ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts": { + "version": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "signature": "0a6f28e1d77b99b0ef7da2f0bf50f301ea8a7eb7b4f573e458e725452a477bd2", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/prop-types/index.d.ts": { + "version": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "signature": "a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/scheduler/tracing.d.ts": { + "version": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "signature": "f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react/index.d.ts": { + "version": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "signature": "5d708266116e778d6a4140fca2ac36f71d99b4c68bc3be63a45ba8bf5ade5348", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": { + "version": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "signature": "9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mdast/index.d.ts": { + "version": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "signature": "9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/micromatch/index.d.ts": { + "version": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "signature": "9c36d6df17ca69a65a2a654d9bbd86d74c6d6055e566429cd0a1de82827680eb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/mocha/index.d.ts": { + "version": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "signature": "0359800d3b440f8515001431cde1500944e156040577425eb3f7b80af0846612", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": { + "version": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "signature": "736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/externals.d.ts": { + "version": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "signature": "972f1e91dab93b182624a17eeed02f683b8cb3fefbda7b689cc84570029d5f73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/node-fetch/index.d.ts": { + "version": "9895aad6ad1d505e2b03c8e41c8643b60a813ad130eb68f843b736b2db7d42e1", + "signature": "9895aad6ad1d505e2b03c8e41c8643b60a813ad130eb68f843b736b2db7d42e1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/normalize-package-data/index.d.ts": { + "version": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "signature": "c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/npmlog/index.d.ts": { + "version": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "signature": "0d65b782b1a9b5891802ef2022c78481b19dfe133ba8d9f7596fe1320314342d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/overlayscrollbars/index.d.ts": { + "version": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "signature": "1502b874bbaafdb762b3907945740f787058a6aabff5e27377f9b45e4bb08ff3", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/parse-json/index.d.ts": { + "version": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "signature": "2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/pretty-hrtime/index.d.ts": { + "version": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "signature": "b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/qs/index.d.ts": { + "version": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "signature": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/reach__router/index.d.ts": { + "version": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "signature": "3b280b52be6f8727fbdae05a2ad2c053dac5be97c42a5caa1740e64a2321e935", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-dom/index.d.ts": { + "version": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "signature": "ee7266c6f312a6bf9612691b7fff1dfde32a609d150521c1f20d3f7972bc7586", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": { + "version": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "signature": "cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/scheduler/index.d.ts": { + "version": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "signature": "3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts": { + "version": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "signature": "558a9770503071d5a6fc6c596f7230bb79f2d034ced4a205bd1ebcad3b5879ec", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon/index.d.ts": { + "version": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "signature": "9d92b037978bb9525bc4b673ebddd443277542e010c0aef019c03a170ccdaa73", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/sinon-chai/index.d.ts": { + "version": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "signature": "b98f6185455945922c7cfdad772ec1c46e5c169a2d71aca6530e041f77665f03", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/source-list-map/index.d.ts": { + "version": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "signature": "67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stack-utils/index.d.ts": { + "version": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "signature": "c6c4fea9acc55d5e38ff2b70d57ab0b5cdbd08f8bc5d7a226e322cea128c5b57", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/stream-buffers/index.d.ts": { + "version": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "signature": "bbebca3b08d774325e29007bf354fbb9bc027b4990e89911efdd66d244f7bfd9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/tapable/index.d.ts": { + "version": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "signature": "d558a0fe921ebcc88d3212c2c42108abf9f0d694d67ebdeba37d7728c044f579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uglify-js/index.d.ts": { + "version": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "signature": "bee79f5862fe1278d2ba275298862bce3f7abf1e59d9c669c4b9a4b2bba96956", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/uuid/index.d.ts": { + "version": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "signature": "96b49a9de749afcf92b5bce1d8cc42cfae6816cdf5ea36584fd9256b8b2e5292", + "affectsGlobalScope": false + }, + "../../../node_modules/anymatch/index.d.ts": { + "version": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "signature": "4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts": { + "version": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "signature": "2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts": { + "version": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "signature": "b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": { + "version": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "signature": "8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": { + "version": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "signature": "ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": { + "version": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "signature": "083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": { + "version": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "signature": "274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": { + "version": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "signature": "6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": { + "version": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "signature": "5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": { + "version": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "signature": "f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": { + "version": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "signature": "0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": { + "version": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "signature": "8ef5aad624890acfe0fa48230edce255f00934016d16acb8de0edac0ea5b21bb", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": { + "version": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "signature": "9af6248ff4baf0c1ddc62bb0bc43197437bd5fb2c95ff8e10e4cf2e699ea45c1", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": { + "version": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "signature": "d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-sources/index.d.ts": { + "version": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "signature": "89b42f8ee5d387a39db85ee2c7123a391c3ede266a2bcd502c85ad55626c3b2b", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack/index.d.ts": { + "version": "f7391eb1cb10ab561aa3ce7c610ea97aa4ab33fc709ee5e2adde541defde882f", + "signature": "f7391eb1cb10ab561aa3ce7c610ea97aa4ab33fc709ee5e2adde541defde882f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/webpack-env/index.d.ts": { + "version": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "signature": "5b3e6ce357a7a1a07c858432a3d2002750058725874db09a03a0a9e899d861f5", + "affectsGlobalScope": true + }, + "../../../node_modules/@types/yargs-parser/index.d.ts": { + "version": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "signature": "3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yargs/index.d.ts": { + "version": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "signature": "5a2a25feca554a8f289ed62114771b8c63d89f2b58325e2f8b7043e4e0160d11", + "affectsGlobalScope": false + }, + "../../../node_modules/@types/yauzl/index.d.ts": { + "version": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "signature": "3845d3b64286c12c60d39fc90ac1cc5e47cbc951530658d2567d578b2faa1f26", + "affectsGlobalScope": false + } + }, + "options": { + "declaration": true, + "target": 2, + "lib": [ + "lib.es2019.d.ts", + "lib.dom.d.ts" + ], + "sourceMap": true, + "allowJs": false, + "jsx": 2, + "resolveJsonModule": true, + "module": 1, + "esModuleInterop": true, + "noImplicitAny": true, + "moduleResolution": 2, + "outDir": "./", + "downlevelIteration": true, + "skipLibCheck": true, + "composite": true, + "declarationMap": true, + "rootDir": "..", + "configFilePath": "../tsconfig.build.json" + }, + "referencedMap": { + "../src/AstBuilder.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/AstNode.ts", + "../src/Errors.ts", + "../src/IAstBuilder.ts", + "../src/IToken.ts", + "../src/Parser.ts", + "../src/createLocation.ts" + ], + "../src/AstNode.ts": [ + "../src/IToken.ts", + "../src/Parser.ts" + ], + "../src/Errors.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/createLocation.ts" + ], + "../src/GherkinLine.ts": [ + "../src/Errors.ts", + "../src/countSymbols.ts" + ], + "../src/IAstBuilder.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IToken.ts" + ], + "../src/IGherkinOptions.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/IToken.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/GherkinLine.ts" + ], + "../src/ITokenMatcher.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IToken.ts" + ], + "../src/Parser.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/Errors.ts", + "../src/GherkinLine.ts", + "../src/IAstBuilder.ts", + "../src/IToken.ts", + "../src/ITokenMatcher.ts", + "../src/TokenExceptions.ts", + "../src/TokenScanner.ts" + ], + "../src/TokenExceptions.ts": [ + "../src/Errors.ts", + "../src/IToken.ts", + "../src/createLocation.ts" + ], + "../src/TokenMatcher.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/Dialect.ts", + "../src/Errors.ts", + "../src/IToken.ts", + "../src/ITokenMatcher.ts", + "../src/Parser.ts", + "../src/gherkin-languages.json" + ], + "../src/TokenScanner.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IToken.ts", + "../src/createLocation.ts" + ], + "../src/createLocation.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/generateMessages.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/AstBuilder.ts", + "../src/IGherkinOptions.ts", + "../src/Parser.ts", + "../src/TokenMatcher.ts", + "../src/makeSourceEnvelope.ts", + "../src/pickles/compile.ts" + ], + "../src/index.ts": [ + "../src/AstBuilder.ts", + "../src/Dialect.ts", + "../src/IGherkinOptions.ts", + "../src/Parser.ts", + "../src/TokenMatcher.ts", + "../src/TokenScanner.ts", + "../src/generateMessages.ts", + "../src/gherkin-languages.json", + "../src/makeSourceEnvelope.ts", + "../src/pickles/compile.ts" + ], + "../src/makeSourceEnvelope.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/pickles/compile.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../test/ErrorsTest.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../src/Errors.ts" + ], + "../test/GherkinLineTest.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../src/GherkinLine.ts" + ], + "../test/ParserTest.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../src/AstBuilder.ts", + "../src/AstNode.ts", + "../src/Parser.ts", + "../src/TokenMatcher.ts", + "../src/generateMessages.ts" + ], + "../test/TokenMatcherTest.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../src/Errors.ts", + "../src/TokenMatcher.ts" + ], + "../../../messages/javascript/dist/src/TimeConversion.d.ts": [ + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/index.d.ts": [ + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/messages.d.ts": [ + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ] + }, + "exportedModulesMap": { + "../src/AstBuilder.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/AstNode.ts", + "../src/IAstBuilder.ts", + "../src/IToken.ts", + "../src/Parser.ts" + ], + "../src/AstNode.ts": [ + "../src/IToken.ts", + "../src/Parser.ts" + ], + "../src/Errors.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/IAstBuilder.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IToken.ts" + ], + "../src/IGherkinOptions.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/IToken.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/GherkinLine.ts" + ], + "../src/ITokenMatcher.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IToken.ts" + ], + "../src/Parser.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/GherkinLine.ts", + "../src/IAstBuilder.ts", + "../src/IToken.ts", + "../src/ITokenMatcher.ts" + ], + "../src/TokenExceptions.ts": [ + "../src/Errors.ts", + "../src/IToken.ts" + ], + "../src/TokenMatcher.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IToken.ts", + "../src/ITokenMatcher.ts", + "../src/Parser.ts" + ], + "../src/TokenScanner.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IToken.ts" + ], + "../src/createLocation.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/generateMessages.ts": [ + "../../../messages/javascript/dist/src/index.d.ts", + "../src/IGherkinOptions.ts" + ], + "../src/index.ts": [ + "../src/AstBuilder.ts", + "../src/Dialect.ts", + "../src/IGherkinOptions.ts", + "../src/Parser.ts", + "../src/TokenMatcher.ts", + "../src/TokenScanner.ts", + "../src/generateMessages.ts", + "../src/makeSourceEnvelope.ts", + "../src/pickles/compile.ts" + ], + "../src/makeSourceEnvelope.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../src/pickles/compile.ts": [ + "../../../messages/javascript/dist/src/index.d.ts" + ], + "../../../messages/javascript/dist/src/TimeConversion.d.ts": [ + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/index.d.ts": [ + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts" + ], + "../../../messages/javascript/dist/src/messages.d.ts": [ + "../../../node_modules/protobufjs/index.d.ts" + ], + "../../../node_modules/@types/color-convert/conversions.d.ts": [ + "../../../node_modules/@types/color-name/index.d.ts" + ], + "../../../node_modules/@types/color-convert/index.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts" + ], + "../../../node_modules/@types/color-convert/route.d.ts": [ + "../../../node_modules/@types/color-convert/conversions.d.ts" + ], + "../../../node_modules/@types/color/index.d.ts": [ + "../../../node_modules/@types/color-convert/index.d.ts" + ], + "../../../node_modules/@types/eslint-scope/index.d.ts": [ + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts" + ], + "../../../node_modules/@types/eslint/index.d.ts": [ + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts" + ], + "../../../node_modules/@types/glob/index.d.ts": [ + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/graceful-fs/index.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/index.d.ts" + ], + "../../../node_modules/@types/hast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/istanbul-lib-report/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts" + ], + "../../../node_modules/@types/istanbul-reports/index.d.ts": [ + "../../../node_modules/@types/istanbul-lib-report/index.d.ts" + ], + "../../../node_modules/@types/jsdom/index.d.ts": [ + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts" + ], + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts": [ + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts" + ], + "../../../node_modules/@types/markdown-to-jsx/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/mdast/index.d.ts": [ + "../../../node_modules/@types/unist/index.d.ts" + ], + "../../../node_modules/@types/micromatch/index.d.ts": [ + "../../../node_modules/@types/braces/index.d.ts" + ], + "../../../node_modules/@types/node-fetch/index.d.ts": [ + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/assert.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts" + ], + "../../../node_modules/@types/node/async_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts" + ], + "../../../node_modules/@types/node/base.d.ts": [ + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts" + ], + "../../../node_modules/@types/node/buffer.d.ts": [ + "../../../node_modules/@types/node/buffer.d.ts" + ], + "../../../node_modules/@types/node/child_process.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/cluster.d.ts": [ + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/console.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/constants.d.ts": [ + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/crypto.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/dgram.d.ts": [ + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts" + ], + "../../../node_modules/@types/node/dns.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts" + ], + "../../../node_modules/@types/node/domain.d.ts": [ + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/events.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/node/fs.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/fs/promises.d.ts": [ + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts" + ], + "../../../node_modules/@types/node/http.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/http2.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/https.d.ts": [ + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/index.d.ts": [ + "../../../node_modules/@types/node/base.d.ts" + ], + "../../../node_modules/@types/node/inspector.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/inspector.d.ts" + ], + "../../../node_modules/@types/node/module.d.ts": [ + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/net.d.ts": [ + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/os.d.ts": [ + "../../../node_modules/@types/node/os.d.ts" + ], + "../../../node_modules/@types/node/path.d.ts": [ + "../../../node_modules/@types/node/path.d.ts" + ], + "../../../node_modules/@types/node/perf_hooks.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts" + ], + "../../../node_modules/@types/node/process.d.ts": [ + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/punycode.d.ts": [ + "../../../node_modules/@types/node/punycode.d.ts" + ], + "../../../node_modules/@types/node/querystring.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts" + ], + "../../../node_modules/@types/node/readline.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/readline.d.ts" + ], + "../../../node_modules/@types/node/repl.d.ts": [ + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/stream.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/node/string_decoder.d.ts": [ + "../../../node_modules/@types/node/string_decoder.d.ts" + ], + "../../../node_modules/@types/node/timers.d.ts": [ + "../../../node_modules/@types/node/timers.d.ts" + ], + "../../../node_modules/@types/node/tls.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tls.d.ts" + ], + "../../../node_modules/@types/node/trace_events.d.ts": [ + "../../../node_modules/@types/node/trace_events.d.ts" + ], + "../../../node_modules/@types/node/ts3.6/base.d.ts": [ + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/node/tty.d.ts": [ + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/tty.d.ts" + ], + "../../../node_modules/@types/node/url.d.ts": [ + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/url.d.ts" + ], + "../../../node_modules/@types/node/util.d.ts": [ + "../../../node_modules/@types/node/util.d.ts" + ], + "../../../node_modules/@types/node/v8.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/v8.d.ts" + ], + "../../../node_modules/@types/node/vm.d.ts": [ + "../../../node_modules/@types/node/vm.d.ts" + ], + "../../../node_modules/@types/node/wasi.d.ts": [ + "../../../node_modules/@types/node/wasi.d.ts" + ], + "../../../node_modules/@types/node/worker_threads.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts" + ], + "../../../node_modules/@types/node/zlib.d.ts": [ + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/zlib.d.ts" + ], + "../../../node_modules/@types/npmlog/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts" + ], + "../../../node_modules/@types/parse5/index.d.ts": [ + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts" + ], + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts": [ + "../../../node_modules/@types/parse5/index.d.ts" + ], + "../../../node_modules/@types/reach__router/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-dom/index.d.ts": [ + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts": [ + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/index.d.ts" + ], + "../../../node_modules/@types/react/index.d.ts": [ + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts" + ], + "../../../node_modules/@types/sinon-chai/index.d.ts": [ + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts" + ], + "../../../node_modules/@types/sinon/index.d.ts": [ + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts" + ], + "../../../node_modules/@types/stream-buffers/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ], + "../../../node_modules/@types/uglify-js/index.d.ts": [ + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/index.d.ts": [ + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts": [ + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack-sources/lib/index.d.ts": [ + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts" + ], + "../../../node_modules/@types/webpack/index.d.ts": [ + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/anymatch/index.d.ts" + ], + "../../../node_modules/@types/yargs/index.d.ts": [ + "../../../node_modules/@types/yargs-parser/index.d.ts" + ], + "../../../node_modules/@types/yauzl/index.d.ts": [ + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/stream.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../package.json", + "../src/AstBuilder.ts", + "../src/AstNode.ts", + "../src/Dialect.ts", + "../src/Errors.ts", + "../src/GherkinLine.ts", + "../src/IAstBuilder.ts", + "../src/IGherkinOptions.ts", + "../src/IToken.ts", + "../src/ITokenMatcher.ts", + "../src/Parser.ts", + "../src/TokenExceptions.ts", + "../src/TokenMatcher.ts", + "../src/TokenScanner.ts", + "../src/countSymbols.ts", + "../src/createLocation.ts", + "../src/generateMessages.ts", + "../src/gherkin-languages.json", + "../src/index.ts", + "../src/makeSourceEnvelope.ts", + "../src/pickles/compile.ts", + "../test/ErrorsTest.ts", + "../test/GherkinLineTest.ts", + "../test/ParserTest.ts", + "../test/TokenMatcherTest.ts", + "../../../messages/javascript/dist/package.json", + "../../../messages/javascript/dist/src/IdGenerator.d.ts", + "../../../messages/javascript/dist/src/TimeConversion.d.ts", + "../../../messages/javascript/dist/src/index.d.ts", + "../../../messages/javascript/dist/src/messages.d.ts", + "../../../node_modules/@types/anymatch/index.d.ts", + "../../../node_modules/@types/braces/index.d.ts", + "../../../node_modules/@types/chai/index.d.ts", + "../../../node_modules/@types/color-convert/conversions.d.ts", + "../../../node_modules/@types/color-convert/index.d.ts", + "../../../node_modules/@types/color-convert/route.d.ts", + "../../../node_modules/@types/color-name/index.d.ts", + "../../../node_modules/@types/color/index.d.ts", + "../../../node_modules/@types/cucumber/index.d.ts", + "../../../node_modules/@types/elasticlunr/index.d.ts", + "../../../node_modules/@types/eslint-scope/index.d.ts", + "../../../node_modules/@types/eslint/helpers.d.ts", + "../../../node_modules/@types/eslint/index.d.ts", + "../../../node_modules/@types/estree/index.d.ts", + "../../../node_modules/@types/glob-base/index.d.ts", + "../../../node_modules/@types/glob/index.d.ts", + "../../../node_modules/@types/graceful-fs/index.d.ts", + "../../../node_modules/@types/hast/index.d.ts", + "../../../node_modules/@types/html-minifier-terser/index.d.ts", + "../../../node_modules/@types/is-function/index.d.ts", + "../../../node_modules/@types/istanbul-lib-coverage/index.d.ts", + "../../../node_modules/@types/istanbul-lib-report/index.d.ts", + "../../../node_modules/@types/istanbul-reports/index.d.ts", + "../../../node_modules/@types/js-yaml/index.d.ts", + "../../../node_modules/@types/jsdom/index.d.ts", + "../../../node_modules/@types/jsdom/ts3.5/index.d.ts", + "../../../node_modules/@types/json-schema/index.d.ts", + "../../../node_modules/@types/json5/index.d.ts", + "../../../node_modules/@types/long/index.d.ts", + "../../../node_modules/@types/markdown-to-jsx/index.d.ts", + "../../../node_modules/@types/mdast/index.d.ts", + "../../../node_modules/@types/micromatch/index.d.ts", + "../../../node_modules/@types/minimatch/index.d.ts", + "../../../node_modules/@types/mocha/index.d.ts", + "../../../node_modules/@types/node-fetch/externals.d.ts", + "../../../node_modules/@types/node-fetch/index.d.ts", + "../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts", + "../../../node_modules/@types/node/assert.d.ts", + "../../../node_modules/@types/node/async_hooks.d.ts", + "../../../node_modules/@types/node/base.d.ts", + "../../../node_modules/@types/node/buffer.d.ts", + "../../../node_modules/@types/node/child_process.d.ts", + "../../../node_modules/@types/node/cluster.d.ts", + "../../../node_modules/@types/node/console.d.ts", + "../../../node_modules/@types/node/constants.d.ts", + "../../../node_modules/@types/node/crypto.d.ts", + "../../../node_modules/@types/node/dgram.d.ts", + "../../../node_modules/@types/node/dns.d.ts", + "../../../node_modules/@types/node/domain.d.ts", + "../../../node_modules/@types/node/events.d.ts", + "../../../node_modules/@types/node/fs.d.ts", + "../../../node_modules/@types/node/fs/promises.d.ts", + "../../../node_modules/@types/node/globals.d.ts", + "../../../node_modules/@types/node/globals.global.d.ts", + "../../../node_modules/@types/node/http.d.ts", + "../../../node_modules/@types/node/http2.d.ts", + "../../../node_modules/@types/node/https.d.ts", + "../../../node_modules/@types/node/index.d.ts", + "../../../node_modules/@types/node/inspector.d.ts", + "../../../node_modules/@types/node/module.d.ts", + "../../../node_modules/@types/node/net.d.ts", + "../../../node_modules/@types/node/os.d.ts", + "../../../node_modules/@types/node/path.d.ts", + "../../../node_modules/@types/node/perf_hooks.d.ts", + "../../../node_modules/@types/node/process.d.ts", + "../../../node_modules/@types/node/punycode.d.ts", + "../../../node_modules/@types/node/querystring.d.ts", + "../../../node_modules/@types/node/readline.d.ts", + "../../../node_modules/@types/node/repl.d.ts", + "../../../node_modules/@types/node/stream.d.ts", + "../../../node_modules/@types/node/string_decoder.d.ts", + "../../../node_modules/@types/node/timers.d.ts", + "../../../node_modules/@types/node/tls.d.ts", + "../../../node_modules/@types/node/trace_events.d.ts", + "../../../node_modules/@types/node/ts3.6/base.d.ts", + "../../../node_modules/@types/node/tty.d.ts", + "../../../node_modules/@types/node/url.d.ts", + "../../../node_modules/@types/node/util.d.ts", + "../../../node_modules/@types/node/v8.d.ts", + "../../../node_modules/@types/node/vm.d.ts", + "../../../node_modules/@types/node/wasi.d.ts", + "../../../node_modules/@types/node/worker_threads.d.ts", + "../../../node_modules/@types/node/zlib.d.ts", + "../../../node_modules/@types/normalize-package-data/index.d.ts", + "../../../node_modules/@types/npmlog/index.d.ts", + "../../../node_modules/@types/overlayscrollbars/index.d.ts", + "../../../node_modules/@types/parse-json/index.d.ts", + "../../../node_modules/@types/parse5/index.d.ts", + "../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts", + "../../../node_modules/@types/pretty-hrtime/index.d.ts", + "../../../node_modules/@types/prop-types/index.d.ts", + "../../../node_modules/@types/qs/index.d.ts", + "../../../node_modules/@types/reach__router/index.d.ts", + "../../../node_modules/@types/react-dom/index.d.ts", + "../../../node_modules/@types/react-syntax-highlighter/index.d.ts", + "../../../node_modules/@types/react/global.d.ts", + "../../../node_modules/@types/react/index.d.ts", + "../../../node_modules/@types/react/node_modules/csstype/index.d.ts", + "../../../node_modules/@types/scheduler/index.d.ts", + "../../../node_modules/@types/scheduler/tracing.d.ts", + "../../../node_modules/@types/sinon-chai/index.d.ts", + "../../../node_modules/@types/sinon/index.d.ts", + "../../../node_modules/@types/sinonjs__fake-timers/index.d.ts", + "../../../node_modules/@types/source-list-map/index.d.ts", + "../../../node_modules/@types/stack-utils/index.d.ts", + "../../../node_modules/@types/stream-buffers/index.d.ts", + "../../../node_modules/@types/tapable/index.d.ts", + "../../../node_modules/@types/tough-cookie/index.d.ts", + "../../../node_modules/@types/uglify-js/index.d.ts", + "../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/unist/index.d.ts", + "../../../node_modules/@types/uuid/index.d.ts", + "../../../node_modules/@types/webpack-env/index.d.ts", + "../../../node_modules/@types/webpack-sources/index.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/Source.d.ts", + "../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts", + "../../../node_modules/@types/webpack-sources/lib/index.d.ts", + "../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/webpack/index.d.ts", + "../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts", + "../../../node_modules/@types/yargs-parser/index.d.ts", + "../../../node_modules/@types/yargs/index.d.ts", + "../../../node_modules/@types/yauzl/index.d.ts", + "../../../node_modules/anymatch/index.d.ts", + "../../../node_modules/protobufjs/index.d.ts", + "../../../node_modules/typescript/lib/lib.dom.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.collection.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.core.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.generator.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts", + "../../../node_modules/typescript/lib/lib.es2016.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.intl.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.promise.d.ts", + "../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.array.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.object.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.string.d.ts", + "../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts", + "../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts", + "../../../node_modules/typescript/lib/lib.es5.d.ts", + "../../../node_modules/typescript/lib/lib.esnext.intl.d.ts" + ] + }, + "version": "4.2.3" +} \ No newline at end of file diff --git a/node_modules/@cucumber/gherkin/gherkin-javascript.razor b/node_modules/@cucumber/gherkin/gherkin-javascript.razor new file mode 100755 index 0000000..9968246 --- /dev/null +++ b/node_modules/@cucumber/gherkin/gherkin-javascript.razor @@ -0,0 +1,276 @@ +@using Berp; +@helper CallProduction(ProductionRule production) +{ + switch(production.Type) + { + case ProductionRuleType.Start: + @:this.startRule(context, RuleType.@production.RuleName); + break; + case ProductionRuleType.End: + @:this.endRule(context); + break; + case ProductionRuleType.Process: + @:this.build(context, token); + break; + } +} +@helper HandleParserError(IEnumerable expectedTokens, State state) +{ + token.detach(); + const expectedTokens = ["@Raw(string.Join("\", \"", expectedTokens))"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return @state.Id;} +@helper MatchToken(TokenType tokenType) +{match_@(tokenType)(context, token)} +// This file is generated. Do not edit! Edit gherkin-javascript.razor instead. + +import { messages } from '@@cucumber/messages' +import { + AstBuilderException, + CompositeParserException, + NoSuchLanguageException, + ParserException, +} from './Errors' +import { + UnexpectedEOFException, + UnexpectedTokenException, +} from './TokenExceptions' +import TokenScanner from './TokenScanner' +import GherkinLine from './GherkinLine' +import IToken from './IToken' +import { IAstBuilder } from './IAstBuilder' +import ITokenMatcher from './ITokenMatcher' + +export class Token implements IToken { + public isEof: boolean + public matchedText?: string + public matchedType: TokenType + public matchedItems: GherkinLine[] + public matchedKeyword: string + public matchedIndent: number + public matchedGherkinDialect: string + + constructor( + public readonly line: GherkinLine, + public readonly location: messages.ILocation + ) { + this.isEof = !line + } + + public getTokenValue(): string { + return this.isEof ? 'EOF' : this.line.getLineText(-1) + } + + public detach() { + // TODO: Detach line, but is this really needed? + } +} + +export enum TokenType { + None, + @foreach(var rule in Model.RuleSet.TokenRules) + { @rule.Name.Replace("#", ""), +} +} + +export enum RuleType { + None, + @foreach(var rule in Model.RuleSet.Where(r => !r.TempRule)) + { @rule.Name.Replace("#", "_"), // @rule.ToString(true) +} +} + +interface Context { + tokenScanner: TokenScanner + tokenQueue: Token[] + errors: Error[] +} + +export default class Parser { + public stopAtFirstError = false + private context: Context + + constructor( + private readonly builder: IAstBuilder, + private readonly tokenMatcher: ITokenMatcher + ) {} + + public parse(gherkinSource: string): messages.IGherkinDocument { + const tokenScanner = new TokenScanner( + gherkinSource, + (line: string, location: messages.ILocation) => { + const gherkinLine = + line === null || line === undefined + ? null + : new GherkinLine(line, location.line) + return new Token(gherkinLine, location) + } + ) + this.builder.reset() + this.tokenMatcher.reset() + this.context = { + tokenScanner, + tokenQueue: [], + errors: [], + } + this.startRule(this.context, RuleType.GherkinDocument) + let state = 0 + let token: Token = null + while (true) { + token = this.readToken(this.context) as Token + state = this.matchToken(state, token, this.context) + if (token.isEof) break + } + + this.endRule(this.context) + + if (this.context.errors.length > 0) { + throw CompositeParserException.create(this.context.errors) + } + + return this.getResult() + } + + private addError(context: Context, error: Error) { + if (!context.errors.map(e => { return e.message }).includes(error.message)) { + context.errors.push(error) + if (context.errors.length > 10) + throw CompositeParserException.create(context.errors) + } + } + + private startRule(context: Context, ruleType: RuleType) { + this.handleAstError(context, () => this.builder.startRule(ruleType)) + } + + private endRule(context: Context) { + this.handleAstError(context, () => this.builder.endRule()) + } + + private build(context: Context, token: Token) { + this.handleAstError(context, () => this.builder.build(token)) + } + + private getResult() { + return this.builder.getResult() + } + + private handleAstError(context: Context, action: () => any) { + this.handleExternalError(context, true, action) + } + + private handleExternalError( + context: Context, + defaultValue: T, + action: () => T + ) { + if (this.stopAtFirstError) return action() + try { + return action() + } catch (e) { + if (e instanceof CompositeParserException) { + e.errors.forEach((error: Error) => this.addError(context, error)) + } else if ( + e instanceof ParserException || + e instanceof AstBuilderException || + e instanceof UnexpectedTokenException || + e instanceof NoSuchLanguageException + ) { + this.addError(context, e) + } else { + throw e + } + } + return defaultValue + } + + private readToken(context: Context) { + return context.tokenQueue.length > 0 + ? context.tokenQueue.shift() + : context.tokenScanner.read() + } + + private matchToken(state: number, token: Token, context: Context) { + switch(state) { + @foreach(var state in Model.States.Values.Where(s => !s.IsEndState)) + { + @:case @state.Id: + @:return this.matchTokenAt_@(state.Id)(token, context); + } + default: + throw new Error("Unknown state: " + state); + } + } + +@foreach(var state in Model.States.Values.Where(s => !s.IsEndState)) +{ + + // @Raw(state.Comment) + private matchTokenAt_@(state.Id)(token: Token, context: Context) { + @foreach(var transition in state.Transitions) + { + @:if(this.@MatchToken(transition.TokenType)) { + if (transition.LookAheadHint != null) + { + @:if(this.lookahead_@(transition.LookAheadHint.Id)(context, token)) { + } + foreach(var production in transition.Productions) + { + @CallProduction(production) + } + @:return @transition.TargetState; + if (transition.LookAheadHint != null) + { + @:} + } + @:} + } + @HandleParserError(state.Transitions.Select(t => "#" + t.TokenType.ToString()).Distinct(), state) + } + +} + +@foreach(var rule in Model.RuleSet.TokenRules) +{ + + private match_@(rule.Name.Replace("#", ""))(context: Context, token: Token) { + @if (rule.Name != "#EOF") + { + @:if(token.isEof) return false; + } + return this.handleExternalError(context, false, () => this.tokenMatcher.match_@(rule.Name.Replace("#", ""))(token)); + } + +} + +@foreach(var lookAheadHint in Model.RuleSet.LookAheadHints) +{ + + private lookahead_@(lookAheadHint.Id)(context: Context, currentToken: Token) { + currentToken.detach(); + let token; + const queue: Token[] = []; + let match = false; + do { + token = this.readToken(this.context); + token.detach(); + queue.push(token); + + if (false @foreach(var tokenType in lookAheadHint.ExpectedTokens) { || this.@MatchToken(tokenType)}) { + match = true; + break; + } + } while(false @foreach(var tokenType in lookAheadHint.Skip) { || this.@MatchToken(tokenType)}); + + context.tokenQueue = context.tokenQueue.concat(queue); + + return match; + } + +} + +} diff --git a/node_modules/@cucumber/gherkin/gherkin.berp b/node_modules/@cucumber/gherkin/gherkin.berp new file mode 100644 index 0000000..a1f7ecd --- /dev/null +++ b/node_modules/@cucumber/gherkin/gherkin.berp @@ -0,0 +1,38 @@ +[ + Tokens -> #Empty,#Comment,#TagLine,#FeatureLine,#RuleLine,#BackgroundLine,#ScenarioLine,#ExamplesLine,#StepLine,#DocStringSeparator,#TableRow,#Language + IgnoredTokens -> #Comment,#Empty + ClassName -> Parser + Namespace -> Gherkin +] + +GherkinDocument! := Feature? +Feature! := FeatureHeader Background? ScenarioDefinition* Rule* +FeatureHeader! := #Language? Tags? #FeatureLine DescriptionHelper + +Rule! := RuleHeader Background? ScenarioDefinition* +RuleHeader! := Tags? #RuleLine DescriptionHelper + +Background! := #BackgroundLine DescriptionHelper Step* + +// Interpreting a tag line is ambiguous (tag line of rule or of scenario) +ScenarioDefinition! [#Empty|#Comment|#TagLine->#ScenarioLine]:= Tags? Scenario + +Scenario! := #ScenarioLine DescriptionHelper Step* ExamplesDefinition* +// after the first "Data" block, interpreting a tag line is ambiguous (tagline of next examples or of next scenario) +// because of this, we need a lookahead hint, that connects the tag line to the next examples, if there is an examples block ahead +ExamplesDefinition! [#Empty|#Comment|#TagLine->#ExamplesLine]:= Tags? Examples +Examples! := #ExamplesLine DescriptionHelper ExamplesTable? +ExamplesTable! := #TableRow #TableRow* + +Step! := #StepLine StepArg? +StepArg := (DataTable | DocString) + +DataTable! := #TableRow+ +DocString! := #DocStringSeparator #Other* #DocStringSeparator + +Tags! := #TagLine+ + +// we need to explicitly mention comment, to avoid merging it into the description line's #Other token +// we also eat the leading empty lines, the tailing lines are not removed by the parser to avoid lookahead, this has to be done by the AST builder +DescriptionHelper := #Empty* Description? #Comment* +Description! := #Other+ diff --git a/node_modules/@cucumber/gherkin/package.json b/node_modules/@cucumber/gherkin/package.json new file mode 100644 index 0000000..c7cdfa8 --- /dev/null +++ b/node_modules/@cucumber/gherkin/package.json @@ -0,0 +1,69 @@ +{ + "_from": "@cucumber/gherkin@18.0.0", + "_id": "@cucumber/gherkin@18.0.0", + "_inBundle": false, + "_integrity": "sha512-Az+VD2NyOM2ZjzuVGrpJTl1VDv1j50graLtjUp7GfGYN+wMMV+jPgKV5fGYQeocjDnJYYlKymiUZzxcxvStJmg==", + "_location": "/@cucumber/gherkin", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "@cucumber/gherkin@18.0.0", + "name": "@cucumber/gherkin", + "escapedName": "@cucumber%2fgherkin", + "scope": "@cucumber", + "rawSpec": "18.0.0", + "saveSpec": null, + "fetchSpec": "18.0.0" + }, + "_requiredBy": [ + "/@cucumber/cucumber", + "/@cucumber/gherkin-streams" + ], + "_resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-18.0.0.tgz", + "_shasum": "af51ca7173aa7818ed1aa50e3477d9bbe9d1c954", + "_spec": "@cucumber/gherkin@18.0.0", + "_where": "/Users/ania/Projects/jan-molak/cucumber-js-1646/node_modules/@cucumber/cucumber", + "author": { + "name": "Aslak Hellesøy" + }, + "bugs": { + "url": "https://github.com/cucumber/cucumber/issues" + }, + "bundleDependencies": false, + "dependencies": { + "@cucumber/message-streams": "^1.0.0", + "@cucumber/messages": "^15.0.0" + }, + "deprecated": false, + "description": "Gherkin parser", + "devDependencies": { + "@types/mocha": "^8.2.2", + "@types/node": "^14.14.35", + "core-js": "^3.9.1", + "mocha": "^8.3.2", + "ts-node": "^9.1.1", + "typescript": "^4.2.3" + }, + "directories": { + "test": "test" + }, + "homepage": "https://github.com/cucumber/gherkin-javascript", + "keywords": [ + "gherkin", + "cucumber" + ], + "license": "MIT", + "main": "dist/src/index.js", + "name": "@cucumber/gherkin", + "repository": { + "type": "git", + "url": "git+https://github.com/cucumber/gherkin-javascript.git" + }, + "scripts": { + "prepublishOnly": "tsc --build tsconfig.build.json", + "test": "mocha" + }, + "types": "dist/src/index.d.ts", + "version": "18.0.0" +} diff --git a/node_modules/@cucumber/gherkin/scripts/gherkin.sh b/node_modules/@cucumber/gherkin/scripts/gherkin.sh new file mode 100755 index 0000000..f9669d8 --- /dev/null +++ b/node_modules/@cucumber/gherkin/scripts/gherkin.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# +# This is a shim around ./gherkin that falls back to using ts-node if the TypeScript +# code has not been compiled. Used in acceptance tests for gherkin/javascript only +# + +set -eu -o pipefail +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +if [[ -f "${DIR}/../../../gherkin-streams/javascript/dist/src/cli/main.js" ]]; then + ${DIR}/../../../gherkin-streams/javascript/bin/gherkin $* +else + echo -e "\033[0;31m*** TypeScript sources not compiled. Running with ts-node which is considerably slower. ***\033[0m" 1>&2 + echo -e "\033[0;31m*** To speed up, run 'pushd ../.. && npm run build && popd' ***\033[0m" 1>&2 + ${DIR}/../../../node_modules/.bin/ts-node \ + --require source-map-support/register \ + --require tsconfig-paths/register \ + ${DIR}/../../../gherkin-streams/javascript/src/cli/main.ts $* +fi diff --git a/node_modules/@cucumber/gherkin/src/AstBuilder.ts b/node_modules/@cucumber/gherkin/src/AstBuilder.ts new file mode 100644 index 0000000..fccf161 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/AstBuilder.ts @@ -0,0 +1,331 @@ +import AstNode from './AstNode' +import { IdGenerator, messages } from '@cucumber/messages' +import { RuleType, TokenType } from './Parser' +import { AstBuilderException } from './Errors' +import createLocation from './createLocation' +import IToken from './IToken' +import { IAstBuilder } from './IAstBuilder' + +export default class AstBuilder implements IAstBuilder { + stack: AstNode[] + comments: messages.GherkinDocument.IComment[] + readonly newId: IdGenerator.NewId + + constructor(newId: IdGenerator.NewId) { + this.newId = newId + if (!newId) { + throw new Error('No newId') + } + this.reset() + } + + reset() { + this.stack = [new AstNode(RuleType.None)] + this.comments = [] + } + + startRule(ruleType: RuleType) { + this.stack.push(new AstNode(ruleType)) + } + + endRule() { + const node = this.stack.pop() + const transformedNode = this.transformNode(node) + this.currentNode().add(node.ruleType, transformedNode) + } + + build(token: IToken) { + if (token.matchedType === TokenType.Comment) { + this.comments.push( + messages.GherkinDocument.Comment.create({ + location: this.getLocation(token), + text: token.matchedText, + }) + ) + } else { + this.currentNode().add(token.matchedType, token) + } + } + + getResult() { + return this.currentNode().getSingle(RuleType.GherkinDocument) + } + + currentNode() { + return this.stack[this.stack.length - 1] + } + + getLocation(token: IToken, column?: number): messages.ILocation { + return !column ? token.location : createLocation({ line: token.location.line, column }) + } + + getTags(node: AstNode) { + const tags: messages.GherkinDocument.Feature.ITag[] = [] + const tagsNode = node.getSingle(RuleType.Tags) + if (!tagsNode) { + return tags + } + const tokens = tagsNode.getTokens(TokenType.TagLine) + for (const token of tokens) { + for (const tagItem of token.matchedItems) { + tags.push( + messages.GherkinDocument.Feature.Tag.create({ + location: this.getLocation(token, tagItem.column), + name: tagItem.text, + id: this.newId(), + }) + ) + } + } + return tags + } + + getCells(tableRowToken: IToken) { + return tableRowToken.matchedItems.map((cellItem) => + messages.GherkinDocument.Feature.TableRow.TableCell.create({ + location: this.getLocation(tableRowToken, cellItem.column), + value: cellItem.text, + }) + ) + } + + getDescription(node: AstNode) { + return node.getSingle(RuleType.Description) + } + + getSteps(node: AstNode) { + return node.getItems(RuleType.Step) + } + + getTableRows(node: AstNode) { + const rows = node.getTokens(TokenType.TableRow).map((token) => + messages.GherkinDocument.Feature.TableRow.create({ + id: this.newId(), + location: this.getLocation(token), + cells: this.getCells(token), + }) + ) + this.ensureCellCount(rows) + return rows + } + + ensureCellCount(rows: messages.GherkinDocument.Feature.TableRow[]) { + if (rows.length === 0) { + return + } + const cellCount = rows[0].cells.length + + rows.forEach((row) => { + if (row.cells.length !== cellCount) { + throw AstBuilderException.create('inconsistent cell count within the table', row.location) + } + }) + } + + transformNode(node: AstNode) { + switch (node.ruleType) { + case RuleType.Step: { + const stepLine = node.getToken(TokenType.StepLine) + const dataTable = node.getSingle(RuleType.DataTable) + const docString = node.getSingle(RuleType.DocString) + + return messages.GherkinDocument.Feature.Step.create({ + id: this.newId(), + location: this.getLocation(stepLine), + keyword: stepLine.matchedKeyword, + text: stepLine.matchedText, + dataTable, + docString, + }) + } + case RuleType.DocString: { + const separatorToken = node.getTokens(TokenType.DocStringSeparator)[0] + const mediaType = + separatorToken.matchedText.length > 0 ? separatorToken.matchedText : undefined + const lineTokens = node.getTokens(TokenType.Other) + const content = lineTokens.map((t) => t.matchedText).join('\n') + + const result = messages.GherkinDocument.Feature.Step.DocString.create({ + location: this.getLocation(separatorToken), + content, + delimiter: separatorToken.line.trimmedLineText.substring(0, 3), + }) + // conditionally add this like this (needed to make tests pass on node 0.10 as well as 4.0) + if (mediaType) { + result.mediaType = mediaType + } + return result + } + case RuleType.DataTable: { + const rows = this.getTableRows(node) + return messages.GherkinDocument.Feature.Step.DataTable.create({ + location: rows[0].location, + rows, + }) + } + case RuleType.Background: { + const backgroundLine = node.getToken(TokenType.BackgroundLine) + const description = this.getDescription(node) + const steps = this.getSteps(node) + + return messages.GherkinDocument.Feature.Background.create({ + id: this.newId(), + location: this.getLocation(backgroundLine), + keyword: backgroundLine.matchedKeyword, + name: backgroundLine.matchedText, + description, + steps, + }) + } + case RuleType.ScenarioDefinition: { + const tags = this.getTags(node) + const scenarioNode = node.getSingle(RuleType.Scenario) + const scenarioLine = scenarioNode.getToken(TokenType.ScenarioLine) + const description = this.getDescription(scenarioNode) + const steps = this.getSteps(scenarioNode) + const examples = scenarioNode.getItems(RuleType.ExamplesDefinition) + return messages.GherkinDocument.Feature.Scenario.create({ + id: this.newId(), + tags, + location: this.getLocation(scenarioLine), + keyword: scenarioLine.matchedKeyword, + name: scenarioLine.matchedText, + description, + steps, + examples, + }) + } + case RuleType.ExamplesDefinition: { + const tags = this.getTags(node) + const examplesNode = node.getSingle(RuleType.Examples) + const examplesLine = examplesNode.getToken(TokenType.ExamplesLine) + const description = this.getDescription(examplesNode) + const exampleTable: messages.GherkinDocument.Feature.TableRow[] = examplesNode.getSingle( + RuleType.ExamplesTable + ) + + return messages.GherkinDocument.Feature.Scenario.Examples.create({ + id: this.newId(), + tags, + location: this.getLocation(examplesLine), + keyword: examplesLine.matchedKeyword, + name: examplesLine.matchedText, + description, + tableHeader: exampleTable !== undefined ? exampleTable[0] : undefined, + tableBody: exampleTable !== undefined ? exampleTable.slice(1) : undefined, + }) + } + case RuleType.ExamplesTable: { + return this.getTableRows(node) + } + case RuleType.Description: { + let lineTokens = node.getTokens(TokenType.Other) + // Trim trailing empty lines + let end = lineTokens.length + while (end > 0 && lineTokens[end - 1].line.trimmedLineText === '') { + end-- + } + lineTokens = lineTokens.slice(0, end) + + return lineTokens.map((token) => token.matchedText).join('\n') + } + + case RuleType.Feature: { + const header = node.getSingle(RuleType.FeatureHeader) + if (!header) { + return null + } + const tags = this.getTags(header) + const featureLine = header.getToken(TokenType.FeatureLine) + if (!featureLine) { + return null + } + const children = [] + const background = node.getSingle(RuleType.Background) + if (background) { + children.push( + messages.GherkinDocument.Feature.FeatureChild.create({ + background, + }) + ) + } + for (const scenario of node.getItems(RuleType.ScenarioDefinition)) { + children.push( + messages.GherkinDocument.Feature.FeatureChild.create({ + scenario, + }) + ) + } + for (const rule of node.getItems(RuleType.Rule)) { + children.push( + messages.GherkinDocument.Feature.FeatureChild.create({ + rule, + }) + ) + } + + const description = this.getDescription(header) + const language = featureLine.matchedGherkinDialect + + return messages.GherkinDocument.Feature.create({ + tags, + location: this.getLocation(featureLine), + language, + keyword: featureLine.matchedKeyword, + name: featureLine.matchedText, + description, + children, + }) + } + + case RuleType.Rule: { + const header = node.getSingle(RuleType.RuleHeader) + if (!header) { + return null + } + const ruleLine = header.getToken(TokenType.RuleLine) + if (!ruleLine) { + return null + } + const tags = this.getTags(header) + const children = [] + const background = node.getSingle(RuleType.Background) + if (background) { + children.push( + messages.GherkinDocument.Feature.FeatureChild.create({ + background, + }) + ) + } + for (const scenario of node.getItems(RuleType.ScenarioDefinition)) { + children.push( + messages.GherkinDocument.Feature.FeatureChild.create({ + scenario, + }) + ) + } + const description = this.getDescription(header) + + return messages.GherkinDocument.Feature.FeatureChild.Rule.create({ + id: this.newId(), + location: this.getLocation(ruleLine), + keyword: ruleLine.matchedKeyword, + name: ruleLine.matchedText, + description, + children, + tags, + }) + } + case RuleType.GherkinDocument: { + const feature = node.getSingle(RuleType.Feature) + + return messages.GherkinDocument.create({ + feature, + comments: this.comments, + }) + } + default: + return node + } + } +} diff --git a/node_modules/@cucumber/gherkin/src/AstNode.ts b/node_modules/@cucumber/gherkin/src/AstNode.ts new file mode 100644 index 0000000..9ed69c1 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/AstNode.ts @@ -0,0 +1,35 @@ +import { RuleType, TokenType } from './Parser' +import IToken from './IToken' + +export default class AstNode { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + private readonly subItems = new Map() + + constructor(public readonly ruleType: RuleType) {} + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + public add(type: any, obj: any) { + let items = this.subItems.get(type) + if (items === undefined) { + items = [] + this.subItems.set(type, items) + } + items.push(obj) + } + + public getSingle(ruleType: RuleType) { + return (this.subItems.get(ruleType) || [])[0] + } + + public getItems(ruleType: RuleType) { + return this.subItems.get(ruleType) || [] + } + + public getToken(tokenType: TokenType) { + return (this.subItems.get(tokenType) || [])[0] + } + + public getTokens(tokenType: TokenType): IToken[] { + return this.subItems.get(tokenType) || [] + } +} diff --git a/node_modules/@cucumber/gherkin/src/Dialect.ts b/node_modules/@cucumber/gherkin/src/Dialect.ts new file mode 100644 index 0000000..50a34e5 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/Dialect.ts @@ -0,0 +1,15 @@ +export default interface Dialect { + readonly name: string + readonly native: string + readonly feature: ReadonlyArray + readonly background: ReadonlyArray + readonly rule: ReadonlyArray + readonly scenario: ReadonlyArray + readonly scenarioOutline: ReadonlyArray + readonly examples: ReadonlyArray + readonly given: ReadonlyArray + readonly when: ReadonlyArray + readonly then: ReadonlyArray + readonly and: ReadonlyArray + readonly but: ReadonlyArray +} diff --git a/node_modules/@cucumber/gherkin/src/Errors.ts b/node_modules/@cucumber/gherkin/src/Errors.ts new file mode 100644 index 0000000..16f726c --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/Errors.ts @@ -0,0 +1,60 @@ +import { messages } from '@cucumber/messages' +import createLocation from './createLocation' + +export class GherkinException extends Error { + public errors: Error[] + public location: messages.ILocation + + constructor(message: string) { + super(message) + + const actualProto = new.target.prototype + + // https://stackoverflow.com/questions/41102060/typescript-extending-error-class + if (Object.setPrototypeOf) { + Object.setPrototypeOf(this, actualProto) + } else { + // @ts-ignore + this.__proto__ = actualProto + } + } + + protected static _create(message: string, location?: messages.ILocation) { + const column = location != null ? location.column || 0 : -1 + const line = location != null ? location.line || 0 : -1 + const m = `(${line}:${column}): ${message}` + const err = new this(m) + err.location = location + return err + } +} + +export class ParserException extends GherkinException { + public static create(message: string, line: number, column: number) { + const err = new this(`(${line}:${column}): ${message}`) + err.location = createLocation({ line, column }) + return err + } +} + +export class CompositeParserException extends GherkinException { + public static create(errors: Error[]) { + const message = 'Parser errors:\n' + errors.map((e) => e.message).join('\n') + const err = new this(message) + err.errors = errors + return err + } +} + +export class AstBuilderException extends GherkinException { + public static create(message: string, location: messages.ILocation) { + return this._create(message, location) + } +} + +export class NoSuchLanguageException extends GherkinException { + public static create(language: string, location?: messages.ILocation) { + const message = 'Language not supported: ' + language + return this._create(message, location) + } +} diff --git a/node_modules/@cucumber/gherkin/src/GherkinLine.ts b/node_modules/@cucumber/gherkin/src/GherkinLine.ts new file mode 100644 index 0000000..4ebea2f --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/GherkinLine.ts @@ -0,0 +1,104 @@ +import countSymbols from './countSymbols' +import { ParserException } from './Errors' + +export default class GherkinLine { + public trimmedLineText: string + public isEmpty: boolean + public indent: number + public column: number + public text: string + + constructor(private readonly lineText: string, private readonly lineNumber: number) { + this.trimmedLineText = lineText.replace(/^\s+/g, '') // ltrim + this.isEmpty = this.trimmedLineText.length === 0 + this.indent = countSymbols(lineText) - countSymbols(this.trimmedLineText) + } + + public startsWith(prefix: string) { + return this.trimmedLineText.indexOf(prefix) === 0 + } + + public startsWithTitleKeyword(keyword: string) { + return this.startsWith(keyword + ':') // The C# impl is more complicated. Find out why. + } + + public getLineText(indentToRemove: number) { + if (indentToRemove < 0 || indentToRemove > this.indent) { + return this.trimmedLineText + } else { + return this.lineText.substring(indentToRemove) + } + } + + public getRestTrimmed(length: number) { + return this.trimmedLineText.substring(length).trim() + } + + public getTableCells() { + const cells = [] + let col = 0 + let startCol = col + 1 + let cell = '' + let firstCell = true + while (col < this.trimmedLineText.length) { + let chr = this.trimmedLineText[col] + col++ + + if (chr === '|') { + if (firstCell) { + // First cell (content before the first |) is skipped + firstCell = false + } else { + // Keeps newlines + const trimmedLeft = cell.replace(/^[ \t\v\f\r\u0085\u00A0]*/g, '') + const trimmed = trimmedLeft.replace(/[ \t\v\f\r\u0085\u00A0]*$/g, '') + const cellIndent = cell.length - trimmedLeft.length + const span = { + column: this.indent + startCol + cellIndent, + text: trimmed, + } + cells.push(span) + } + cell = '' + startCol = col + 1 + } else if (chr === '\\') { + chr = this.trimmedLineText[col] + col += 1 + if (chr === 'n') { + cell += '\n' + } else { + if (chr !== '|' && chr !== '\\') { + cell += '\\' + } + cell += chr + } + } else { + cell += chr + } + } + + return cells + } + + public getTags() { + const uncommentedLine = this.trimmedLineText.split(/\s#/g, 2)[0] + let column = this.indent + 1 + const items = uncommentedLine.split('@') + const tags: any[] = [] + for (let i = 0; i < items.length; i++) { + const item = items[i].trimRight() + if (item.length == 0) { + continue + } + if (!item.match(/^\S+$/)) { + throw ParserException.create('A tag may not contain whitespace', this.lineNumber, column) + } + const span = { column, text: '@' + item } + tags.push(span) + column += countSymbols(items[i]) + 1 + } + return tags + } +} + +module.exports = GherkinLine diff --git a/node_modules/@cucumber/gherkin/src/IAstBuilder.ts b/node_modules/@cucumber/gherkin/src/IAstBuilder.ts new file mode 100644 index 0000000..0fd2b5d --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/IAstBuilder.ts @@ -0,0 +1,38 @@ +import { IdGenerator, messages } from '@cucumber/messages' +import IToken from './IToken' + +export interface IAstBuilder { + stack: AstNode[] + comments: messages.GherkinDocument.IComment[] + newId: IdGenerator.NewId + + reset(): void + + startRule(ruleType: RuleType): void + + endRule(): void + + build(token: IToken): void + + getResult(): any + + currentNode(): any + + getLocation(token: IToken, column?: number): messages.ILocation + + getTags(node: AstNode): readonly messages.GherkinDocument.Feature.ITag[] + + getCells( + tableRowToken: IToken + ): readonly messages.GherkinDocument.Feature.TableRow.ITableCell[] + + getDescription(node: AstNode): any + + getSteps(node: AstNode): any[] + + getTableRows(node: AstNode): readonly messages.GherkinDocument.Feature.ITableRow[] + + ensureCellCount(rows: readonly messages.GherkinDocument.Feature.ITableRow[]): void + + transformNode(node: AstNode): any +} diff --git a/node_modules/@cucumber/gherkin/src/IGherkinOptions.ts b/node_modules/@cucumber/gherkin/src/IGherkinOptions.ts new file mode 100644 index 0000000..ad760b4 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/IGherkinOptions.ts @@ -0,0 +1,9 @@ +import { IdGenerator } from '@cucumber/messages' + +export default interface IGherkinOptions { + defaultDialect?: string + includeSource?: boolean + includeGherkinDocument?: boolean + includePickles?: boolean + newId?: IdGenerator.NewId +} diff --git a/node_modules/@cucumber/gherkin/src/IToken.ts b/node_modules/@cucumber/gherkin/src/IToken.ts new file mode 100644 index 0000000..0635f53 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/IToken.ts @@ -0,0 +1,17 @@ +import { messages } from '@cucumber/messages' +import GherkinLine from './GherkinLine' + +export default interface IToken { + location: messages.ILocation + line: GherkinLine + + isEof: boolean + matchedText?: string + matchedType: TokenType + matchedItems: GherkinLine[] + matchedKeyword: string + matchedIndent: number + matchedGherkinDialect: string + getTokenValue(): string + detach(): void +} diff --git a/node_modules/@cucumber/gherkin/src/ITokenMatcher.ts b/node_modules/@cucumber/gherkin/src/ITokenMatcher.ts new file mode 100644 index 0000000..824d3c5 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/ITokenMatcher.ts @@ -0,0 +1,42 @@ +import { messages } from '@cucumber/messages' +import IToken from './IToken' + +export default interface ITokenMatcher { + changeDialect(newDialectName: string, location?: messages.ILocation): void + + reset(): void + + match_TagLine(token: IToken): boolean + + match_FeatureLine(token: IToken): boolean + + match_ScenarioLine(token: IToken): boolean + + match_BackgroundLine(token: IToken): boolean + + match_ExamplesLine(token: IToken): boolean + + match_RuleLine(token: IToken): boolean + + match_TableRow(token: IToken): boolean + + match_Empty(token: IToken): boolean + + match_Comment(token: IToken): boolean + + match_Language(token: IToken): boolean + + match_DocStringSeparator(token: IToken): any + + match_EOF(token: IToken): boolean + + match_StepLine(token: IToken): boolean + + match_Other(token: IToken): boolean + + matchTitleLine( + token: IToken, + tokenType: TokenType, + keywords: readonly string[] + ): boolean +} diff --git a/node_modules/@cucumber/gherkin/src/Parser.ts b/node_modules/@cucumber/gherkin/src/Parser.ts new file mode 100644 index 0000000..8f36932 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/Parser.ts @@ -0,0 +1,4099 @@ +// This file is generated. Do not edit! Edit gherkin-javascript.razor instead. + +import { messages } from '@cucumber/messages' +import { + AstBuilderException, + CompositeParserException, + NoSuchLanguageException, + ParserException, +} from './Errors' +import { + UnexpectedEOFException, + UnexpectedTokenException, +} from './TokenExceptions' +import TokenScanner from './TokenScanner' +import GherkinLine from './GherkinLine' +import IToken from './IToken' +import { IAstBuilder } from './IAstBuilder' +import ITokenMatcher from './ITokenMatcher' + +export class Token implements IToken { + public isEof: boolean + public matchedText?: string + public matchedType: TokenType + public matchedItems: GherkinLine[] + public matchedKeyword: string + public matchedIndent: number + public matchedGherkinDialect: string + + constructor( + public readonly line: GherkinLine, + public readonly location: messages.ILocation + ) { + this.isEof = !line + } + + public getTokenValue(): string { + return this.isEof ? 'EOF' : this.line.getLineText(-1) + } + + public detach() { + // TODO: Detach line, but is this really needed? + } +} + +export enum TokenType { + None, + EOF, + Empty, + Comment, + TagLine, + FeatureLine, + RuleLine, + BackgroundLine, + ScenarioLine, + ExamplesLine, + StepLine, + DocStringSeparator, + TableRow, + Language, + Other, +} + +export enum RuleType { + None, + _EOF, // #EOF + _Empty, // #Empty + _Comment, // #Comment + _TagLine, // #TagLine + _FeatureLine, // #FeatureLine + _RuleLine, // #RuleLine + _BackgroundLine, // #BackgroundLine + _ScenarioLine, // #ScenarioLine + _ExamplesLine, // #ExamplesLine + _StepLine, // #StepLine + _DocStringSeparator, // #DocStringSeparator + _TableRow, // #TableRow + _Language, // #Language + _Other, // #Other + GherkinDocument, // GherkinDocument! := Feature? + Feature, // Feature! := FeatureHeader Background? ScenarioDefinition* Rule* + FeatureHeader, // FeatureHeader! := #Language? Tags? #FeatureLine DescriptionHelper + Rule, // Rule! := RuleHeader Background? ScenarioDefinition* + RuleHeader, // RuleHeader! := Tags? #RuleLine DescriptionHelper + Background, // Background! := #BackgroundLine DescriptionHelper Step* + ScenarioDefinition, // ScenarioDefinition! [#Empty|#Comment|#TagLine->#ScenarioLine] := Tags? Scenario + Scenario, // Scenario! := #ScenarioLine DescriptionHelper Step* ExamplesDefinition* + ExamplesDefinition, // ExamplesDefinition! [#Empty|#Comment|#TagLine->#ExamplesLine] := Tags? Examples + Examples, // Examples! := #ExamplesLine DescriptionHelper ExamplesTable? + ExamplesTable, // ExamplesTable! := #TableRow #TableRow* + Step, // Step! := #StepLine StepArg? + StepArg, // StepArg := (DataTable | DocString) + DataTable, // DataTable! := #TableRow+ + DocString, // DocString! := #DocStringSeparator #Other* #DocStringSeparator + Tags, // Tags! := #TagLine+ + DescriptionHelper, // DescriptionHelper := #Empty* Description? #Comment* + Description, // Description! := #Other+ +} + +interface Context { + tokenScanner: TokenScanner + tokenQueue: Token[] + errors: Error[] +} + +export default class Parser { + public stopAtFirstError = false + private context: Context + + constructor( + private readonly builder: IAstBuilder, + private readonly tokenMatcher: ITokenMatcher + ) {} + + public parse(gherkinSource: string): messages.IGherkinDocument { + const tokenScanner = new TokenScanner( + gherkinSource, + (line: string, location: messages.ILocation) => { + const gherkinLine = + line === null || line === undefined + ? null + : new GherkinLine(line, location.line) + return new Token(gherkinLine, location) + } + ) + this.builder.reset() + this.tokenMatcher.reset() + this.context = { + tokenScanner, + tokenQueue: [], + errors: [], + } + this.startRule(this.context, RuleType.GherkinDocument) + let state = 0 + let token: Token = null + while (true) { + token = this.readToken(this.context) as Token + state = this.matchToken(state, token, this.context) + if (token.isEof) break + } + + this.endRule(this.context) + + if (this.context.errors.length > 0) { + throw CompositeParserException.create(this.context.errors) + } + + return this.getResult() + } + + private addError(context: Context, error: Error) { + if (!context.errors.map(e => { return e.message }).includes(error.message)) { + context.errors.push(error) + if (context.errors.length > 10) + throw CompositeParserException.create(context.errors) + } + } + + private startRule(context: Context, ruleType: RuleType) { + this.handleAstError(context, () => this.builder.startRule(ruleType)) + } + + private endRule(context: Context) { + this.handleAstError(context, () => this.builder.endRule()) + } + + private build(context: Context, token: Token) { + this.handleAstError(context, () => this.builder.build(token)) + } + + private getResult() { + return this.builder.getResult() + } + + private handleAstError(context: Context, action: () => any) { + this.handleExternalError(context, true, action) + } + + private handleExternalError( + context: Context, + defaultValue: T, + action: () => T + ) { + if (this.stopAtFirstError) return action() + try { + return action() + } catch (e) { + if (e instanceof CompositeParserException) { + e.errors.forEach((error: Error) => this.addError(context, error)) + } else if ( + e instanceof ParserException || + e instanceof AstBuilderException || + e instanceof UnexpectedTokenException || + e instanceof NoSuchLanguageException + ) { + this.addError(context, e) + } else { + throw e + } + } + return defaultValue + } + + private readToken(context: Context) { + return context.tokenQueue.length > 0 + ? context.tokenQueue.shift() + : context.tokenScanner.read() + } + + private matchToken(state: number, token: Token, context: Context) { + switch(state) { + case 0: + return this.matchTokenAt_0(token, context); + case 1: + return this.matchTokenAt_1(token, context); + case 2: + return this.matchTokenAt_2(token, context); + case 3: + return this.matchTokenAt_3(token, context); + case 4: + return this.matchTokenAt_4(token, context); + case 5: + return this.matchTokenAt_5(token, context); + case 6: + return this.matchTokenAt_6(token, context); + case 7: + return this.matchTokenAt_7(token, context); + case 8: + return this.matchTokenAt_8(token, context); + case 9: + return this.matchTokenAt_9(token, context); + case 10: + return this.matchTokenAt_10(token, context); + case 11: + return this.matchTokenAt_11(token, context); + case 12: + return this.matchTokenAt_12(token, context); + case 13: + return this.matchTokenAt_13(token, context); + case 14: + return this.matchTokenAt_14(token, context); + case 15: + return this.matchTokenAt_15(token, context); + case 16: + return this.matchTokenAt_16(token, context); + case 17: + return this.matchTokenAt_17(token, context); + case 18: + return this.matchTokenAt_18(token, context); + case 19: + return this.matchTokenAt_19(token, context); + case 20: + return this.matchTokenAt_20(token, context); + case 21: + return this.matchTokenAt_21(token, context); + case 22: + return this.matchTokenAt_22(token, context); + case 23: + return this.matchTokenAt_23(token, context); + case 24: + return this.matchTokenAt_24(token, context); + case 25: + return this.matchTokenAt_25(token, context); + case 26: + return this.matchTokenAt_26(token, context); + case 27: + return this.matchTokenAt_27(token, context); + case 28: + return this.matchTokenAt_28(token, context); + case 29: + return this.matchTokenAt_29(token, context); + case 30: + return this.matchTokenAt_30(token, context); + case 31: + return this.matchTokenAt_31(token, context); + case 32: + return this.matchTokenAt_32(token, context); + case 33: + return this.matchTokenAt_33(token, context); + case 34: + return this.matchTokenAt_34(token, context); + case 35: + return this.matchTokenAt_35(token, context); + case 36: + return this.matchTokenAt_36(token, context); + case 37: + return this.matchTokenAt_37(token, context); + case 38: + return this.matchTokenAt_38(token, context); + case 39: + return this.matchTokenAt_39(token, context); + case 40: + return this.matchTokenAt_40(token, context); + case 41: + return this.matchTokenAt_41(token, context); + case 43: + return this.matchTokenAt_43(token, context); + case 44: + return this.matchTokenAt_44(token, context); + case 45: + return this.matchTokenAt_45(token, context); + case 46: + return this.matchTokenAt_46(token, context); + case 47: + return this.matchTokenAt_47(token, context); + case 48: + return this.matchTokenAt_48(token, context); + case 49: + return this.matchTokenAt_49(token, context); + case 50: + return this.matchTokenAt_50(token, context); + default: + throw new Error("Unknown state: " + state); + } + } + + + // Start + private matchTokenAt_0(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.build(context, token); + return 42; + } + if(this.match_Language(context, token)) { + this.startRule(context, RuleType.Feature); + this.startRule(context, RuleType.FeatureHeader); + this.build(context, token); + return 1; + } + if(this.match_TagLine(context, token)) { + this.startRule(context, RuleType.Feature); + this.startRule(context, RuleType.FeatureHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 2; + } + if(this.match_FeatureLine(context, token)) { + this.startRule(context, RuleType.Feature); + this.startRule(context, RuleType.FeatureHeader); + this.build(context, token); + return 3; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 0; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 0; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 0; + } + + + // GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0 + private matchTokenAt_1(token: Token, context: Context) { + if(this.match_TagLine(context, token)) { + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 2; + } + if(this.match_FeatureLine(context, token)) { + this.build(context, token); + return 3; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 1; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 1; + } + + token.detach(); + const expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 1; + } + + + // GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0 + private matchTokenAt_2(token: Token, context: Context) { + if(this.match_TagLine(context, token)) { + this.build(context, token); + return 2; + } + if(this.match_FeatureLine(context, token)) { + this.endRule(context); + this.build(context, token); + return 3; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 2; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 2; + } + + token.detach(); + const expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 2; + } + + + // GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0 + private matchTokenAt_3(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 3; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 5; + } + if(this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 6; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 4; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 3; + } + + + // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_4(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 5; + } + if(this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 6; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 4; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 4; + } + + + // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0 + private matchTokenAt_5(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 5; + } + if(this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 6; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 5; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 5; + } + + + // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0 + private matchTokenAt_6(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 6; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 8; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 7; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 6; + } + + + // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_7(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 8; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 7; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 7; + } + + + // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0 + private matchTokenAt_8(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 8; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 8; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 8; + } + + + // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0 + private matchTokenAt_9(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 10; + } + if(this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 49; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 9; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 9; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 9; + } + + + // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + private matchTokenAt_10(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.build(context, token); + return 10; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 10; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 10; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 10; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0 + private matchTokenAt_11(token: Token, context: Context) { + if(this.match_TagLine(context, token)) { + this.build(context, token); + return 11; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 11; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 11; + } + + token.detach(); + const expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 11; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0 + private matchTokenAt_12(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 12; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 14; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 13; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 12; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_13(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 14; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 13; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 13; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0 + private matchTokenAt_14(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 14; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 14; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 14; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0 + private matchTokenAt_15(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 16; + } + if(this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 47; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 15; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 15; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 15; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + private matchTokenAt_16(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.build(context, token); + return 16; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 16; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 16; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 16; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0 + private matchTokenAt_17(token: Token, context: Context) { + if(this.match_TagLine(context, token)) { + this.build(context, token); + return 17; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 17; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 17; + } + + token.detach(); + const expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 17; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0 + private matchTokenAt_18(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 18; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 20; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 21; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 19; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 18; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_19(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 20; + } + if(this.match_TableRow(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 21; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 19; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 19; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0 + private matchTokenAt_20(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 20; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 21; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 20; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 20; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0 + private matchTokenAt_21(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.build(context, token); + return 21; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 21; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 21; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 21; + } + + + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:0 + private matchTokenAt_22(token: Token, context: Context) { + if(this.match_TagLine(context, token)) { + this.build(context, token); + return 22; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 22; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 22; + } + + token.detach(); + const expectedTokens = ["#TagLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 22; + } + + + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:0 + private matchTokenAt_23(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 25; + } + if(this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 26; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 24; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 23; + } + + + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_24(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 25; + } + if(this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 26; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 24; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 24; + } + + + // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:0 + private matchTokenAt_25(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 25; + } + if(this.match_BackgroundLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Background); + this.build(context, token); + return 26; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 25; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 25; + } + + + // GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0 + private matchTokenAt_26(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 26; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 28; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 27; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 26; + } + + + // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_27(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 28; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 27; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 27; + } + + + // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0 + private matchTokenAt_28(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 28; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 28; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 28; + } + + + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0 + private matchTokenAt_29(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 30; + } + if(this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 45; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 29; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 29; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 29; + } + + + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + private matchTokenAt_30(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.build(context, token); + return 30; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 30; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 30; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 30; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0 + private matchTokenAt_31(token: Token, context: Context) { + if(this.match_TagLine(context, token)) { + this.build(context, token); + return 31; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 31; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 31; + } + + token.detach(); + const expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 31; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0 + private matchTokenAt_32(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 32; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 34; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 33; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 32; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_33(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 34; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 33; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 33; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0 + private matchTokenAt_34(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 34; + } + if(this.match_StepLine(context, token)) { + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 34; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 34; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0 + private matchTokenAt_35(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.DataTable); + this.build(context, token); + return 36; + } + if(this.match_DocStringSeparator(context, token)) { + this.startRule(context, RuleType.DocString); + this.build(context, token); + return 43; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 35; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 35; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 35; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0 + private matchTokenAt_36(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.build(context, token); + return 36; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 36; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 36; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 36; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0 + private matchTokenAt_37(token: Token, context: Context) { + if(this.match_TagLine(context, token)) { + this.build(context, token); + return 37; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 37; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 37; + } + + token.detach(); + const expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 37; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0 + private matchTokenAt_38(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 38; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 40; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 41; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.startRule(context, RuleType.Description); + this.build(context, token); + return 39; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 38; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0 + private matchTokenAt_39(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.endRule(context); + this.build(context, token); + return 40; + } + if(this.match_TableRow(context, token)) { + this.endRule(context); + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 41; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 39; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 39; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0 + private matchTokenAt_40(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 40; + } + if(this.match_TableRow(context, token)) { + this.startRule(context, RuleType.ExamplesTable); + this.build(context, token); + return 41; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 40; + } + + token.detach(); + const expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 40; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0 + private matchTokenAt_41(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_TableRow(context, token)) { + this.build(context, token); + return 41; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 41; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 41; + } + + token.detach(); + const expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 41; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + private matchTokenAt_43(token: Token, context: Context) { + if(this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 44; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 43; + } + + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 43; + } + + + // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + private matchTokenAt_44(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 35; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 37; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 38; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 44; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 44; + } + + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 44; + } + + + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + private matchTokenAt_45(token: Token, context: Context) { + if(this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 46; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 45; + } + + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 45; + } + + + // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + private matchTokenAt_46(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 29; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 31; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 32; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 46; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 46; + } + + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 46; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + private matchTokenAt_47(token: Token, context: Context) { + if(this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 48; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 47; + } + + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 47; + } + + + // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + private matchTokenAt_48(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 15; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_1(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 17; + } + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ExamplesLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ExamplesDefinition); + this.startRule(context, RuleType.Examples); + this.build(context, token); + return 18; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 48; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 48; + } + + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 48; + } + + + // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0 + private matchTokenAt_49(token: Token, context: Context) { + if(this.match_DocStringSeparator(context, token)) { + this.build(context, token); + return 50; + } + if(this.match_Other(context, token)) { + this.build(context, token); + return 49; + } + + token.detach(); + const expectedTokens = ["#DocStringSeparator", "#Other"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 49; + } + + + // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0 + private matchTokenAt_50(token: Token, context: Context) { + if(this.match_EOF(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.build(context, token); + return 42; + } + if(this.match_StepLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Step); + this.build(context, token); + return 9; + } + if(this.match_TagLine(context, token)) { + if(this.lookahead_0(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 11; + } + } + if(this.match_TagLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.startRule(context, RuleType.Tags); + this.build(context, token); + return 22; + } + if(this.match_ScenarioLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.ScenarioDefinition); + this.startRule(context, RuleType.Scenario); + this.build(context, token); + return 12; + } + if(this.match_RuleLine(context, token)) { + this.endRule(context); + this.endRule(context); + this.endRule(context); + this.startRule(context, RuleType.Rule); + this.startRule(context, RuleType.RuleHeader); + this.build(context, token); + return 23; + } + if(this.match_Comment(context, token)) { + this.build(context, token); + return 50; + } + if(this.match_Empty(context, token)) { + this.build(context, token); + return 50; + } + + token.detach(); + const expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]; + const error = token.isEof ? + UnexpectedEOFException.create(token, expectedTokens) : + UnexpectedTokenException.create(token, expectedTokens); + if (this.stopAtFirstError) throw error; + this.addError(context, error); + return 50; + } + + + + private match_EOF(context: Context, token: Token) { + return this.handleExternalError(context, false, () => this.tokenMatcher.match_EOF(token)); + } + + + private match_Empty(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Empty(token)); + } + + + private match_Comment(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Comment(token)); + } + + + private match_TagLine(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_TagLine(token)); + } + + + private match_FeatureLine(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_FeatureLine(token)); + } + + + private match_RuleLine(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_RuleLine(token)); + } + + + private match_BackgroundLine(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_BackgroundLine(token)); + } + + + private match_ScenarioLine(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_ScenarioLine(token)); + } + + + private match_ExamplesLine(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_ExamplesLine(token)); + } + + + private match_StepLine(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_StepLine(token)); + } + + + private match_DocStringSeparator(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_DocStringSeparator(token)); + } + + + private match_TableRow(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_TableRow(token)); + } + + + private match_Language(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Language(token)); + } + + + private match_Other(context: Context, token: Token) { + if(token.isEof) return false; + return this.handleExternalError(context, false, () => this.tokenMatcher.match_Other(token)); + } + + + + private lookahead_0(context: Context, currentToken: Token) { + currentToken.detach(); + let token; + const queue: Token[] = []; + let match = false; + do { + token = this.readToken(this.context); + token.detach(); + queue.push(token); + + if (false || this.match_ScenarioLine(context, token)) { + match = true; + break; + } + } while(false || this.match_Empty(context, token) || this.match_Comment(context, token) || this.match_TagLine(context, token)); + + context.tokenQueue = context.tokenQueue.concat(queue); + + return match; + } + + + private lookahead_1(context: Context, currentToken: Token) { + currentToken.detach(); + let token; + const queue: Token[] = []; + let match = false; + do { + token = this.readToken(this.context); + token.detach(); + queue.push(token); + + if (false || this.match_ExamplesLine(context, token)) { + match = true; + break; + } + } while(false || this.match_Empty(context, token) || this.match_Comment(context, token) || this.match_TagLine(context, token)); + + context.tokenQueue = context.tokenQueue.concat(queue); + + return match; + } + + +} diff --git a/node_modules/@cucumber/gherkin/src/TokenExceptions.ts b/node_modules/@cucumber/gherkin/src/TokenExceptions.ts new file mode 100644 index 0000000..ff6786d --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/TokenExceptions.ts @@ -0,0 +1,33 @@ +import IToken from './IToken' +import createLocation from './createLocation' +import { GherkinException } from './Errors' + +export class UnexpectedTokenException extends GherkinException { + public static create(token: IToken, expectedTokenTypes: string[]) { + const message = `expected: ${expectedTokenTypes.join( + ', ' + )}, got '${token.getTokenValue().trim()}'` + + const location = tokenLocation(token) + + return this._create(message, location) + } +} + +export class UnexpectedEOFException extends GherkinException { + public static create(token: IToken, expectedTokenTypes: string[]) { + const message = `unexpected end of file, expected: ${expectedTokenTypes.join(', ')}` + const location = tokenLocation(token) + + return this._create(message, location) + } +} + +function tokenLocation(token: IToken) { + return token.location && token.location.line && token.line && token.line.indent !== undefined + ? createLocation({ + line: token.location.line, + column: token.line.indent + 1, + }) + : token.location +} diff --git a/node_modules/@cucumber/gherkin/src/TokenMatcher.ts b/node_modules/@cucumber/gherkin/src/TokenMatcher.ts new file mode 100644 index 0000000..89c3c17 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/TokenMatcher.ts @@ -0,0 +1,207 @@ +import DIALECTS from './gherkin-languages.json' +import Dialect from './Dialect' +import { NoSuchLanguageException } from './Errors' +import { messages } from '@cucumber/messages' +import IToken from './IToken' +import { TokenType } from './Parser' +import ITokenMatcher from './ITokenMatcher' + +const DIALECT_DICT: { [key: string]: Dialect } = DIALECTS +const LANGUAGE_PATTERN = /^\s*#\s*language\s*:\s*([a-zA-Z\-_]+)\s*$/ + +export default class TokenMatcher implements ITokenMatcher { + private dialect: Dialect + private dialectName: string + private activeDocStringSeparator: string + private indentToRemove: number + + constructor(private readonly defaultDialectName: string = 'en') { + this.reset() + } + + changeDialect(newDialectName: string, location?: messages.ILocation) { + const newDialect = DIALECT_DICT[newDialectName] + if (!newDialect) { + throw NoSuchLanguageException.create(newDialectName, location) + } + + this.dialectName = newDialectName + this.dialect = newDialect + } + + reset() { + if (this.dialectName !== this.defaultDialectName) { + this.changeDialect(this.defaultDialectName) + } + this.activeDocStringSeparator = null + this.indentToRemove = 0 + } + + match_TagLine(token: IToken) { + if (token.line.startsWith('@')) { + this.setTokenMatched(token, TokenType.TagLine, null, null, null, token.line.getTags()) + return true + } + return false + } + + match_FeatureLine(token: IToken) { + return this.matchTitleLine(token, TokenType.FeatureLine, this.dialect.feature) + } + + match_ScenarioLine(token: IToken) { + return ( + this.matchTitleLine(token, TokenType.ScenarioLine, this.dialect.scenario) || + this.matchTitleLine(token, TokenType.ScenarioLine, this.dialect.scenarioOutline) + ) + } + + match_BackgroundLine(token: IToken) { + return this.matchTitleLine(token, TokenType.BackgroundLine, this.dialect.background) + } + + match_ExamplesLine(token: IToken) { + return this.matchTitleLine(token, TokenType.ExamplesLine, this.dialect.examples) + } + + match_RuleLine(token: IToken) { + return this.matchTitleLine(token, TokenType.RuleLine, this.dialect.rule) + } + + match_TableRow(token: IToken) { + if (token.line.startsWith('|')) { + // TODO: indent + this.setTokenMatched(token, TokenType.TableRow, null, null, null, token.line.getTableCells()) + return true + } + return false + } + + match_Empty(token: IToken) { + if (token.line.isEmpty) { + this.setTokenMatched(token, TokenType.Empty, null, null, 0) + return true + } + return false + } + + match_Comment(token: IToken) { + if (token.line.startsWith('#')) { + const text = token.line.getLineText(0) // take the entire line, including leading space + this.setTokenMatched(token, TokenType.Comment, text, null, 0) + return true + } + return false + } + + match_Language(token: IToken) { + const match = token.line.trimmedLineText.match(LANGUAGE_PATTERN) + if (match) { + const newDialectName = match[1] + this.setTokenMatched(token, TokenType.Language, newDialectName) + + this.changeDialect(newDialectName, token.location) + return true + } + return false + } + + match_DocStringSeparator(token: IToken) { + return this.activeDocStringSeparator == null + ? // open + this._match_DocStringSeparator(token, '"""', true) || + this._match_DocStringSeparator(token, '```', true) + : // close + this._match_DocStringSeparator(token, this.activeDocStringSeparator, false) + } + + public _match_DocStringSeparator(token: IToken, separator: string, isOpen: boolean) { + if (token.line.startsWith(separator)) { + let mediaType = null + if (isOpen) { + mediaType = token.line.getRestTrimmed(separator.length) + this.activeDocStringSeparator = separator + this.indentToRemove = token.line.indent + } else { + this.activeDocStringSeparator = null + this.indentToRemove = 0 + } + + // TODO: Use the separator as keyword. That's needed for pretty printing. + this.setTokenMatched(token, TokenType.DocStringSeparator, mediaType) + return true + } + return false + } + + match_EOF(token: IToken) { + if (token.isEof) { + this.setTokenMatched(token, TokenType.EOF) + return true + } + return false + } + + match_StepLine(token: IToken) { + const keywords = [] + .concat(this.dialect.given) + .concat(this.dialect.when) + .concat(this.dialect.then) + .concat(this.dialect.and) + .concat(this.dialect.but) + for (const keyword of keywords) { + if (token.line.startsWith(keyword)) { + const title = token.line.getRestTrimmed(keyword.length) + this.setTokenMatched(token, TokenType.StepLine, title, keyword) + return true + } + } + return false + } + + match_Other(token: IToken) { + const text = token.line.getLineText(this.indentToRemove) // take the entire line, except removing DocString indents + this.setTokenMatched(token, TokenType.Other, this.unescapeDocString(text), null, 0) + return true + } + + matchTitleLine(token: IToken, tokenType: TokenType, keywords: readonly string[]) { + for (const keyword of keywords) { + if (token.line.startsWithTitleKeyword(keyword)) { + const title = token.line.getRestTrimmed(keyword.length + ':'.length) + this.setTokenMatched(token, tokenType, title, keyword) + return true + } + } + return false + } + + private setTokenMatched( + token: IToken, + matchedType: TokenType, + text?: string, + keyword?: string, + indent?: number, + items?: any[] + ) { + token.matchedType = matchedType + token.matchedText = text + token.matchedKeyword = keyword + token.matchedIndent = + typeof indent === 'number' ? indent : token.line == null ? 0 : token.line.indent + token.matchedItems = items || [] + + token.location.column = token.matchedIndent + 1 + token.matchedGherkinDialect = this.dialectName + } + + private unescapeDocString(text: string) { + if (this.activeDocStringSeparator === '"""') { + return text.replace('\\"\\"\\"', '"""') + } + if (this.activeDocStringSeparator === '```') { + return text.replace('\\`\\`\\`', '```') + } + return text + } +} diff --git a/node_modules/@cucumber/gherkin/src/TokenScanner.ts b/node_modules/@cucumber/gherkin/src/TokenScanner.ts new file mode 100644 index 0000000..5c28621 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/TokenScanner.ts @@ -0,0 +1,34 @@ +import createLocation from './createLocation' +import IToken from './IToken' +import { messages } from '@cucumber/messages' + +/** + * The scanner reads a gherkin doc (typically read from a .feature file) and creates a token for each line. + * The tokens are passed to the parser, which outputs an AST (Abstract Syntax Tree). + * + * If the scanner sees a `#` language header, it will reconfigure itself dynamically to look for + * Gherkin keywords for the associated language. The keywords are defined in gherkin-languages.json. + */ +export default class TokenScanner { + private lineNumber = 0 + private lines: string[] + + constructor( + source: string, + private readonly makeToken: (line: string, location: messages.ILocation) => IToken + ) { + this.lines = source.split(/\r?\n/) + if (this.lines.length > 0 && this.lines[this.lines.length - 1].trim() === '') { + this.lines.pop() + } + } + + public read(): IToken { + const line = this.lines[this.lineNumber++] + const location = createLocation({ + line: this.lineNumber, + }) + location.column = undefined + return this.makeToken(line, location) + } +} diff --git a/node_modules/@cucumber/gherkin/src/countSymbols.ts b/node_modules/@cucumber/gherkin/src/countSymbols.ts new file mode 100644 index 0000000..7bcf911 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/countSymbols.ts @@ -0,0 +1,6 @@ +// https://mathiasbynens.be/notes/javascript-unicode +const regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g + +export default function countSymbols(s: string) { + return s.replace(regexAstralSymbols, '_').length +} diff --git a/node_modules/@cucumber/gherkin/src/createLocation.ts b/node_modules/@cucumber/gherkin/src/createLocation.ts new file mode 100644 index 0000000..01d7eec --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/createLocation.ts @@ -0,0 +1,16 @@ +import { messages } from '@cucumber/messages' + +export default function createLocation(props: { + line?: number + column?: number +}): messages.ILocation { + const location = messages.Location.create(props) + if (location.line === 0) { + location.line = undefined + } + if (location.column === 0) { + location.column = undefined + } + + return location +} diff --git a/node_modules/@cucumber/gherkin/src/generateMessages.ts b/node_modules/@cucumber/gherkin/src/generateMessages.ts new file mode 100644 index 0000000..76f4cbb --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/generateMessages.ts @@ -0,0 +1,74 @@ +import Parser from './Parser' +import TokenMatcher from './TokenMatcher' +import { messages } from '@cucumber/messages' +import compile from './pickles/compile' +import AstBuilder from './AstBuilder' +import IGherkinOptions from './IGherkinOptions' +import makeSourceEnvelope from './makeSourceEnvelope' + +export default function generateMessages( + data: string, + uri: string, + options: IGherkinOptions +): readonly messages.IEnvelope[] { + const result = [] + + try { + if (options.includeSource) { + result.push(makeSourceEnvelope(data, uri)) + } + + if (!options.includeGherkinDocument && !options.includePickles) { + return result + } + + const parser = new Parser( + new AstBuilder(options.newId), + new TokenMatcher(options.defaultDialect) + ) + parser.stopAtFirstError = false + const gherkinDocument = parser.parse(data) + + if (options.includeGherkinDocument) { + result.push( + messages.Envelope.create({ + gherkinDocument: { ...gherkinDocument, uri }, + }) + ) + } + + if (options.includePickles) { + const pickles = compile(gherkinDocument, uri, options.newId) + for (const pickle of pickles) { + result.push( + messages.Envelope.create({ + pickle, + }) + ) + } + } + } catch (err) { + const errors = err.errors || [err] + for (const error of errors) { + if (!error.location) { + // It wasn't a parser error - throw it (this is unexpected) + throw error + } + result.push( + messages.Envelope.create({ + parseError: { + source: { + uri, + location: { + line: error.location.line, + column: error.location.column, + }, + }, + message: error.message, + }, + }) + ) + } + } + return result +} diff --git a/node_modules/@cucumber/gherkin/src/gherkin-languages.json b/node_modules/@cucumber/gherkin/src/gherkin-languages.json new file mode 100644 index 0000000..bf8cd68 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/gherkin-languages.json @@ -0,0 +1,3630 @@ +{ + "af": { + "and": [ + "* ", + "En " + ], + "background": [ + "Agtergrond" + ], + "but": [ + "* ", + "Maar " + ], + "examples": [ + "Voorbeelde" + ], + "feature": [ + "Funksie", + "Besigheid Behoefte", + "Vermoë" + ], + "given": [ + "* ", + "Gegewe " + ], + "name": "Afrikaans", + "native": "Afrikaans", + "rule": [ + "Rule" + ], + "scenario": [ + "Voorbeeld", + "Situasie" + ], + "scenarioOutline": [ + "Situasie Uiteensetting" + ], + "then": [ + "* ", + "Dan " + ], + "when": [ + "* ", + "Wanneer " + ] + }, + "am": { + "and": [ + "* ", + "Եվ " + ], + "background": [ + "Կոնտեքստ" + ], + "but": [ + "* ", + "Բայց " + ], + "examples": [ + "Օրինակներ" + ], + "feature": [ + "Ֆունկցիոնալություն", + "Հատկություն" + ], + "given": [ + "* ", + "Դիցուք " + ], + "name": "Armenian", + "native": "հայերեն", + "rule": [ + "Rule" + ], + "scenario": [ + "Օրինակ", + "Սցենար" + ], + "scenarioOutline": [ + "Սցենարի կառուցվացքը" + ], + "then": [ + "* ", + "Ապա " + ], + "when": [ + "* ", + "Եթե ", + "Երբ " + ] + }, + "an": { + "and": [ + "* ", + "Y ", + "E " + ], + "background": [ + "Antecedents" + ], + "but": [ + "* ", + "Pero " + ], + "examples": [ + "Eixemplos" + ], + "feature": [ + "Caracteristica" + ], + "given": [ + "* ", + "Dau ", + "Dada ", + "Daus ", + "Dadas " + ], + "name": "Aragonese", + "native": "Aragonés", + "rule": [ + "Rule" + ], + "scenario": [ + "Eixemplo", + "Caso" + ], + "scenarioOutline": [ + "Esquema del caso" + ], + "then": [ + "* ", + "Alavez ", + "Allora ", + "Antonces " + ], + "when": [ + "* ", + "Cuan " + ] + }, + "ar": { + "and": [ + "* ", + "و " + ], + "background": [ + "الخلفية" + ], + "but": [ + "* ", + "لكن " + ], + "examples": [ + "امثلة" + ], + "feature": [ + "خاصية" + ], + "given": [ + "* ", + "بفرض " + ], + "name": "Arabic", + "native": "العربية", + "rule": [ + "Rule" + ], + "scenario": [ + "مثال", + "سيناريو" + ], + "scenarioOutline": [ + "سيناريو مخطط" + ], + "then": [ + "* ", + "اذاً ", + "ثم " + ], + "when": [ + "* ", + "متى ", + "عندما " + ] + }, + "ast": { + "and": [ + "* ", + "Y ", + "Ya " + ], + "background": [ + "Antecedentes" + ], + "but": [ + "* ", + "Peru " + ], + "examples": [ + "Exemplos" + ], + "feature": [ + "Carauterística" + ], + "given": [ + "* ", + "Dáu ", + "Dada ", + "Daos ", + "Daes " + ], + "name": "Asturian", + "native": "asturianu", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemplo", + "Casu" + ], + "scenarioOutline": [ + "Esbozu del casu" + ], + "then": [ + "* ", + "Entós " + ], + "when": [ + "* ", + "Cuando " + ] + }, + "az": { + "and": [ + "* ", + "Və ", + "Həm " + ], + "background": [ + "Keçmiş", + "Kontekst" + ], + "but": [ + "* ", + "Amma ", + "Ancaq " + ], + "examples": [ + "Nümunələr" + ], + "feature": [ + "Özəllik" + ], + "given": [ + "* ", + "Tutaq ki ", + "Verilir " + ], + "name": "Azerbaijani", + "native": "Azərbaycanca", + "rule": [ + "Rule" + ], + "scenario": [ + "Nümunə", + "Ssenari" + ], + "scenarioOutline": [ + "Ssenarinin strukturu" + ], + "then": [ + "* ", + "O halda " + ], + "when": [ + "* ", + "Əgər ", + "Nə vaxt ki " + ] + }, + "bg": { + "and": [ + "* ", + "И " + ], + "background": [ + "Предистория" + ], + "but": [ + "* ", + "Но " + ], + "examples": [ + "Примери" + ], + "feature": [ + "Функционалност" + ], + "given": [ + "* ", + "Дадено " + ], + "name": "Bulgarian", + "native": "български", + "rule": [ + "Rule" + ], + "scenario": [ + "Пример", + "Сценарий" + ], + "scenarioOutline": [ + "Рамка на сценарий" + ], + "then": [ + "* ", + "То " + ], + "when": [ + "* ", + "Когато " + ] + }, + "bm": { + "and": [ + "* ", + "Dan " + ], + "background": [ + "Latar Belakang" + ], + "but": [ + "* ", + "Tetapi ", + "Tapi " + ], + "examples": [ + "Contoh" + ], + "feature": [ + "Fungsi" + ], + "given": [ + "* ", + "Diberi ", + "Bagi " + ], + "name": "Malay", + "native": "Bahasa Melayu", + "rule": [ + "Rule" + ], + "scenario": [ + "Senario", + "Situasi", + "Keadaan" + ], + "scenarioOutline": [ + "Kerangka Senario", + "Kerangka Situasi", + "Kerangka Keadaan", + "Garis Panduan Senario" + ], + "then": [ + "* ", + "Maka ", + "Kemudian " + ], + "when": [ + "* ", + "Apabila " + ] + }, + "bs": { + "and": [ + "* ", + "I ", + "A " + ], + "background": [ + "Pozadina" + ], + "but": [ + "* ", + "Ali " + ], + "examples": [ + "Primjeri" + ], + "feature": [ + "Karakteristika" + ], + "given": [ + "* ", + "Dato " + ], + "name": "Bosnian", + "native": "Bosanski", + "rule": [ + "Rule" + ], + "scenario": [ + "Primjer", + "Scenariju", + "Scenario" + ], + "scenarioOutline": [ + "Scenariju-obris", + "Scenario-outline" + ], + "then": [ + "* ", + "Zatim " + ], + "when": [ + "* ", + "Kada " + ] + }, + "ca": { + "and": [ + "* ", + "I " + ], + "background": [ + "Rerefons", + "Antecedents" + ], + "but": [ + "* ", + "Però " + ], + "examples": [ + "Exemples" + ], + "feature": [ + "Característica", + "Funcionalitat" + ], + "given": [ + "* ", + "Donat ", + "Donada ", + "Atès ", + "Atesa " + ], + "name": "Catalan", + "native": "català", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemple", + "Escenari" + ], + "scenarioOutline": [ + "Esquema de l'escenari" + ], + "then": [ + "* ", + "Aleshores ", + "Cal " + ], + "when": [ + "* ", + "Quan " + ] + }, + "cs": { + "and": [ + "* ", + "A také ", + "A " + ], + "background": [ + "Pozadí", + "Kontext" + ], + "but": [ + "* ", + "Ale " + ], + "examples": [ + "Příklady" + ], + "feature": [ + "Požadavek" + ], + "given": [ + "* ", + "Pokud ", + "Za předpokladu " + ], + "name": "Czech", + "native": "Česky", + "rule": [ + "Rule" + ], + "scenario": [ + "Příklad", + "Scénář" + ], + "scenarioOutline": [ + "Náčrt Scénáře", + "Osnova scénáře" + ], + "then": [ + "* ", + "Pak " + ], + "when": [ + "* ", + "Když " + ] + }, + "cy-GB": { + "and": [ + "* ", + "A " + ], + "background": [ + "Cefndir" + ], + "but": [ + "* ", + "Ond " + ], + "examples": [ + "Enghreifftiau" + ], + "feature": [ + "Arwedd" + ], + "given": [ + "* ", + "Anrhegedig a " + ], + "name": "Welsh", + "native": "Cymraeg", + "rule": [ + "Rule" + ], + "scenario": [ + "Enghraifft", + "Scenario" + ], + "scenarioOutline": [ + "Scenario Amlinellol" + ], + "then": [ + "* ", + "Yna " + ], + "when": [ + "* ", + "Pryd " + ] + }, + "da": { + "and": [ + "* ", + "Og " + ], + "background": [ + "Baggrund" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Eksempler" + ], + "feature": [ + "Egenskab" + ], + "given": [ + "* ", + "Givet " + ], + "name": "Danish", + "native": "dansk", + "rule": [ + "Rule" + ], + "scenario": [ + "Eksempel", + "Scenarie" + ], + "scenarioOutline": [ + "Abstrakt Scenario" + ], + "then": [ + "* ", + "Så " + ], + "when": [ + "* ", + "Når " + ] + }, + "de": { + "and": [ + "* ", + "Und " + ], + "background": [ + "Grundlage", + "Hintergrund", + "Voraussetzungen", + "Vorbedingungen" + ], + "but": [ + "* ", + "Aber " + ], + "examples": [ + "Beispiele" + ], + "feature": [ + "Funktionalität", + "Funktion" + ], + "given": [ + "* ", + "Angenommen ", + "Gegeben sei ", + "Gegeben seien " + ], + "name": "German", + "native": "Deutsch", + "rule": [ + "Rule", + "Regel" + ], + "scenario": [ + "Beispiel", + "Szenario" + ], + "scenarioOutline": [ + "Szenariogrundriss", + "Szenarien" + ], + "then": [ + "* ", + "Dann " + ], + "when": [ + "* ", + "Wenn " + ] + }, + "el": { + "and": [ + "* ", + "Και " + ], + "background": [ + "Υπόβαθρο" + ], + "but": [ + "* ", + "Αλλά " + ], + "examples": [ + "Παραδείγματα", + "Σενάρια" + ], + "feature": [ + "Δυνατότητα", + "Λειτουργία" + ], + "given": [ + "* ", + "Δεδομένου " + ], + "name": "Greek", + "native": "Ελληνικά", + "rule": [ + "Rule" + ], + "scenario": [ + "Παράδειγμα", + "Σενάριο" + ], + "scenarioOutline": [ + "Περιγραφή Σεναρίου", + "Περίγραμμα Σεναρίου" + ], + "then": [ + "* ", + "Τότε " + ], + "when": [ + "* ", + "Όταν " + ] + }, + "em": { + "and": [ + "* ", + "😂" + ], + "background": [ + "💤" + ], + "but": [ + "* ", + "😔" + ], + "examples": [ + "📓" + ], + "feature": [ + "📚" + ], + "given": [ + "* ", + "😐" + ], + "name": "Emoji", + "native": "😀", + "rule": [ + "Rule" + ], + "scenario": [ + "🥒", + "📕" + ], + "scenarioOutline": [ + "📖" + ], + "then": [ + "* ", + "🙏" + ], + "when": [ + "* ", + "🎬" + ] + }, + "en": { + "and": [ + "* ", + "And " + ], + "background": [ + "Background" + ], + "but": [ + "* ", + "But " + ], + "examples": [ + "Examples", + "Scenarios" + ], + "feature": [ + "Feature", + "Business Need", + "Ability" + ], + "given": [ + "* ", + "Given " + ], + "name": "English", + "native": "English", + "rule": [ + "Rule" + ], + "scenario": [ + "Example", + "Scenario" + ], + "scenarioOutline": [ + "Scenario Outline", + "Scenario Template" + ], + "then": [ + "* ", + "Then " + ], + "when": [ + "* ", + "When " + ] + }, + "en-Scouse": { + "and": [ + "* ", + "An " + ], + "background": [ + "Dis is what went down" + ], + "but": [ + "* ", + "Buh " + ], + "examples": [ + "Examples" + ], + "feature": [ + "Feature" + ], + "given": [ + "* ", + "Givun ", + "Youse know when youse got " + ], + "name": "Scouse", + "native": "Scouse", + "rule": [ + "Rule" + ], + "scenario": [ + "The thing of it is" + ], + "scenarioOutline": [ + "Wharrimean is" + ], + "then": [ + "* ", + "Dun ", + "Den youse gotta " + ], + "when": [ + "* ", + "Wun ", + "Youse know like when " + ] + }, + "en-au": { + "and": [ + "* ", + "Too right " + ], + "background": [ + "First off" + ], + "but": [ + "* ", + "Yeah nah " + ], + "examples": [ + "You'll wanna" + ], + "feature": [ + "Pretty much" + ], + "given": [ + "* ", + "Y'know " + ], + "name": "Australian", + "native": "Australian", + "rule": [ + "Rule" + ], + "scenario": [ + "Awww, look mate" + ], + "scenarioOutline": [ + "Reckon it's like" + ], + "then": [ + "* ", + "But at the end of the day I reckon " + ], + "when": [ + "* ", + "It's just unbelievable " + ] + }, + "en-lol": { + "and": [ + "* ", + "AN " + ], + "background": [ + "B4" + ], + "but": [ + "* ", + "BUT " + ], + "examples": [ + "EXAMPLZ" + ], + "feature": [ + "OH HAI" + ], + "given": [ + "* ", + "I CAN HAZ " + ], + "name": "LOLCAT", + "native": "LOLCAT", + "rule": [ + "Rule" + ], + "scenario": [ + "MISHUN" + ], + "scenarioOutline": [ + "MISHUN SRSLY" + ], + "then": [ + "* ", + "DEN " + ], + "when": [ + "* ", + "WEN " + ] + }, + "en-old": { + "and": [ + "* ", + "Ond ", + "7 " + ], + "background": [ + "Aer", + "Ær" + ], + "but": [ + "* ", + "Ac " + ], + "examples": [ + "Se the", + "Se þe", + "Se ðe" + ], + "feature": [ + "Hwaet", + "Hwæt" + ], + "given": [ + "* ", + "Thurh ", + "Þurh ", + "Ðurh " + ], + "name": "Old English", + "native": "Englisc", + "rule": [ + "Rule" + ], + "scenario": [ + "Swa" + ], + "scenarioOutline": [ + "Swa hwaer swa", + "Swa hwær swa" + ], + "then": [ + "* ", + "Tha ", + "Þa ", + "Ða ", + "Tha the ", + "Þa þe ", + "Ða ðe " + ], + "when": [ + "* ", + "Tha ", + "Þa ", + "Ða " + ] + }, + "en-pirate": { + "and": [ + "* ", + "Aye " + ], + "background": [ + "Yo-ho-ho" + ], + "but": [ + "* ", + "Avast! " + ], + "examples": [ + "Dead men tell no tales" + ], + "feature": [ + "Ahoy matey!" + ], + "given": [ + "* ", + "Gangway! " + ], + "name": "Pirate", + "native": "Pirate", + "rule": [ + "Rule" + ], + "scenario": [ + "Heave to" + ], + "scenarioOutline": [ + "Shiver me timbers" + ], + "then": [ + "* ", + "Let go and haul " + ], + "when": [ + "* ", + "Blimey! " + ] + }, + "eo": { + "and": [ + "* ", + "Kaj " + ], + "background": [ + "Fono" + ], + "but": [ + "* ", + "Sed " + ], + "examples": [ + "Ekzemploj" + ], + "feature": [ + "Trajto" + ], + "given": [ + "* ", + "Donitaĵo ", + "Komence " + ], + "name": "Esperanto", + "native": "Esperanto", + "rule": [ + "Rule" + ], + "scenario": [ + "Ekzemplo", + "Scenaro", + "Kazo" + ], + "scenarioOutline": [ + "Konturo de la scenaro", + "Skizo", + "Kazo-skizo" + ], + "then": [ + "* ", + "Do " + ], + "when": [ + "* ", + "Se " + ] + }, + "es": { + "and": [ + "* ", + "Y ", + "E " + ], + "background": [ + "Antecedentes" + ], + "but": [ + "* ", + "Pero " + ], + "examples": [ + "Ejemplos" + ], + "feature": [ + "Característica", + "Necesidad del negocio", + "Requisito" + ], + "given": [ + "* ", + "Dado ", + "Dada ", + "Dados ", + "Dadas " + ], + "name": "Spanish", + "native": "español", + "rule": [ + "Regla", + "Regla de negocio" + ], + "scenario": [ + "Ejemplo", + "Escenario" + ], + "scenarioOutline": [ + "Esquema del escenario" + ], + "then": [ + "* ", + "Entonces " + ], + "when": [ + "* ", + "Cuando " + ] + }, + "et": { + "and": [ + "* ", + "Ja " + ], + "background": [ + "Taust" + ], + "but": [ + "* ", + "Kuid " + ], + "examples": [ + "Juhtumid" + ], + "feature": [ + "Omadus" + ], + "given": [ + "* ", + "Eeldades " + ], + "name": "Estonian", + "native": "eesti keel", + "rule": [ + "Reegel" + ], + "scenario": [ + "Juhtum", + "Stsenaarium" + ], + "scenarioOutline": [ + "Raamjuhtum", + "Raamstsenaarium" + ], + "then": [ + "* ", + "Siis " + ], + "when": [ + "* ", + "Kui " + ] + }, + "fa": { + "and": [ + "* ", + "و " + ], + "background": [ + "زمینه" + ], + "but": [ + "* ", + "اما " + ], + "examples": [ + "نمونه ها" + ], + "feature": [ + "وِیژگی" + ], + "given": [ + "* ", + "با فرض " + ], + "name": "Persian", + "native": "فارسی", + "rule": [ + "Rule" + ], + "scenario": [ + "مثال", + "سناریو" + ], + "scenarioOutline": [ + "الگوی سناریو" + ], + "then": [ + "* ", + "آنگاه " + ], + "when": [ + "* ", + "هنگامی " + ] + }, + "fi": { + "and": [ + "* ", + "Ja " + ], + "background": [ + "Tausta" + ], + "but": [ + "* ", + "Mutta " + ], + "examples": [ + "Tapaukset" + ], + "feature": [ + "Ominaisuus" + ], + "given": [ + "* ", + "Oletetaan " + ], + "name": "Finnish", + "native": "suomi", + "rule": [ + "Rule" + ], + "scenario": [ + "Tapaus" + ], + "scenarioOutline": [ + "Tapausaihio" + ], + "then": [ + "* ", + "Niin " + ], + "when": [ + "* ", + "Kun " + ] + }, + "fr": { + "and": [ + "* ", + "Et que ", + "Et qu'", + "Et " + ], + "background": [ + "Contexte" + ], + "but": [ + "* ", + "Mais que ", + "Mais qu'", + "Mais " + ], + "examples": [ + "Exemples" + ], + "feature": [ + "Fonctionnalité" + ], + "given": [ + "* ", + "Soit ", + "Sachant que ", + "Sachant qu'", + "Sachant ", + "Etant donné que ", + "Etant donné qu'", + "Etant donné ", + "Etant donnée ", + "Etant donnés ", + "Etant données ", + "Étant donné que ", + "Étant donné qu'", + "Étant donné ", + "Étant donnée ", + "Étant donnés ", + "Étant données " + ], + "name": "French", + "native": "français", + "rule": [ + "Règle" + ], + "scenario": [ + "Exemple", + "Scénario" + ], + "scenarioOutline": [ + "Plan du scénario", + "Plan du Scénario" + ], + "then": [ + "* ", + "Alors ", + "Donc " + ], + "when": [ + "* ", + "Quand ", + "Lorsque ", + "Lorsqu'" + ] + }, + "ga": { + "and": [ + "* ", + "Agus" + ], + "background": [ + "Cúlra" + ], + "but": [ + "* ", + "Ach" + ], + "examples": [ + "Samplaí" + ], + "feature": [ + "Gné" + ], + "given": [ + "* ", + "Cuir i gcás go", + "Cuir i gcás nach", + "Cuir i gcás gur", + "Cuir i gcás nár" + ], + "name": "Irish", + "native": "Gaeilge", + "rule": [ + "Rule" + ], + "scenario": [ + "Sampla", + "Cás" + ], + "scenarioOutline": [ + "Cás Achomair" + ], + "then": [ + "* ", + "Ansin" + ], + "when": [ + "* ", + "Nuair a", + "Nuair nach", + "Nuair ba", + "Nuair nár" + ] + }, + "gj": { + "and": [ + "* ", + "અને " + ], + "background": [ + "બેકગ્રાઉન્ડ" + ], + "but": [ + "* ", + "પણ " + ], + "examples": [ + "ઉદાહરણો" + ], + "feature": [ + "લક્ષણ", + "વ્યાપાર જરૂર", + "ક્ષમતા" + ], + "given": [ + "* ", + "આપેલ છે " + ], + "name": "Gujarati", + "native": "ગુજરાતી", + "rule": [ + "Rule" + ], + "scenario": [ + "ઉદાહરણ", + "સ્થિતિ" + ], + "scenarioOutline": [ + "પરિદ્દશ્ય રૂપરેખા", + "પરિદ્દશ્ય ઢાંચો" + ], + "then": [ + "* ", + "પછી " + ], + "when": [ + "* ", + "ક્યારે " + ] + }, + "gl": { + "and": [ + "* ", + "E " + ], + "background": [ + "Contexto" + ], + "but": [ + "* ", + "Mais ", + "Pero " + ], + "examples": [ + "Exemplos" + ], + "feature": [ + "Característica" + ], + "given": [ + "* ", + "Dado ", + "Dada ", + "Dados ", + "Dadas " + ], + "name": "Galician", + "native": "galego", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemplo", + "Escenario" + ], + "scenarioOutline": [ + "Esbozo do escenario" + ], + "then": [ + "* ", + "Entón ", + "Logo " + ], + "when": [ + "* ", + "Cando " + ] + }, + "he": { + "and": [ + "* ", + "וגם " + ], + "background": [ + "רקע" + ], + "but": [ + "* ", + "אבל " + ], + "examples": [ + "דוגמאות" + ], + "feature": [ + "תכונה" + ], + "given": [ + "* ", + "בהינתן " + ], + "name": "Hebrew", + "native": "עברית", + "rule": [ + "כלל" + ], + "scenario": [ + "דוגמא", + "תרחיש" + ], + "scenarioOutline": [ + "תבנית תרחיש" + ], + "then": [ + "* ", + "אז ", + "אזי " + ], + "when": [ + "* ", + "כאשר " + ] + }, + "hi": { + "and": [ + "* ", + "और ", + "तथा " + ], + "background": [ + "पृष्ठभूमि" + ], + "but": [ + "* ", + "पर ", + "परन्तु ", + "किन्तु " + ], + "examples": [ + "उदाहरण" + ], + "feature": [ + "रूप लेख" + ], + "given": [ + "* ", + "अगर ", + "यदि ", + "चूंकि " + ], + "name": "Hindi", + "native": "हिंदी", + "rule": [ + "Rule" + ], + "scenario": [ + "परिदृश्य" + ], + "scenarioOutline": [ + "परिदृश्य रूपरेखा" + ], + "then": [ + "* ", + "तब ", + "तदा " + ], + "when": [ + "* ", + "जब ", + "कदा " + ] + }, + "hr": { + "and": [ + "* ", + "I " + ], + "background": [ + "Pozadina" + ], + "but": [ + "* ", + "Ali " + ], + "examples": [ + "Primjeri", + "Scenariji" + ], + "feature": [ + "Osobina", + "Mogućnost", + "Mogucnost" + ], + "given": [ + "* ", + "Zadan ", + "Zadani ", + "Zadano ", + "Ukoliko " + ], + "name": "Croatian", + "native": "hrvatski", + "rule": [ + "Rule" + ], + "scenario": [ + "Primjer", + "Scenarij" + ], + "scenarioOutline": [ + "Skica", + "Koncept" + ], + "then": [ + "* ", + "Onda " + ], + "when": [ + "* ", + "Kada ", + "Kad " + ] + }, + "ht": { + "and": [ + "* ", + "Ak ", + "Epi ", + "E " + ], + "background": [ + "Kontèks", + "Istorik" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Egzanp" + ], + "feature": [ + "Karakteristik", + "Mak", + "Fonksyonalite" + ], + "given": [ + "* ", + "Sipoze ", + "Sipoze ke ", + "Sipoze Ke " + ], + "name": "Creole", + "native": "kreyòl", + "rule": [ + "Rule" + ], + "scenario": [ + "Senaryo" + ], + "scenarioOutline": [ + "Plan senaryo", + "Plan Senaryo", + "Senaryo deskripsyon", + "Senaryo Deskripsyon", + "Dyagram senaryo", + "Dyagram Senaryo" + ], + "then": [ + "* ", + "Lè sa a ", + "Le sa a " + ], + "when": [ + "* ", + "Lè ", + "Le " + ] + }, + "hu": { + "and": [ + "* ", + "És " + ], + "background": [ + "Háttér" + ], + "but": [ + "* ", + "De " + ], + "examples": [ + "Példák" + ], + "feature": [ + "Jellemző" + ], + "given": [ + "* ", + "Amennyiben ", + "Adott " + ], + "name": "Hungarian", + "native": "magyar", + "rule": [ + "Rule" + ], + "scenario": [ + "Példa", + "Forgatókönyv" + ], + "scenarioOutline": [ + "Forgatókönyv vázlat" + ], + "then": [ + "* ", + "Akkor " + ], + "when": [ + "* ", + "Majd ", + "Ha ", + "Amikor " + ] + }, + "id": { + "and": [ + "* ", + "Dan " + ], + "background": [ + "Dasar", + "Latar Belakang" + ], + "but": [ + "* ", + "Tapi ", + "Tetapi " + ], + "examples": [ + "Contoh", + "Misal" + ], + "feature": [ + "Fitur" + ], + "given": [ + "* ", + "Dengan ", + "Diketahui ", + "Diasumsikan ", + "Bila ", + "Jika " + ], + "name": "Indonesian", + "native": "Bahasa Indonesia", + "rule": [ + "Rule", + "Aturan" + ], + "scenario": [ + "Skenario" + ], + "scenarioOutline": [ + "Skenario konsep", + "Garis-Besar Skenario" + ], + "then": [ + "* ", + "Maka ", + "Kemudian " + ], + "when": [ + "* ", + "Ketika " + ] + }, + "is": { + "and": [ + "* ", + "Og " + ], + "background": [ + "Bakgrunnur" + ], + "but": [ + "* ", + "En " + ], + "examples": [ + "Dæmi", + "Atburðarásir" + ], + "feature": [ + "Eiginleiki" + ], + "given": [ + "* ", + "Ef " + ], + "name": "Icelandic", + "native": "Íslenska", + "rule": [ + "Rule" + ], + "scenario": [ + "Atburðarás" + ], + "scenarioOutline": [ + "Lýsing Atburðarásar", + "Lýsing Dæma" + ], + "then": [ + "* ", + "Þá " + ], + "when": [ + "* ", + "Þegar " + ] + }, + "it": { + "and": [ + "* ", + "E " + ], + "background": [ + "Contesto" + ], + "but": [ + "* ", + "Ma " + ], + "examples": [ + "Esempi" + ], + "feature": [ + "Funzionalità", + "Esigenza di Business", + "Abilità" + ], + "given": [ + "* ", + "Dato ", + "Data ", + "Dati ", + "Date " + ], + "name": "Italian", + "native": "italiano", + "rule": [ + "Regola" + ], + "scenario": [ + "Esempio", + "Scenario" + ], + "scenarioOutline": [ + "Schema dello scenario" + ], + "then": [ + "* ", + "Allora " + ], + "when": [ + "* ", + "Quando " + ] + }, + "ja": { + "and": [ + "* ", + "かつ" + ], + "background": [ + "背景" + ], + "but": [ + "* ", + "しかし", + "但し", + "ただし" + ], + "examples": [ + "例", + "サンプル" + ], + "feature": [ + "フィーチャ", + "機能" + ], + "given": [ + "* ", + "前提" + ], + "name": "Japanese", + "native": "日本語", + "rule": [ + "Rule" + ], + "scenario": [ + "シナリオ" + ], + "scenarioOutline": [ + "シナリオアウトライン", + "シナリオテンプレート", + "テンプレ", + "シナリオテンプレ" + ], + "then": [ + "* ", + "ならば" + ], + "when": [ + "* ", + "もし" + ] + }, + "jv": { + "and": [ + "* ", + "Lan " + ], + "background": [ + "Dasar" + ], + "but": [ + "* ", + "Tapi ", + "Nanging ", + "Ananging " + ], + "examples": [ + "Conto", + "Contone" + ], + "feature": [ + "Fitur" + ], + "given": [ + "* ", + "Nalika ", + "Nalikaning " + ], + "name": "Javanese", + "native": "Basa Jawa", + "rule": [ + "Rule" + ], + "scenario": [ + "Skenario" + ], + "scenarioOutline": [ + "Konsep skenario" + ], + "then": [ + "* ", + "Njuk ", + "Banjur " + ], + "when": [ + "* ", + "Manawa ", + "Menawa " + ] + }, + "ka": { + "and": [ + "* ", + "და" + ], + "background": [ + "კონტექსტი" + ], + "but": [ + "* ", + "მაგ­რამ" + ], + "examples": [ + "მაგალითები" + ], + "feature": [ + "თვისება" + ], + "given": [ + "* ", + "მოცემული" + ], + "name": "Georgian", + "native": "ქართველი", + "rule": [ + "Rule" + ], + "scenario": [ + "მაგალითად", + "სცენარის" + ], + "scenarioOutline": [ + "სცენარის ნიმუში" + ], + "then": [ + "* ", + "მაშინ" + ], + "when": [ + "* ", + "როდესაც" + ] + }, + "kn": { + "and": [ + "* ", + "ಮತ್ತು " + ], + "background": [ + "ಹಿನ್ನೆಲೆ" + ], + "but": [ + "* ", + "ಆದರೆ " + ], + "examples": [ + "ಉದಾಹರಣೆಗಳು" + ], + "feature": [ + "ಹೆಚ್ಚಳ" + ], + "given": [ + "* ", + "ನೀಡಿದ " + ], + "name": "Kannada", + "native": "ಕನ್ನಡ", + "rule": [ + "Rule" + ], + "scenario": [ + "ಉದಾಹರಣೆ", + "ಕಥಾಸಾರಾಂಶ" + ], + "scenarioOutline": [ + "ವಿವರಣೆ" + ], + "then": [ + "* ", + "ನಂತರ " + ], + "when": [ + "* ", + "ಸ್ಥಿತಿಯನ್ನು " + ] + }, + "ko": { + "and": [ + "* ", + "그리고" + ], + "background": [ + "배경" + ], + "but": [ + "* ", + "하지만", + "단" + ], + "examples": [ + "예" + ], + "feature": [ + "기능" + ], + "given": [ + "* ", + "조건", + "먼저" + ], + "name": "Korean", + "native": "한국어", + "rule": [ + "Rule" + ], + "scenario": [ + "시나리오" + ], + "scenarioOutline": [ + "시나리오 개요" + ], + "then": [ + "* ", + "그러면" + ], + "when": [ + "* ", + "만일", + "만약" + ] + }, + "lt": { + "and": [ + "* ", + "Ir " + ], + "background": [ + "Kontekstas" + ], + "but": [ + "* ", + "Bet " + ], + "examples": [ + "Pavyzdžiai", + "Scenarijai", + "Variantai" + ], + "feature": [ + "Savybė" + ], + "given": [ + "* ", + "Duota " + ], + "name": "Lithuanian", + "native": "lietuvių kalba", + "rule": [ + "Rule" + ], + "scenario": [ + "Pavyzdys", + "Scenarijus" + ], + "scenarioOutline": [ + "Scenarijaus šablonas" + ], + "then": [ + "* ", + "Tada " + ], + "when": [ + "* ", + "Kai " + ] + }, + "lu": { + "and": [ + "* ", + "an ", + "a " + ], + "background": [ + "Hannergrond" + ], + "but": [ + "* ", + "awer ", + "mä " + ], + "examples": [ + "Beispiller" + ], + "feature": [ + "Funktionalitéit" + ], + "given": [ + "* ", + "ugeholl " + ], + "name": "Luxemburgish", + "native": "Lëtzebuergesch", + "rule": [ + "Rule" + ], + "scenario": [ + "Beispill", + "Szenario" + ], + "scenarioOutline": [ + "Plang vum Szenario" + ], + "then": [ + "* ", + "dann " + ], + "when": [ + "* ", + "wann " + ] + }, + "lv": { + "and": [ + "* ", + "Un " + ], + "background": [ + "Konteksts", + "Situācija" + ], + "but": [ + "* ", + "Bet " + ], + "examples": [ + "Piemēri", + "Paraugs" + ], + "feature": [ + "Funkcionalitāte", + "Fīča" + ], + "given": [ + "* ", + "Kad " + ], + "name": "Latvian", + "native": "latviešu", + "rule": [ + "Rule" + ], + "scenario": [ + "Piemērs", + "Scenārijs" + ], + "scenarioOutline": [ + "Scenārijs pēc parauga" + ], + "then": [ + "* ", + "Tad " + ], + "when": [ + "* ", + "Ja " + ] + }, + "mk-Cyrl": { + "and": [ + "* ", + "И " + ], + "background": [ + "Контекст", + "Содржина" + ], + "but": [ + "* ", + "Но " + ], + "examples": [ + "Примери", + "Сценарија" + ], + "feature": [ + "Функционалност", + "Бизнис потреба", + "Можност" + ], + "given": [ + "* ", + "Дадено ", + "Дадена " + ], + "name": "Macedonian", + "native": "Македонски", + "rule": [ + "Rule" + ], + "scenario": [ + "Пример", + "Сценарио", + "На пример" + ], + "scenarioOutline": [ + "Преглед на сценарија", + "Скица", + "Концепт" + ], + "then": [ + "* ", + "Тогаш " + ], + "when": [ + "* ", + "Кога " + ] + }, + "mk-Latn": { + "and": [ + "* ", + "I " + ], + "background": [ + "Kontekst", + "Sodrzhina" + ], + "but": [ + "* ", + "No " + ], + "examples": [ + "Primeri", + "Scenaria" + ], + "feature": [ + "Funkcionalnost", + "Biznis potreba", + "Mozhnost" + ], + "given": [ + "* ", + "Dadeno ", + "Dadena " + ], + "name": "Macedonian (Latin)", + "native": "Makedonski (Latinica)", + "rule": [ + "Rule" + ], + "scenario": [ + "Scenario", + "Na primer" + ], + "scenarioOutline": [ + "Pregled na scenarija", + "Skica", + "Koncept" + ], + "then": [ + "* ", + "Togash " + ], + "when": [ + "* ", + "Koga " + ] + }, + "mn": { + "and": [ + "* ", + "Мөн ", + "Тэгээд " + ], + "background": [ + "Агуулга" + ], + "but": [ + "* ", + "Гэхдээ ", + "Харин " + ], + "examples": [ + "Тухайлбал" + ], + "feature": [ + "Функц", + "Функционал" + ], + "given": [ + "* ", + "Өгөгдсөн нь ", + "Анх " + ], + "name": "Mongolian", + "native": "монгол", + "rule": [ + "Rule" + ], + "scenario": [ + "Сценар" + ], + "scenarioOutline": [ + "Сценарын төлөвлөгөө" + ], + "then": [ + "* ", + "Тэгэхэд ", + "Үүний дараа " + ], + "when": [ + "* ", + "Хэрэв " + ] + }, + "ne": { + "and": [ + "* ", + "र ", + "अनी " + ], + "background": [ + "पृष्ठभूमी" + ], + "but": [ + "* ", + "तर " + ], + "examples": [ + "उदाहरण", + "उदाहरणहरु" + ], + "feature": [ + "सुविधा", + "विशेषता" + ], + "given": [ + "* ", + "दिइएको ", + "दिएको ", + "यदि " + ], + "name": "Nepali", + "native": "नेपाली", + "rule": [ + "नियम" + ], + "scenario": [ + "परिदृश्य" + ], + "scenarioOutline": [ + "परिदृश्य रूपरेखा" + ], + "then": [ + "* ", + "त्यसपछि ", + "अनी " + ], + "when": [ + "* ", + "जब " + ] + }, + "nl": { + "and": [ + "* ", + "En " + ], + "background": [ + "Achtergrond" + ], + "but": [ + "* ", + "Maar " + ], + "examples": [ + "Voorbeelden" + ], + "feature": [ + "Functionaliteit" + ], + "given": [ + "* ", + "Gegeven ", + "Stel " + ], + "name": "Dutch", + "native": "Nederlands", + "rule": [ + "Rule" + ], + "scenario": [ + "Voorbeeld", + "Scenario" + ], + "scenarioOutline": [ + "Abstract Scenario" + ], + "then": [ + "* ", + "Dan " + ], + "when": [ + "* ", + "Als ", + "Wanneer " + ] + }, + "no": { + "and": [ + "* ", + "Og " + ], + "background": [ + "Bakgrunn" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Eksempler" + ], + "feature": [ + "Egenskap" + ], + "given": [ + "* ", + "Gitt " + ], + "name": "Norwegian", + "native": "norsk", + "rule": [ + "Regel" + ], + "scenario": [ + "Eksempel", + "Scenario" + ], + "scenarioOutline": [ + "Scenariomal", + "Abstrakt Scenario" + ], + "then": [ + "* ", + "Så " + ], + "when": [ + "* ", + "Når " + ] + }, + "pa": { + "and": [ + "* ", + "ਅਤੇ " + ], + "background": [ + "ਪਿਛੋਕੜ" + ], + "but": [ + "* ", + "ਪਰ " + ], + "examples": [ + "ਉਦਾਹਰਨਾਂ" + ], + "feature": [ + "ਖਾਸੀਅਤ", + "ਮੁਹਾਂਦਰਾ", + "ਨਕਸ਼ ਨੁਹਾਰ" + ], + "given": [ + "* ", + "ਜੇਕਰ ", + "ਜਿਵੇਂ ਕਿ " + ], + "name": "Panjabi", + "native": "ਪੰਜਾਬੀ", + "rule": [ + "Rule" + ], + "scenario": [ + "ਉਦਾਹਰਨ", + "ਪਟਕਥਾ" + ], + "scenarioOutline": [ + "ਪਟਕਥਾ ਢਾਂਚਾ", + "ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ" + ], + "then": [ + "* ", + "ਤਦ " + ], + "when": [ + "* ", + "ਜਦੋਂ " + ] + }, + "pl": { + "and": [ + "* ", + "Oraz ", + "I " + ], + "background": [ + "Założenia" + ], + "but": [ + "* ", + "Ale " + ], + "examples": [ + "Przykłady" + ], + "feature": [ + "Właściwość", + "Funkcja", + "Aspekt", + "Potrzeba biznesowa" + ], + "given": [ + "* ", + "Zakładając ", + "Mając ", + "Zakładając, że " + ], + "name": "Polish", + "native": "polski", + "rule": [ + "Rule" + ], + "scenario": [ + "Przykład", + "Scenariusz" + ], + "scenarioOutline": [ + "Szablon scenariusza" + ], + "then": [ + "* ", + "Wtedy " + ], + "when": [ + "* ", + "Jeżeli ", + "Jeśli ", + "Gdy ", + "Kiedy " + ] + }, + "pt": { + "and": [ + "* ", + "E " + ], + "background": [ + "Contexto", + "Cenário de Fundo", + "Cenario de Fundo", + "Fundo" + ], + "but": [ + "* ", + "Mas " + ], + "examples": [ + "Exemplos", + "Cenários", + "Cenarios" + ], + "feature": [ + "Funcionalidade", + "Característica", + "Caracteristica" + ], + "given": [ + "* ", + "Dado ", + "Dada ", + "Dados ", + "Dadas " + ], + "name": "Portuguese", + "native": "português", + "rule": [ + "Regra" + ], + "scenario": [ + "Exemplo", + "Cenário", + "Cenario" + ], + "scenarioOutline": [ + "Esquema do Cenário", + "Esquema do Cenario", + "Delineação do Cenário", + "Delineacao do Cenario" + ], + "then": [ + "* ", + "Então ", + "Entao " + ], + "when": [ + "* ", + "Quando " + ] + }, + "ro": { + "and": [ + "* ", + "Si ", + "Și ", + "Şi " + ], + "background": [ + "Context" + ], + "but": [ + "* ", + "Dar " + ], + "examples": [ + "Exemple" + ], + "feature": [ + "Functionalitate", + "Funcționalitate", + "Funcţionalitate" + ], + "given": [ + "* ", + "Date fiind ", + "Dat fiind ", + "Dată fiind", + "Dati fiind ", + "Dați fiind ", + "Daţi fiind " + ], + "name": "Romanian", + "native": "română", + "rule": [ + "Rule" + ], + "scenario": [ + "Exemplu", + "Scenariu" + ], + "scenarioOutline": [ + "Structura scenariu", + "Structură scenariu" + ], + "then": [ + "* ", + "Atunci " + ], + "when": [ + "* ", + "Cand ", + "Când " + ] + }, + "ru": { + "and": [ + "* ", + "И ", + "К тому же ", + "Также " + ], + "background": [ + "Предыстория", + "Контекст" + ], + "but": [ + "* ", + "Но ", + "А ", + "Иначе " + ], + "examples": [ + "Примеры" + ], + "feature": [ + "Функция", + "Функциональность", + "Функционал", + "Свойство" + ], + "given": [ + "* ", + "Допустим ", + "Дано ", + "Пусть " + ], + "name": "Russian", + "native": "русский", + "rule": [ + "Правило" + ], + "scenario": [ + "Пример", + "Сценарий" + ], + "scenarioOutline": [ + "Структура сценария" + ], + "then": [ + "* ", + "То ", + "Затем ", + "Тогда " + ], + "when": [ + "* ", + "Когда ", + "Если " + ] + }, + "sk": { + "and": [ + "* ", + "A ", + "A tiež ", + "A taktiež ", + "A zároveň " + ], + "background": [ + "Pozadie" + ], + "but": [ + "* ", + "Ale " + ], + "examples": [ + "Príklady" + ], + "feature": [ + "Požiadavka", + "Funkcia", + "Vlastnosť" + ], + "given": [ + "* ", + "Pokiaľ ", + "Za predpokladu " + ], + "name": "Slovak", + "native": "Slovensky", + "rule": [ + "Rule" + ], + "scenario": [ + "Príklad", + "Scenár" + ], + "scenarioOutline": [ + "Náčrt Scenáru", + "Náčrt Scenára", + "Osnova Scenára" + ], + "then": [ + "* ", + "Tak ", + "Potom " + ], + "when": [ + "* ", + "Keď ", + "Ak " + ] + }, + "sl": { + "and": [ + "In ", + "Ter " + ], + "background": [ + "Kontekst", + "Osnova", + "Ozadje" + ], + "but": [ + "Toda ", + "Ampak ", + "Vendar " + ], + "examples": [ + "Primeri", + "Scenariji" + ], + "feature": [ + "Funkcionalnost", + "Funkcija", + "Možnosti", + "Moznosti", + "Lastnost", + "Značilnost" + ], + "given": [ + "Dano ", + "Podano ", + "Zaradi ", + "Privzeto " + ], + "name": "Slovenian", + "native": "Slovenski", + "rule": [ + "Rule" + ], + "scenario": [ + "Primer", + "Scenarij" + ], + "scenarioOutline": [ + "Struktura scenarija", + "Skica", + "Koncept", + "Oris scenarija", + "Osnutek" + ], + "then": [ + "Nato ", + "Potem ", + "Takrat " + ], + "when": [ + "Ko ", + "Ce ", + "Če ", + "Kadar " + ] + }, + "sr-Cyrl": { + "and": [ + "* ", + "И " + ], + "background": [ + "Контекст", + "Основа", + "Позадина" + ], + "but": [ + "* ", + "Али " + ], + "examples": [ + "Примери", + "Сценарији" + ], + "feature": [ + "Функционалност", + "Могућност", + "Особина" + ], + "given": [ + "* ", + "За дато ", + "За дате ", + "За дати " + ], + "name": "Serbian", + "native": "Српски", + "rule": [ + "Rule" + ], + "scenario": [ + "Пример", + "Сценарио", + "Пример" + ], + "scenarioOutline": [ + "Структура сценарија", + "Скица", + "Концепт" + ], + "then": [ + "* ", + "Онда " + ], + "when": [ + "* ", + "Када ", + "Кад " + ] + }, + "sr-Latn": { + "and": [ + "* ", + "I " + ], + "background": [ + "Kontekst", + "Osnova", + "Pozadina" + ], + "but": [ + "* ", + "Ali " + ], + "examples": [ + "Primeri", + "Scenariji" + ], + "feature": [ + "Funkcionalnost", + "Mogućnost", + "Mogucnost", + "Osobina" + ], + "given": [ + "* ", + "Za dato ", + "Za date ", + "Za dati " + ], + "name": "Serbian (Latin)", + "native": "Srpski (Latinica)", + "rule": [ + "Rule" + ], + "scenario": [ + "Scenario", + "Primer" + ], + "scenarioOutline": [ + "Struktura scenarija", + "Skica", + "Koncept" + ], + "then": [ + "* ", + "Onda " + ], + "when": [ + "* ", + "Kada ", + "Kad " + ] + }, + "sv": { + "and": [ + "* ", + "Och " + ], + "background": [ + "Bakgrund" + ], + "but": [ + "* ", + "Men " + ], + "examples": [ + "Exempel" + ], + "feature": [ + "Egenskap" + ], + "given": [ + "* ", + "Givet " + ], + "name": "Swedish", + "native": "Svenska", + "rule": [ + "Regel" + ], + "scenario": [ + "Scenario" + ], + "scenarioOutline": [ + "Abstrakt Scenario", + "Scenariomall" + ], + "then": [ + "* ", + "Så " + ], + "when": [ + "* ", + "När " + ] + }, + "ta": { + "and": [ + "* ", + "மேலும் ", + "மற்றும் " + ], + "background": [ + "பின்னணி" + ], + "but": [ + "* ", + "ஆனால் " + ], + "examples": [ + "எடுத்துக்காட்டுகள்", + "காட்சிகள்", + "நிலைமைகளில்" + ], + "feature": [ + "அம்சம்", + "வணிக தேவை", + "திறன்" + ], + "given": [ + "* ", + "கொடுக்கப்பட்ட " + ], + "name": "Tamil", + "native": "தமிழ்", + "rule": [ + "Rule" + ], + "scenario": [ + "உதாரணமாக", + "காட்சி" + ], + "scenarioOutline": [ + "காட்சி சுருக்கம்", + "காட்சி வார்ப்புரு" + ], + "then": [ + "* ", + "அப்பொழுது " + ], + "when": [ + "* ", + "எப்போது " + ] + }, + "th": { + "and": [ + "* ", + "และ " + ], + "background": [ + "แนวคิด" + ], + "but": [ + "* ", + "แต่ " + ], + "examples": [ + "ชุดของตัวอย่าง", + "ชุดของเหตุการณ์" + ], + "feature": [ + "โครงหลัก", + "ความต้องการทางธุรกิจ", + "ความสามารถ" + ], + "given": [ + "* ", + "กำหนดให้ " + ], + "name": "Thai", + "native": "ไทย", + "rule": [ + "Rule" + ], + "scenario": [ + "เหตุการณ์" + ], + "scenarioOutline": [ + "สรุปเหตุการณ์", + "โครงสร้างของเหตุการณ์" + ], + "then": [ + "* ", + "ดังนั้น " + ], + "when": [ + "* ", + "เมื่อ " + ] + }, + "te": { + "and": [ + "* ", + "మరియు " + ], + "background": [ + "నేపథ్యం" + ], + "but": [ + "* ", + "కాని " + ], + "examples": [ + "ఉదాహరణలు" + ], + "feature": [ + "గుణము" + ], + "given": [ + "* ", + "చెప్పబడినది " + ], + "name": "Telugu", + "native": "తెలుగు", + "rule": [ + "Rule" + ], + "scenario": [ + "ఉదాహరణ", + "సన్నివేశం" + ], + "scenarioOutline": [ + "కథనం" + ], + "then": [ + "* ", + "అప్పుడు " + ], + "when": [ + "* ", + "ఈ పరిస్థితిలో " + ] + }, + "tlh": { + "and": [ + "* ", + "'ej ", + "latlh " + ], + "background": [ + "mo'" + ], + "but": [ + "* ", + "'ach ", + "'a " + ], + "examples": [ + "ghantoH", + "lutmey" + ], + "feature": [ + "Qap", + "Qu'meH 'ut", + "perbogh", + "poQbogh malja'", + "laH" + ], + "given": [ + "* ", + "ghu' noblu' ", + "DaH ghu' bejlu' " + ], + "name": "Klingon", + "native": "tlhIngan", + "rule": [ + "Rule" + ], + "scenario": [ + "lut" + ], + "scenarioOutline": [ + "lut chovnatlh" + ], + "then": [ + "* ", + "vaj " + ], + "when": [ + "* ", + "qaSDI' " + ] + }, + "tr": { + "and": [ + "* ", + "Ve " + ], + "background": [ + "Geçmiş" + ], + "but": [ + "* ", + "Fakat ", + "Ama " + ], + "examples": [ + "Örnekler" + ], + "feature": [ + "Özellik" + ], + "given": [ + "* ", + "Diyelim ki " + ], + "name": "Turkish", + "native": "Türkçe", + "rule": [ + "Rule" + ], + "scenario": [ + "Örnek", + "Senaryo" + ], + "scenarioOutline": [ + "Senaryo taslağı" + ], + "then": [ + "* ", + "O zaman " + ], + "when": [ + "* ", + "Eğer ki " + ] + }, + "tt": { + "and": [ + "* ", + "Һәм ", + "Вә " + ], + "background": [ + "Кереш" + ], + "but": [ + "* ", + "Ләкин ", + "Әмма " + ], + "examples": [ + "Үрнәкләр", + "Мисаллар" + ], + "feature": [ + "Мөмкинлек", + "Үзенчәлеклелек" + ], + "given": [ + "* ", + "Әйтик " + ], + "name": "Tatar", + "native": "Татарча", + "rule": [ + "Rule" + ], + "scenario": [ + "Сценарий" + ], + "scenarioOutline": [ + "Сценарийның төзелеше" + ], + "then": [ + "* ", + "Нәтиҗәдә " + ], + "when": [ + "* ", + "Әгәр " + ] + }, + "uk": { + "and": [ + "* ", + "І ", + "А також ", + "Та " + ], + "background": [ + "Передумова" + ], + "but": [ + "* ", + "Але " + ], + "examples": [ + "Приклади" + ], + "feature": [ + "Функціонал" + ], + "given": [ + "* ", + "Припустимо ", + "Припустимо, що ", + "Нехай ", + "Дано " + ], + "name": "Ukrainian", + "native": "Українська", + "rule": [ + "Rule" + ], + "scenario": [ + "Приклад", + "Сценарій" + ], + "scenarioOutline": [ + "Структура сценарію" + ], + "then": [ + "* ", + "То ", + "Тоді " + ], + "when": [ + "* ", + "Якщо ", + "Коли " + ] + }, + "ur": { + "and": [ + "* ", + "اور " + ], + "background": [ + "پس منظر" + ], + "but": [ + "* ", + "لیکن " + ], + "examples": [ + "مثالیں" + ], + "feature": [ + "صلاحیت", + "کاروبار کی ضرورت", + "خصوصیت" + ], + "given": [ + "* ", + "اگر ", + "بالفرض ", + "فرض کیا " + ], + "name": "Urdu", + "native": "اردو", + "rule": [ + "Rule" + ], + "scenario": [ + "منظرنامہ" + ], + "scenarioOutline": [ + "منظر نامے کا خاکہ" + ], + "then": [ + "* ", + "پھر ", + "تب " + ], + "when": [ + "* ", + "جب " + ] + }, + "uz": { + "and": [ + "* ", + "Ва " + ], + "background": [ + "Тарих" + ], + "but": [ + "* ", + "Лекин ", + "Бирок ", + "Аммо " + ], + "examples": [ + "Мисоллар" + ], + "feature": [ + "Функционал" + ], + "given": [ + "* ", + "Агар " + ], + "name": "Uzbek", + "native": "Узбекча", + "rule": [ + "Rule" + ], + "scenario": [ + "Сценарий" + ], + "scenarioOutline": [ + "Сценарий структураси" + ], + "then": [ + "* ", + "Унда " + ], + "when": [ + "* ", + "Агар " + ] + }, + "vi": { + "and": [ + "* ", + "Và " + ], + "background": [ + "Bối cảnh" + ], + "but": [ + "* ", + "Nhưng " + ], + "examples": [ + "Dữ liệu" + ], + "feature": [ + "Tính năng" + ], + "given": [ + "* ", + "Biết ", + "Cho " + ], + "name": "Vietnamese", + "native": "Tiếng Việt", + "rule": [ + "Rule" + ], + "scenario": [ + "Tình huống", + "Kịch bản" + ], + "scenarioOutline": [ + "Khung tình huống", + "Khung kịch bản" + ], + "then": [ + "* ", + "Thì " + ], + "when": [ + "* ", + "Khi " + ] + }, + "zh-CN": { + "and": [ + "* ", + "而且", + "并且", + "同时" + ], + "background": [ + "背景" + ], + "but": [ + "* ", + "但是" + ], + "examples": [ + "例子" + ], + "feature": [ + "功能" + ], + "given": [ + "* ", + "假如", + "假设", + "假定" + ], + "name": "Chinese simplified", + "native": "简体中文", + "rule": [ + "Rule" + ], + "scenario": [ + "场景", + "剧本" + ], + "scenarioOutline": [ + "场景大纲", + "剧本大纲" + ], + "then": [ + "* ", + "那么" + ], + "when": [ + "* ", + "当" + ] + }, + "zh-TW": { + "and": [ + "* ", + "而且", + "並且", + "同時" + ], + "background": [ + "背景" + ], + "but": [ + "* ", + "但是" + ], + "examples": [ + "例子" + ], + "feature": [ + "功能" + ], + "given": [ + "* ", + "假如", + "假設", + "假定" + ], + "name": "Chinese traditional", + "native": "繁體中文", + "rule": [ + "Rule" + ], + "scenario": [ + "場景", + "劇本" + ], + "scenarioOutline": [ + "場景大綱", + "劇本大綱" + ], + "then": [ + "* ", + "那麼" + ], + "when": [ + "* ", + "當" + ] + }, + "mr": { + "and": [ + "* ", + "आणि ", + "तसेच " + ], + "background": [ + "पार्श्वभूमी" + ], + "but": [ + "* ", + "पण ", + "परंतु " + ], + "examples": [ + "उदाहरण" + ], + "feature": [ + "वैशिष्ट्य", + "सुविधा" + ], + "given": [ + "* ", + "जर", + "दिलेल्या प्रमाणे " + ], + "name": "Marathi", + "native": "मराठी", + "rule": [ + "नियम" + ], + "scenario": [ + "परिदृश्य" + ], + "scenarioOutline": [ + "परिदृश्य रूपरेखा" + ], + "then": [ + "* ", + "मग ", + "तेव्हा " + ], + "when": [ + "* ", + "जेव्हा " + ] + } +} diff --git a/node_modules/@cucumber/gherkin/src/index.ts b/node_modules/@cucumber/gherkin/src/index.ts new file mode 100644 index 0000000..e0e3319 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/index.ts @@ -0,0 +1,25 @@ +import generateMessages from './generateMessages' +import makeSourceEnvelope from './makeSourceEnvelope' +import IGherkinOptions from './IGherkinOptions' +import Dialect from './Dialect' +import Parser from './Parser' +import AstBuilder from './AstBuilder' +import TokenScanner from './TokenScanner' +import compile from './pickles/compile' +import DIALECTS from './gherkin-languages.json' +import TokenMatcher from './TokenMatcher' + +const dialects = DIALECTS as Readonly<{ [key: string]: Dialect }> + +export { + generateMessages, + makeSourceEnvelope, + IGherkinOptions, + dialects, + Dialect, + Parser, + AstBuilder, + TokenScanner, + TokenMatcher, + compile, +} diff --git a/node_modules/@cucumber/gherkin/src/makeSourceEnvelope.ts b/node_modules/@cucumber/gherkin/src/makeSourceEnvelope.ts new file mode 100644 index 0000000..384dd11 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/makeSourceEnvelope.ts @@ -0,0 +1,11 @@ +import { messages } from '@cucumber/messages' + +export default function makeSourceEnvelope(data: string, uri: string): messages.IEnvelope { + return new messages.Envelope({ + source: new messages.Source({ + data, + uri, + mediaType: 'text/x.cucumber.gherkin+plain', + }), + }) +} diff --git a/node_modules/@cucumber/gherkin/src/pickles/compile.ts b/node_modules/@cucumber/gherkin/src/pickles/compile.ts new file mode 100644 index 0000000..63144a4 --- /dev/null +++ b/node_modules/@cucumber/gherkin/src/pickles/compile.ts @@ -0,0 +1,251 @@ +import { messages, IdGenerator } from '@cucumber/messages' +import IGherkinDocument = messages.IGherkinDocument + +export default function compile( + gherkinDocument: IGherkinDocument, + uri: string, + newId: IdGenerator.NewId +): ReadonlyArray { + const pickles: messages.IPickle[] = [] + + if (gherkinDocument.feature == null) { + return pickles + } + + const feature = gherkinDocument.feature + const language = feature.language + const featureTags = feature.tags + let featureBackgroundSteps: messages.GherkinDocument.Feature.IStep[] = [] + + feature.children.forEach((stepsContainer) => { + if (stepsContainer.background) { + featureBackgroundSteps = [].concat(stepsContainer.background.steps) + } else if (stepsContainer.rule) { + compileRule( + featureTags, + featureBackgroundSteps, + stepsContainer.rule, + language, + pickles, + uri, + newId + ) + } else if (stepsContainer.scenario.examples.length === 0) { + compileScenario( + featureTags, + featureBackgroundSteps, + stepsContainer.scenario, + language, + pickles, + uri, + newId + ) + } else { + compileScenarioOutline( + featureTags, + featureBackgroundSteps, + stepsContainer.scenario, + language, + pickles, + uri, + newId + ) + } + }) + return pickles +} + +function compileRule( + featureTags: messages.GherkinDocument.Feature.ITag[], + featureBackgroundSteps: messages.GherkinDocument.Feature.IStep[], + rule: messages.GherkinDocument.Feature.FeatureChild.IRule, + language: string, + pickles: messages.IPickle[], + uri: string, + newId: IdGenerator.NewId +) { + let ruleBackgroundSteps = [].concat(featureBackgroundSteps) + + const tags = [].concat(featureTags).concat(rule.tags) + + rule.children.forEach((stepsContainer) => { + if (stepsContainer.background) { + ruleBackgroundSteps = ruleBackgroundSteps.concat(stepsContainer.background.steps) + } else if (stepsContainer.scenario.examples.length === 0) { + compileScenario( + tags, + ruleBackgroundSteps, + stepsContainer.scenario, + language, + pickles, + uri, + newId + ) + } else { + compileScenarioOutline( + featureTags, + ruleBackgroundSteps, + stepsContainer.scenario, + language, + pickles, + uri, + newId + ) + } + }) +} + +function compileScenario( + inheritedTags: messages.GherkinDocument.Feature.ITag[], + backgroundSteps: messages.GherkinDocument.Feature.IStep[], + scenario: messages.GherkinDocument.Feature.IScenario, + language: string, + pickles: messages.IPickle[], + uri: string, + newId: IdGenerator.NewId +) { + const steps = + scenario.steps.length === 0 + ? [] + : backgroundSteps.map((step) => pickleStep(step, [], null, newId)) + + const tags = [].concat(inheritedTags).concat(scenario.tags) + + scenario.steps.forEach((step) => steps.push(pickleStep(step, [], null, newId))) + + const pickle = messages.Pickle.create({ + id: newId(), + uri, + astNodeIds: [scenario.id], + tags: pickleTags(tags), + name: scenario.name, + language, + steps, + }) + pickles.push(pickle) +} + +function compileScenarioOutline( + inheritedTags: messages.GherkinDocument.Feature.ITag[], + backgroundSteps: messages.GherkinDocument.Feature.IStep[], + scenario: messages.GherkinDocument.Feature.IScenario, + language: string, + pickles: messages.IPickle[], + uri: string, + newId: IdGenerator.NewId +) { + scenario.examples + .filter((e) => e.tableHeader !== null) + .forEach((examples) => { + const variableCells = examples.tableHeader.cells + examples.tableBody.forEach((valuesRow) => { + const steps = + scenario.steps.length === 0 + ? [] + : backgroundSteps.map((step) => pickleStep(step, [], null, newId)) + const tags = [].concat(inheritedTags).concat(scenario.tags).concat(examples.tags) + + scenario.steps.forEach((scenarioOutlineStep) => { + const step = pickleStep(scenarioOutlineStep, variableCells, valuesRow, newId) + steps.push(step) + }) + + pickles.push( + messages.Pickle.create({ + id: newId(), + uri, + astNodeIds: [scenario.id, valuesRow.id], + name: interpolate(scenario.name, variableCells, valuesRow.cells), + language, + steps, + tags: pickleTags(tags), + }) + ) + }) + }) +} + +function createPickleArguments( + step: messages.GherkinDocument.Feature.IStep, + variableCells: messages.GherkinDocument.Feature.TableRow.ITableCell[], + valueCells: messages.GherkinDocument.Feature.TableRow.ITableCell[] +) { + if (step.dataTable) { + const argument = step.dataTable + const table = { + rows: argument.rows.map((row) => { + return { + cells: row.cells.map((cell) => { + return { + location: cell.location, + value: interpolate(cell.value, variableCells, valueCells), + } + }), + } + }), + } + return { + dataTable: table, + } + } else if (step.docString) { + const argument = step.docString + const docString = messages.PickleStepArgument.PickleDocString.create({ + content: interpolate(argument.content, variableCells, valueCells), + }) + if (argument.mediaType) { + docString.mediaType = interpolate(argument.mediaType, variableCells, valueCells) + } + return { + docString, + } + } +} + +function interpolate( + name: string, + variableCells: messages.GherkinDocument.Feature.TableRow.ITableCell[], + valueCells: messages.GherkinDocument.Feature.TableRow.ITableCell[] +) { + variableCells.forEach((variableCell, n) => { + const valueCell = valueCells[n] + const valuePattern = '<' + variableCell.value + '>' + const escapedPattern = valuePattern.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') + const regexp = new RegExp(escapedPattern, 'g') + // JS Specific - dollar sign needs to be escaped with another dollar sign + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter + const replacement = valueCell.value.replace(new RegExp('\\$', 'g'), '$$$$') + name = name.replace(regexp, replacement) + }) + return name +} + +function pickleStep( + step: messages.GherkinDocument.Feature.IStep, + variableCells: messages.GherkinDocument.Feature.TableRow.ITableCell[], + valuesRow: messages.GherkinDocument.Feature.ITableRow | null, + newId: IdGenerator.NewId +) { + const astNodeIds = [step.id] + if (valuesRow) { + astNodeIds.push(valuesRow.id) + } + const valueCells = valuesRow ? valuesRow.cells : [] + + return messages.Pickle.PickleStep.create({ + id: newId(), + text: interpolate(step.text, variableCells, valueCells), + argument: createPickleArguments(step, variableCells, valueCells), + astNodeIds, + }) +} + +function pickleTags(tags: messages.GherkinDocument.Feature.ITag[]) { + return tags.map(pickleTag) +} + +function pickleTag(tag: messages.GherkinDocument.Feature.ITag) { + return messages.Pickle.PickleTag.create({ + name: tag.name, + astNodeId: tag.id, + }) +} diff --git a/node_modules/@cucumber/gherkin/tsconfig.build.json b/node_modules/@cucumber/gherkin/tsconfig.build.json new file mode 100644 index 0000000..c6df3b5 --- /dev/null +++ b/node_modules/@cucumber/gherkin/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist" + }, + "include": [ + "package.json", + "src/gherkin-languages.json", + "src", + "test" + ] +} diff --git a/node_modules/@cucumber/gherkin/tsconfig.json b/node_modules/@cucumber/gherkin/tsconfig.json new file mode 100644 index 0000000..4082f16 --- /dev/null +++ b/node_modules/@cucumber/gherkin/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/node_modules/@cucumber/html-formatter/.github/ISSUE_TEMPLATE.md b/node_modules/@cucumber/html-formatter/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..fac9619 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE ISSUES IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your issue in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/issues diff --git a/node_modules/@cucumber/html-formatter/.github/PULL_REQUEST_TEMPLATE.md b/node_modules/@cucumber/html-formatter/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..2c0c878 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,5 @@ +PLEASE DO NOT CREATE PULL REAUESTS IN THIS REPO. +THIS REPO IS A READ-ONLY MIRROR. + +Create your pull request in the Cucumber monorepo instead: +https://github.com/cucumber/cucumber/pulls diff --git a/node_modules/@cucumber/html-formatter/.mocharc.json b/node_modules/@cucumber/html-formatter/.mocharc.json new file mode 100644 index 0000000..d5055eb --- /dev/null +++ b/node_modules/@cucumber/html-formatter/.mocharc.json @@ -0,0 +1,6 @@ +{ + "require": ["tsconfig-paths/register", "ts-node/register", "source-map-support/register"], + "extension": ["ts", "tsx"], + "recursive": true, + "timeout": 10000 +} diff --git a/node_modules/@cucumber/html-formatter/.rsync b/node_modules/@cucumber/html-formatter/.rsync new file mode 100644 index 0000000..2672e9f --- /dev/null +++ b/node_modules/@cucumber/html-formatter/.rsync @@ -0,0 +1,3 @@ +../../LICENSE LICENSE +../../.templates/github/ .github/ +../../.templates/javascript/ . diff --git a/node_modules/@cucumber/html-formatter/.subrepo b/node_modules/@cucumber/html-formatter/.subrepo new file mode 100644 index 0000000..2cec613 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/.subrepo @@ -0,0 +1 @@ +cucumber/html-formatter diff --git a/node_modules/@cucumber/html-formatter/Dockerfile b/node_modules/@cucumber/html-formatter/Dockerfile new file mode 100644 index 0000000..77f25c9 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/Dockerfile @@ -0,0 +1,15 @@ +# cucumber/html-formatter +FROM node:12-alpine + +RUN mkdir -p /home/node/app +ADD src /home/node/app/src +ADD test /home/node/app/test +ADD bin /home/node/app/bin +ADD package.json /home/node/app/package.json +ADD tsconfig.json /home/node/app/tsconfig.json +ADD webpack.config.js /home/node/app/webpack.config.js +RUN cd /home/node/app && npm install +RUN cd /home/node/app && npm run build + +USER node +ENTRYPOINT [ "/home/node/app/bin/cucumber-html-formatter.js" ] diff --git a/node_modules/@cucumber/html-formatter/LICENSE b/node_modules/@cucumber/html-formatter/LICENSE new file mode 100644 index 0000000..725ba9f --- /dev/null +++ b/node_modules/@cucumber/html-formatter/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Cucumber Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@cucumber/html-formatter/Makefile b/node_modules/@cucumber/html-formatter/Makefile new file mode 100644 index 0000000..3d7fa95 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/Makefile @@ -0,0 +1,26 @@ +include default.mk + +CCK_NDJSONS = $(shell find ../../compatibility-kit/javascript/features -name "*.ndjson") +HTML_REPORTS = $(patsubst ../../compatibility-kit/javascript/features/%.ndjson,acceptance/%.html,$(CCK_NDJSONS)) +HTML_REPORT_CHECKS = $(patsubst acceptance/%.html,acceptance/%.html.checked,$(HTML_REPORTS)) + +.built: webpack.config.js dist/main.js dist/src/index.mustache.html dist/cucumber-react.css + +dist/main.js: dist/src/main.js + ../../node_modules/.bin/webpack-cli + +dist/src/index.mustache.html: src/index.mustache.html + cp $< $@ + +dist/cucumber-react.css: ../../node_modules/@cucumber/react/dist/src/styles/cucumber-react.css + cp $< $@ + +.tested: $(HTML_REPORT_CHECKS) + +.PRECIOUS: acceptance/%.html +acceptance/%.html: ../../compatibility-kit/javascript/features/%.ndjson .built + mkdir -p $(@D) + cat $< | ./bin/cucumber-html-formatter.js --format ndjson > $@ + +acceptance/%.html.checked: acceptance/%.html + node check.js $< > $@ diff --git a/node_modules/@cucumber/html-formatter/README.md b/node_modules/@cucumber/html-formatter/README.md new file mode 100644 index 0000000..254ad8f --- /dev/null +++ b/node_modules/@cucumber/html-formatter/README.md @@ -0,0 +1,31 @@ +# cucumber-html-formatter + +For general information, see the parent [README.md](../README.md) + +## Hacking + +While hacking on this module you may want to try it out manually. For example, +to generate a report with random results for the `.feature` files used in gherkin's +test suite: + +``` +cd ../../gherkin +../fake-cucumber/javascript/bin/fake-cucumber \ + --format ndjson \ + testdata/good/*.feature | \ + ../html-formatter/javascript/bin/cucumber-html-formatter.js \ + --format ndjson > \ + gherkin.html +``` + +Note that this will only work if `package.json` points to released versions. It won't +work as long as there are `file:` dependencies - you'll get a React error. + +## Docker image + +The Docker image is automatically built on docker hub, but you can also build it locally: + +``` +source ../../scripts/functions.sh +docker_build Dockerfile +``` diff --git a/node_modules/@cucumber/html-formatter/bin/cucumber-html-formatter.js b/node_modules/@cucumber/html-formatter/bin/cucumber-html-formatter.js new file mode 100755 index 0000000..c4af9b9 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/bin/cucumber-html-formatter.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +require('source-map-support').install() +require('../dist/src/cli-main') diff --git a/node_modules/@cucumber/html-formatter/check.js b/node_modules/@cucumber/html-formatter/check.js new file mode 100644 index 0000000..0766921 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/check.js @@ -0,0 +1,22 @@ +const fs = require('fs') +const path = process.argv[2] +const html = fs.readFileSync(path, 'utf-8') +const puppeteer = require('puppeteer') + +async function check() { + const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox'] }) + const page = await browser.newPage() + await page.setContent(html) + const dynamicHTML = await page.evaluate(() => { + const content = document.querySelector('.cucumber-react') + return content && content.innerHTML + }) + await browser.close() + + if(!dynamicHTML) throw new Error(`The file ${path} did not render a .cucumber-react element. Inspect manually.`) +} + +check().then(() => console.log(`${path} rendered OK!`)).catch((err) => { + console.error(err.stack) + process.exit(1) +}) diff --git a/node_modules/@cucumber/html-formatter/default.mk b/node_modules/@cucumber/html-formatter/default.mk new file mode 100644 index 0000000..2d7aafb --- /dev/null +++ b/node_modules/@cucumber/html-formatter/default.mk @@ -0,0 +1,69 @@ +SHELL := /usr/bin/env bash +# https://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make +rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d)) +TYPESCRIPT_SOURCE_FILES = $(sort $(call rwildcard,src test,*.ts *.tsx)) +PRIVATE = $(shell node -e "console.log(require('./package.json').private)") +IS_TESTDATA = $(findstring -testdata,${CURDIR}) +NPM_MODULE = $(shell cat package.json | jq .name --raw-output) + +default: .tested +.PHONY: default + +.codegen: + touch $@ + +.tested: .tested-npm + +.tested-npm: $(TYPESCRIPT_SOURCE_FILES) .codegen + npm run test + touch $@ + +pre-release: clean update-version update-dependencies default +.PHONY: pre-release + +update-dependencies: + ../../node_modules/.bin/npm-check-updates --upgrade && \ + pushd ../.. && \ + npm install && \ + npm run build && \ + popd +.PHONY: update-dependencies + +update-version: +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifdef NEW_VERSION + npm --no-git-tag-version --allow-same-version version "$(NEW_VERSION)" + # Update all npm packages that depend on us + pushd ../.. && \ + ./scripts/npm-each update_npm_dependency_if_exists package.json "$(NPM_MODULE)" "^$(NEW_VERSION)" + # npm install +else + @echo -e "\033[0;31mNEW_VERSION is not defined. Can't update version :-(\033[0m" + exit 1 +endif +endif +.PHONY: update-version + +publish: .codegen +ifeq ($(IS_TESTDATA),-testdata) + # no-op +else +ifneq (true,$(PRIVATE)) + npm publish --access public +else + @echo "Not publishing private npm module" +endif +endif +.PHONY: publish + +post-release: +.PHONY: post-release + +clean: clean-javascript +.PHONY: clean + +clean-javascript: + rm -rf .deps .codegen .tested* node_modules coverage dist acceptance +.PHONY: clean-javascript diff --git a/node_modules/@cucumber/html-formatter/dist/cucumber-react.css b/node_modules/@cucumber/html-formatter/dist/cucumber-react.css new file mode 100644 index 0000000..2a4d4de --- /dev/null +++ b/node_modules/@cucumber/html-formatter/dist/cucumber-react.css @@ -0,0 +1,291 @@ +.cucumber-react .cucumber-status--passed { + color: #2CB14A; +} +.cucumber-react .cucumber-status--skipped { + color: #00A0CC; +} +.cucumber-react .cucumber-status--pending { + color: #FFAD33; +} +.cucumber-react .cucumber-status--undefined { + color: #FFAD33; +} +.cucumber-react .cucumber-status--ambiguous { + color: #F4EBFD; +} +.cucumber-react .cucumber-status--failed { + color: #BB0000; +} +.cucumber-react .cucumber-status--unknown { + color: #B6BECB; +} +.cucumber-react h1, .cucumber-react h2, .cucumber-react h3 { + padding: 0; + margin: 0; +} +.cucumber-react a { + color: inherit; +} +.cucumber-react .gherkin-document-list { + font: 14px "Open Sans", sans-serif; + color: #161C24; + background: #fff; + overflow-x: hidden; +} +.cucumber-react .cucumber-title { + margin-top: 0.3em; + margin-bottom: 0; + display: inline-block; +} +.cucumber-react .cucumber-title__keyword { + font-weight: bold; +} +.cucumber-react .cucumber-title__text { + font-weight: normal; +} +.cucumber-react .cucumber-tags { + padding: 0; + margin-bottom: 0; +} +.cucumber-react .cucumber-tags .cucumber-tag { + display: inline; + list-style-type: none; + padding: 4px 8px 4px 8px; + margin-right: 6px; + background-color: #FFFFFF; + border-radius: 6px; +} +.cucumber-react .cucumber-feature__icon { + padding-top: 0.35em; + padding-right: 0.5em; +} +.cucumber-react .cucumber-description, +.cucumber-react .cucumber-children { + margin-left: 1em; +} +.cucumber-react .cucumber-feature, +.cucumber-react .cucumber-rule, +.cucumber-react .cucumber-scenario, +.cucumber-react .cucumber-background { + margin-bottom: 1em; +} +.cucumber-react .cucumber-steps { + list-style-type: none; + padding-left: 10px; +} +.cucumber-react .cucumber-steps .cucumber-step { + display: flex; +} +.cucumber-react .cucumber-steps .cucumber-step__status { + padding-top: 0.2em; + padding-right: 0.5em; +} +.cucumber-react .cucumber-steps .cucumber-step__content { + flex-grow: 1; + max-width: calc(100% - 1.5em); +} +.cucumber-react .cucumber-steps .cucumber-step__keyword { + font-weight: bold; +} +.cucumber-react .cucumber-steps .cucumber-step__text { + font-weight: normal; +} +.cucumber-react .cucumber-steps .cucumber-step__param { + font-weight: normal; + font-style: italic; +} +.cucumber-react .cucumber-table { + border-collapse: collapse; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.cucumber-react .cucumber-table__header-cell { + border: 1px solid #4B5662; + padding: 0.3em; +} +.cucumber-react .cucumber-table__cell { + border: 1px solid #4B5662; + padding: 0.3em; +} +.cucumber-react .cucumber-table__cell__status { + padding: 0.5em 3px 3px 3px; +} +.cucumber-react .cucumber-table__cell__step { + flex-grow: 1; +} +.cucumber-react .cucumber-code { + padding: 0.25em; + background-color: #ebebeb; +} +.cucumber-react .cucumber-error { + padding: 0.5em; + margin: 0; + overflow-x: auto; +} +.cucumber-react .cucumber-no-documents { + font: 14px "Open Sans", sans-serif; +} +.cucumber-react .cucumber-attachment__icon { + margin-right: 0.5em; +} +.cucumber-react .cucumber-attachment__image { + max-width: 100%; + margin-top: 1em; +} +.cucumber-react .cucumber-attachment__text { + background-color: #ebebeb; + padding: 0.5em; + overflow-x: auto; +} +.cucumber-react .cucumber-anchor { + position: relative; + display: flex; + align-items: center; + margin-top: 0.3em; +} +.cucumber-react .cucumber-anchor__link { + opacity: 0; + transition: all 0.35s ease-in-out; + position: absolute; + left: -20px; + display: flex; + align-items: center; +} +.cucumber-react .cucumber-anchor__icon { + margin-right: 0.5em; +} +.cucumber-react .cucumber-anchor:hover a { + opacity: 1; + width: max-content; + transition: all 0.35s ease-in-out; +} +.cucumber-react .cucumber-anchor > * { + height: 100%; + margin-top: 0px; +} + +.cucumber-report-header { + width: 100%; + display: grid; + grid-template-columns: 1fr; + border: 1px solid rgba(0, 0, 0, 0.1); + font: 11px "Open Sans", sans-serif; + margin-bottom: 1em; +} +.cucumber-report-header > * { + padding: 1em; +} +.cucumber-report-header .cucumber-status-filter { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} +.cucumber-report-header .cucumber-status-filter table { + width: 100%; +} +.cucumber-report-header .cucumber-execution-data { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} +.cucumber-report-header .cucumber-search-bar { + border-right: 0; +} +.cucumber-report-header .cucumber-search-bar form.cucumber-search-bar-search { + width: 100%; + display: grid; + grid-template-columns: 9fr 1fr; +} +.cucumber-report-header .cucumber-search-bar form.cucumber-search-bar-search input { + padding: 0.4em; + border-radius: 0; +} +.cucumber-report-header .cucumber-search-bar form.cucumber-search-bar-search button { + height: 2.2em; + padding-left: 0.6em; + padding-right: 0.6em; +} +.cucumber-report-header .cucumber-search-bar p.help { + font-size: 80%; +} +.cucumber-report-header .cucumber-search-bar form.cucumber-search-bar-filter ul { + display: inline; +} +.cucumber-report-header .cucumber-search-bar form.cucumber-search-bar-filter ul li { + list-style-type: none; + display: inline-block; +} +.cucumber-report-header .cucumber-search-bar form.cucumber-search-bar-filter ul li input { + display: inline-block; + width: auto; + height: 0.6em; +} +.cucumber-report-header .cucumber-search-bar form.cucumber-search-bar-filter ul li label { + padding-right: 1em; +} + +@media only screen and (min-width: 600px) { + .cucumber-report-header { + grid-template-columns: 1fr 1fr; + } + .cucumber-report-header .cucumber-status-filter { + border-right: 1px solid rgba(0, 0, 0, 0.1); + } + .cucumber-report-header .cucumber-search-bar { + grid-column: 1/-1; + } +} +@media only screen and (min-width: 992px) { + .cucumber-report-header { + grid-template-columns: 1fr 1fr 2fr; + } + .cucumber-report-header .cucumber-status-filter { + border-bottom: 0; + } + .cucumber-report-header .cucumber-execution-data { + border-right: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 0; + } + .cucumber-report-header .cucumber-search-bar { + grid-column: auto; + } +} +.accordion { + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 2px; +} + +.accordion__item + .accordion__item { + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +.accordion__button { + background-color: #f4f4f4; + color: #444; + cursor: pointer; + padding: 10px; + width: 100%; + text-align: left; + border: none; +} + +.accordion__button:hover { + background-color: #ddd; +} + +.accordion__button:before { + display: inline-block; + content: ''; + height: 10px; + width: 10px; + margin-right: 12px; + border-bottom: 2px solid currentColor; + border-right: 2px solid currentColor; + transform: rotate(-45deg); +} + +.accordion__button[aria-expanded='true']::before, +.accordion__button[aria-selected='true']::before { + transform: rotate(45deg); +} + +.accordion__panel { + padding: 20px; + animation: fadein 0.35s ease-in; +} diff --git a/node_modules/@cucumber/html-formatter/dist/main.js b/node_modules/@cucumber/html-formatter/dist/main.js new file mode 100644 index 0000000..5715559 --- /dev/null +++ b/node_modules/@cucumber/html-formatter/dist/main.js @@ -0,0 +1,2 @@ +/*! For license information please see main.js.LICENSE.txt */ +(()=>{var __webpack_modules__={5042:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rejectAllFilters=void 0;const n=r(1717),a={acceptScenario:()=>!0,acceptStep:()=>!0,acceptBackground:()=>!0,acceptRule:()=>!0,acceptFeature:()=>!0};t.rejectAllFilters={acceptScenario:()=>!1,acceptStep:()=>!1,acceptBackground:()=>!1,acceptRule:()=>!1,acceptFeature:()=>!1};const c={handleStep:()=>null,handleScenario:()=>null,handleBackground:()=>null,handleRule:()=>null,handleFeature:()=>null};t.default=class{constructor(e,t){this.filters=Object.assign(Object.assign({},a),e),this.handlers=Object.assign(Object.assign({},c),t)}walkGherkinDocument(e){if(!e.feature)return null;const t=this.walkFeature(e.feature);return t?n.messages.GherkinDocument.create({feature:t,comments:e.comments,uri:e.uri}):null}walkFeature(e){const t=this.walkFeatureChildren(e.children);this.handlers.handleFeature(e);const r=t.find((e=>e.background));return this.filters.acceptFeature(e)||r?this.copyFeature(e,e.children.map((e=>e.background?n.messages.GherkinDocument.Feature.FeatureChild.create({background:this.copyBackground(e.background)}):e.scenario?n.messages.GherkinDocument.Feature.FeatureChild.create({scenario:this.copyScenario(e.scenario)}):e.rule?n.messages.GherkinDocument.Feature.FeatureChild.create({rule:this.copyRule(e.rule,e.rule.children)}):void 0))):t.find((e=>null!==e))?this.copyFeature(e,t):void 0}copyFeature(e,t){return n.messages.GherkinDocument.Feature.create({children:this.filterFeatureChildren(e,t),location:e.location,language:e.language,keyword:e.keyword,name:e.name,description:e.description?e.description:void 0,tags:this.copyTags(e.tags)})}copyTags(e){return e.map((e=>n.messages.GherkinDocument.Feature.Tag.create({name:e.name,id:e.id,location:e.location})))}filterFeatureChildren(e,t){const r=[],a=new Map(t.filter((e=>e.scenario)).map((e=>[e.scenario.id,e]))),c=new Map(t.filter((e=>e.rule)).map((e=>[e.rule.id,e])));for(const t of e.children){if(t.background&&r.push(n.messages.GherkinDocument.Feature.FeatureChild.create({background:this.copyBackground(t.background)})),t.scenario){const e=a.get(t.scenario.id);e&&r.push(e)}if(t.rule){const e=c.get(t.rule.id);e&&r.push(e)}}return r}walkFeatureChildren(e){const t=[];for(const r of e){let e=null,a=null,c=null;r.background&&(e=this.walkBackground(r.background)),r.scenario&&(a=this.walkScenario(r.scenario)),r.rule&&(c=this.walkRule(r.rule)),(e||a||c)&&t.push(n.messages.GherkinDocument.Feature.FeatureChild.create({background:e,scenario:a,rule:c}))}return t}walkRule(e){const t=this.walkRuleChildren(e.children);this.handlers.handleRule(e);const r=t.find((e=>null!==e&&null!==e.background)),n=t.filter((e=>null!==e&&null!==e.scenario));return this.filters.acceptRule(e)||r?this.copyRule(e,e.children):n.length>0?this.copyRule(e,n):void 0}copyRule(e,t){return n.messages.GherkinDocument.Feature.FeatureChild.Rule.create({id:e.id,name:e.name,description:e.description?e.description:void 0,location:e.location,keyword:e.keyword,children:this.filterRuleChildren(e.children,t)})}filterRuleChildren(e,t){const r=[],a=t.filter((e=>e.scenario)).map((e=>e.scenario.id));for(const t of e)t.background&&r.push(n.messages.GherkinDocument.Feature.FeatureChild.RuleChild.create({background:this.copyBackground(t.background)})),t.scenario&&a.includes(t.scenario.id)&&r.push(n.messages.GherkinDocument.Feature.FeatureChild.RuleChild.create({scenario:this.copyScenario(t.scenario)}));return r}walkRuleChildren(e){const t=[];for(const r of e)r.background&&t.push(n.messages.GherkinDocument.Feature.FeatureChild.RuleChild.create({background:this.walkBackground(r.background)})),r.scenario&&t.push(n.messages.GherkinDocument.Feature.FeatureChild.RuleChild.create({scenario:this.walkScenario(r.scenario)}));return t}walkBackground(e){const t=this.walkAllSteps(e.steps);if(this.handlers.handleBackground(e),this.filters.acceptBackground(e)||t.find((e=>null!==e)))return this.copyBackground(e)}copyBackground(e){return n.messages.GherkinDocument.Feature.Background.create({id:e.id,name:e.name,location:e.location,keyword:e.keyword,steps:e.steps.map((e=>this.copyStep(e))),description:e.description?e.description:void 0})}walkScenario(e){const t=this.walkAllSteps(e.steps);if(this.handlers.handleScenario(e),this.filters.acceptScenario(e)||t.find((e=>null!==e)))return this.copyScenario(e)}copyScenario(e){return n.messages.GherkinDocument.Feature.Scenario.create({id:e.id,name:e.name,description:e.description?e.description:void 0,location:e.location,keyword:e.keyword,examples:e.examples,steps:e.steps.map((e=>this.copyStep(e))),tags:this.copyTags(e.tags)})}walkAllSteps(e){return e.map((e=>this.walkStep(e)))}walkStep(e){return this.handlers.handleStep(e),this.filters.acceptStep(e)?this.copyStep(e):null}copyStep(e){return n.messages.GherkinDocument.Feature.Step.create({id:e.id,keyword:e.keyword,location:e.location,text:e.text,dataTable:e.dataTable,docString:e.docString})}}},410:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(4575);t.default=class{constructor(){this.gherkinDocuments=[],this.pickles=[],this.locationByAstNodeId=new Map,this.gherkinStepById=new Map,this.pickleIdsMapByUri=new Map,this.pickleIdsByAstNodeId=new Map,this.pickleStepIdsByAstNodeId=new Map}getLocation(e){return this.locationByAstNodeId.get(e)}getGherkinDocuments(){return this.gherkinDocuments}getPickles(){return this.pickles}getPickleIds(e,t){const r=this.pickleIdsMapByUri.get(e);return void 0===t?Array.from(new Set(r.values())):r.get(t)}getPickleStepIds(e){return this.pickleStepIdsByAstNodeId.get(e)||[]}update(e){if(e.gherkinDocument&&(this.gherkinDocuments.push(e.gherkinDocument),e.gherkinDocument.feature)){this.pickleIdsMapByUri.set(e.gherkinDocument.uri,new n.ArrayMultimap);for(const t of e.gherkinDocument.feature.children)if(t.background&&this.updateGherkinBackground(t.background),t.scenario&&this.updateGherkinScenario(t.scenario),t.rule){const e=t.rule.children;for(const t of e)t.background&&this.updateGherkinBackground(t.background),t.scenario&&this.updateGherkinScenario(t.scenario)}}if(e.pickle){const t=e.pickle;this.updatePickle(t)}return this}updateGherkinBackground(e){for(const t of e.steps)this.updateGherkinStep(t)}updateGherkinScenario(e){this.locationByAstNodeId.set(e.id,e.location);for(const t of e.steps)this.updateGherkinStep(t);for(const t of e.examples)for(const e of t.tableBody)this.locationByAstNodeId.set(e.id,e.location)}updateGherkinStep(e){this.locationByAstNodeId.set(e.id,e.location),this.gherkinStepById.set(e.id,e)}updatePickle(e){const t=this.pickleIdsMapByUri.get(e.uri);for(const r of e.astNodeIds)t.put(r,e.id);this.updatePickleSteps(e),this.pickles.push(e);for(const t of e.astNodeIds)this.pickleIdsByAstNodeId.has(t)||this.pickleIdsByAstNodeId.set(t,[]),this.pickleIdsByAstNodeId.get(t).push(e.id)}updatePickleSteps(e){const t=e.steps;for(const e of t)for(const t of e.astNodeIds)this.pickleStepIdsByAstNodeId.has(t)||this.pickleStepIdsByAstNodeId.set(t,[]),this.pickleStepIdsByAstNodeId.get(t).push(e.id)}}},5048:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return a(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.rejectAllFilters=t.GherkinDocumentWalker=t.Query=t.pretty=void 0;const o=i(r(2261));t.pretty=o.default;const s=i(r(410));t.Query=s.default;const l=c(r(5042));t.GherkinDocumentWalker=l.default,Object.defineProperty(t,"rejectAllFilters",{enumerable:!0,get:function(){return l.rejectAllFilters}})},2261:(e,t)=>{"use strict";function r(e,t){let r=`\n${c(e.tags,t)}${t}${e.keyword}: ${e.name}\n`;e.description&&(r+=e.description+"\n\n");for(const n of e.steps)r+=`${t} ${n.keyword}${n.text}\n`;if(e.examples)for(const a of e.examples)r+=n(a,`${t} `);return r}function n(e,t){let r=`\n${t}Examples: ${e.name}\n`;r+=a(e.tableHeader,`${t} `);for(const n of e.tableBody)r+=a(n,`${t} `);return r}function a(e,t){return`${t}| ${e.cells.map((e=>e.value)).join(" | ")} |\n`}function c(e,t=""){return void 0===e||0==e.length?"":t+e.map((e=>e.name)).join(" ")+"\n"}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=e.feature;let n=c(t.tags);n+=t.keyword+": "+t.name+"\n",t.description&&(n+=t.description+"\n");for(const e of t.children)if(e.background)n+=r(e.background," ");else if(e.scenario)n+=r(e.scenario," ");else if(e.rule){n+=`\n ${e.rule.keyword}: ${e.rule.name}\n`,e.rule.description&&(n+=e.rule.description+"\n");for(const t of e.rule.children)t.background&&(n+=r(t.background," ")),t.scenario&&(n+=r(t.scenario," "))}return n}},9963:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(1717),c=r(2875),i=r(5048),o=r(8195),s=n(r(2784)),l=n(r(8316)),u=new i.Query,f=new o.Query,p=new c.EnvelopesQuery;for(const e of window.CUCUMBER_MESSAGES){const t=a.messages.Envelope.fromObject(e);u.update(t),f.update(t),p.update(t)}const d=s.default.createElement(c.QueriesWrapper,{gherkinQuery:u,cucumberQuery:f,envelopesQuery:p},s.default.createElement(c.FilteredResults,null));l.default.render(d,document.getElementById("content"))},2420:e=>{"use strict";e.exports=JSON.parse('{"name":"@cucumber/messages","version":"15.0.0","description":"Protocol Buffer messages for Cucumber\'s inter-process communication","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git://github.com/cucumber/messages-javascript.git"},"author":"Cucumber Limited ","license":"MIT","scripts":{"prepare":"npm run pbjs && npm run pbts && copyfiles src/messages.js src/messages.d.ts dist","test":"mocha","pbjs":"pbjs --force-number --target static-module --wrap commonjs messages.proto --out src/messages.js","pbts":"pbts src/messages.js > src/messages.d.ts","prepublishOnly":"tsc --build tsconfig.build.json && copyfiles src/messages.js src/messages.d.ts dist"},"dependencies":{"@types/uuid":"^8.3.0","protobufjs":"^6.10.2","uuid":"^8.3.2"},"devDependencies":{"@types/mocha":"^8.2.2","@types/node":"^14.14.37","copyfiles":"^2.4.1","mocha":"^8.3.2","ts-node":"^9.1.1","typescript":"^4.2.3"},"bugs":{"url":"https://github.com/cucumber/messages-javascript/issues"},"homepage":"https://github.com/cucumber/messages-javascript#readme","directories":{"test":"test"},"keywords":[]}')},2252:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.incrementing=t.uuid=void 0;const n=r(6622);t.uuid=function(){return()=>n.v4()},t.incrementing=function(){let e=0;return()=>(e++).toString()}},6408:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addDurations=t.durationToMilliseconds=t.timestampToMillisecondsSinceEpoch=t.millisecondsToDuration=t.millisecondsSinceEpochToTimestamp=void 0;var n=r(7495).io.cucumber.messages;const a=1e3,c=1e6,i=1e9;function o(e){return{seconds:Math.floor(e/a),nanos:Math.floor(e%a*c)}}function s(e,t){return e*a+t/c}t.millisecondsSinceEpochToTimestamp=function(e){return new n.Timestamp(o(e))},t.millisecondsToDuration=function(e){return new n.Duration(o(e))},t.timestampToMillisecondsSinceEpoch=function(e){const{seconds:t,nanos:r}=e;return s(t,r)},t.durationToMilliseconds=function(e){const{seconds:t,nanos:r}=e;return s(t,r)},t.addDurations=function(e,t){let r=e.seconds+t.seconds,a=e.nanos+t.nanos;return a>=i&&(r+=1,a-=i),new n.Duration({seconds:r,nanos:a})}},1717:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.IdGenerator=t.TimeConversion=t.messages=void 0;const i=c(r(1168)),o=c(r(6408));t.TimeConversion=o;const s=c(r(2252));t.IdGenerator=s;var l=r(7495).io.cucumber.messages;t.messages=l;const u=r(2420);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return u.version}}),i.util.Long=void 0,i.configure()},7495:(e,t,r)=>{"use strict";var n,a,c,i=r(3737),o=i.Reader,s=i.Writer,l=i.util,u=i.roots.default||(i.roots.default={});u.io=((c={}).cucumber=((a={}).messages=((n={}).Envelope=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.source=u.io.cucumber.messages.Source.decode(e,e.uint32());break;case 2:n.gherkinDocument=u.io.cucumber.messages.GherkinDocument.decode(e,e.uint32());break;case 3:n.pickle=u.io.cucumber.messages.Pickle.decode(e,e.uint32());break;case 4:n.stepDefinition=u.io.cucumber.messages.StepDefinition.decode(e,e.uint32());break;case 5:n.hook=u.io.cucumber.messages.Hook.decode(e,e.uint32());break;case 6:n.parameterType=u.io.cucumber.messages.ParameterType.decode(e,e.uint32());break;case 7:n.testCase=u.io.cucumber.messages.TestCase.decode(e,e.uint32());break;case 8:n.undefinedParameterType=u.io.cucumber.messages.UndefinedParameterType.decode(e,e.uint32());break;case 9:n.testRunStarted=u.io.cucumber.messages.TestRunStarted.decode(e,e.uint32());break;case 10:n.testCaseStarted=u.io.cucumber.messages.TestCaseStarted.decode(e,e.uint32());break;case 11:n.testStepStarted=u.io.cucumber.messages.TestStepStarted.decode(e,e.uint32());break;case 12:n.attachment=u.io.cucumber.messages.Attachment.decode(e,e.uint32());break;case 13:n.testStepFinished=u.io.cucumber.messages.TestStepFinished.decode(e,e.uint32());break;case 14:n.testCaseFinished=u.io.cucumber.messages.TestCaseFinished.decode(e,e.uint32());break;case 15:n.testRunFinished=u.io.cucumber.messages.TestRunFinished.decode(e,e.uint32());break;case 16:n.parseError=u.io.cucumber.messages.ParseError.decode(e,e.uint32());break;case 17:n.meta=u.io.cucumber.messages.Meta.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.source&&e.hasOwnProperty("source")&&(t.message=1,r=u.io.cucumber.messages.Source.verify(e.source)))return"source."+r;if(null!=e.gherkinDocument&&e.hasOwnProperty("gherkinDocument")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.GherkinDocument.verify(e.gherkinDocument))return"gherkinDocument."+r}if(null!=e.pickle&&e.hasOwnProperty("pickle")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.Pickle.verify(e.pickle))return"pickle."+r}if(null!=e.stepDefinition&&e.hasOwnProperty("stepDefinition")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.StepDefinition.verify(e.stepDefinition))return"stepDefinition."+r}if(null!=e.hook&&e.hasOwnProperty("hook")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.Hook.verify(e.hook))return"hook."+r}if(null!=e.parameterType&&e.hasOwnProperty("parameterType")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.ParameterType.verify(e.parameterType))return"parameterType."+r}if(null!=e.testCase&&e.hasOwnProperty("testCase")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.TestCase.verify(e.testCase))return"testCase."+r}if(null!=e.undefinedParameterType&&e.hasOwnProperty("undefinedParameterType")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.UndefinedParameterType.verify(e.undefinedParameterType))return"undefinedParameterType."+r}if(null!=e.testRunStarted&&e.hasOwnProperty("testRunStarted")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.TestRunStarted.verify(e.testRunStarted))return"testRunStarted."+r}if(null!=e.testCaseStarted&&e.hasOwnProperty("testCaseStarted")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.TestCaseStarted.verify(e.testCaseStarted))return"testCaseStarted."+r}if(null!=e.testStepStarted&&e.hasOwnProperty("testStepStarted")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.TestStepStarted.verify(e.testStepStarted))return"testStepStarted."+r}if(null!=e.attachment&&e.hasOwnProperty("attachment")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.Attachment.verify(e.attachment))return"attachment."+r}if(null!=e.testStepFinished&&e.hasOwnProperty("testStepFinished")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.TestStepFinished.verify(e.testStepFinished))return"testStepFinished."+r}if(null!=e.testCaseFinished&&e.hasOwnProperty("testCaseFinished")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.TestCaseFinished.verify(e.testCaseFinished))return"testCaseFinished."+r}if(null!=e.testRunFinished&&e.hasOwnProperty("testRunFinished")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.TestRunFinished.verify(e.testRunFinished))return"testRunFinished."+r}if(null!=e.parseError&&e.hasOwnProperty("parseError")){if(1===t.message)return"message: multiple values";if(t.message=1,r=u.io.cucumber.messages.ParseError.verify(e.parseError))return"parseError."+r}if(null!=e.meta&&e.hasOwnProperty("meta")){if(1===t.message)return"message: multiple values";var r;if(t.message=1,r=u.io.cucumber.messages.Meta.verify(e.meta))return"meta."+r}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Envelope)return e;var t=new u.io.cucumber.messages.Envelope;if(null!=e.source){if("object"!=typeof e.source)throw TypeError(".io.cucumber.messages.Envelope.source: object expected");t.source=u.io.cucumber.messages.Source.fromObject(e.source)}if(null!=e.gherkinDocument){if("object"!=typeof e.gherkinDocument)throw TypeError(".io.cucumber.messages.Envelope.gherkinDocument: object expected");t.gherkinDocument=u.io.cucumber.messages.GherkinDocument.fromObject(e.gherkinDocument)}if(null!=e.pickle){if("object"!=typeof e.pickle)throw TypeError(".io.cucumber.messages.Envelope.pickle: object expected");t.pickle=u.io.cucumber.messages.Pickle.fromObject(e.pickle)}if(null!=e.stepDefinition){if("object"!=typeof e.stepDefinition)throw TypeError(".io.cucumber.messages.Envelope.stepDefinition: object expected");t.stepDefinition=u.io.cucumber.messages.StepDefinition.fromObject(e.stepDefinition)}if(null!=e.hook){if("object"!=typeof e.hook)throw TypeError(".io.cucumber.messages.Envelope.hook: object expected");t.hook=u.io.cucumber.messages.Hook.fromObject(e.hook)}if(null!=e.parameterType){if("object"!=typeof e.parameterType)throw TypeError(".io.cucumber.messages.Envelope.parameterType: object expected");t.parameterType=u.io.cucumber.messages.ParameterType.fromObject(e.parameterType)}if(null!=e.testCase){if("object"!=typeof e.testCase)throw TypeError(".io.cucumber.messages.Envelope.testCase: object expected");t.testCase=u.io.cucumber.messages.TestCase.fromObject(e.testCase)}if(null!=e.undefinedParameterType){if("object"!=typeof e.undefinedParameterType)throw TypeError(".io.cucumber.messages.Envelope.undefinedParameterType: object expected");t.undefinedParameterType=u.io.cucumber.messages.UndefinedParameterType.fromObject(e.undefinedParameterType)}if(null!=e.testRunStarted){if("object"!=typeof e.testRunStarted)throw TypeError(".io.cucumber.messages.Envelope.testRunStarted: object expected");t.testRunStarted=u.io.cucumber.messages.TestRunStarted.fromObject(e.testRunStarted)}if(null!=e.testCaseStarted){if("object"!=typeof e.testCaseStarted)throw TypeError(".io.cucumber.messages.Envelope.testCaseStarted: object expected");t.testCaseStarted=u.io.cucumber.messages.TestCaseStarted.fromObject(e.testCaseStarted)}if(null!=e.testStepStarted){if("object"!=typeof e.testStepStarted)throw TypeError(".io.cucumber.messages.Envelope.testStepStarted: object expected");t.testStepStarted=u.io.cucumber.messages.TestStepStarted.fromObject(e.testStepStarted)}if(null!=e.attachment){if("object"!=typeof e.attachment)throw TypeError(".io.cucumber.messages.Envelope.attachment: object expected");t.attachment=u.io.cucumber.messages.Attachment.fromObject(e.attachment)}if(null!=e.testStepFinished){if("object"!=typeof e.testStepFinished)throw TypeError(".io.cucumber.messages.Envelope.testStepFinished: object expected");t.testStepFinished=u.io.cucumber.messages.TestStepFinished.fromObject(e.testStepFinished)}if(null!=e.testCaseFinished){if("object"!=typeof e.testCaseFinished)throw TypeError(".io.cucumber.messages.Envelope.testCaseFinished: object expected");t.testCaseFinished=u.io.cucumber.messages.TestCaseFinished.fromObject(e.testCaseFinished)}if(null!=e.testRunFinished){if("object"!=typeof e.testRunFinished)throw TypeError(".io.cucumber.messages.Envelope.testRunFinished: object expected");t.testRunFinished=u.io.cucumber.messages.TestRunFinished.fromObject(e.testRunFinished)}if(null!=e.parseError){if("object"!=typeof e.parseError)throw TypeError(".io.cucumber.messages.Envelope.parseError: object expected");t.parseError=u.io.cucumber.messages.ParseError.fromObject(e.parseError)}if(null!=e.meta){if("object"!=typeof e.meta)throw TypeError(".io.cucumber.messages.Envelope.meta: object expected");t.meta=u.io.cucumber.messages.Meta.fromObject(e.meta)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.source&&e.hasOwnProperty("source")&&(r.source=u.io.cucumber.messages.Source.toObject(e.source,t),t.oneofs&&(r.message="source")),null!=e.gherkinDocument&&e.hasOwnProperty("gherkinDocument")&&(r.gherkinDocument=u.io.cucumber.messages.GherkinDocument.toObject(e.gherkinDocument,t),t.oneofs&&(r.message="gherkinDocument")),null!=e.pickle&&e.hasOwnProperty("pickle")&&(r.pickle=u.io.cucumber.messages.Pickle.toObject(e.pickle,t),t.oneofs&&(r.message="pickle")),null!=e.stepDefinition&&e.hasOwnProperty("stepDefinition")&&(r.stepDefinition=u.io.cucumber.messages.StepDefinition.toObject(e.stepDefinition,t),t.oneofs&&(r.message="stepDefinition")),null!=e.hook&&e.hasOwnProperty("hook")&&(r.hook=u.io.cucumber.messages.Hook.toObject(e.hook,t),t.oneofs&&(r.message="hook")),null!=e.parameterType&&e.hasOwnProperty("parameterType")&&(r.parameterType=u.io.cucumber.messages.ParameterType.toObject(e.parameterType,t),t.oneofs&&(r.message="parameterType")),null!=e.testCase&&e.hasOwnProperty("testCase")&&(r.testCase=u.io.cucumber.messages.TestCase.toObject(e.testCase,t),t.oneofs&&(r.message="testCase")),null!=e.undefinedParameterType&&e.hasOwnProperty("undefinedParameterType")&&(r.undefinedParameterType=u.io.cucumber.messages.UndefinedParameterType.toObject(e.undefinedParameterType,t),t.oneofs&&(r.message="undefinedParameterType")),null!=e.testRunStarted&&e.hasOwnProperty("testRunStarted")&&(r.testRunStarted=u.io.cucumber.messages.TestRunStarted.toObject(e.testRunStarted,t),t.oneofs&&(r.message="testRunStarted")),null!=e.testCaseStarted&&e.hasOwnProperty("testCaseStarted")&&(r.testCaseStarted=u.io.cucumber.messages.TestCaseStarted.toObject(e.testCaseStarted,t),t.oneofs&&(r.message="testCaseStarted")),null!=e.testStepStarted&&e.hasOwnProperty("testStepStarted")&&(r.testStepStarted=u.io.cucumber.messages.TestStepStarted.toObject(e.testStepStarted,t),t.oneofs&&(r.message="testStepStarted")),null!=e.attachment&&e.hasOwnProperty("attachment")&&(r.attachment=u.io.cucumber.messages.Attachment.toObject(e.attachment,t),t.oneofs&&(r.message="attachment")),null!=e.testStepFinished&&e.hasOwnProperty("testStepFinished")&&(r.testStepFinished=u.io.cucumber.messages.TestStepFinished.toObject(e.testStepFinished,t),t.oneofs&&(r.message="testStepFinished")),null!=e.testCaseFinished&&e.hasOwnProperty("testCaseFinished")&&(r.testCaseFinished=u.io.cucumber.messages.TestCaseFinished.toObject(e.testCaseFinished,t),t.oneofs&&(r.message="testCaseFinished")),null!=e.testRunFinished&&e.hasOwnProperty("testRunFinished")&&(r.testRunFinished=u.io.cucumber.messages.TestRunFinished.toObject(e.testRunFinished,t),t.oneofs&&(r.message="testRunFinished")),null!=e.parseError&&e.hasOwnProperty("parseError")&&(r.parseError=u.io.cucumber.messages.ParseError.toObject(e.parseError,t),t.oneofs&&(r.message="parseError")),null!=e.meta&&e.hasOwnProperty("meta")&&(r.meta=u.io.cucumber.messages.Meta.toObject(e.meta,t),t.oneofs&&(r.message="meta")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.Meta=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.protocolVersion=e.string();break;case 2:n.implementation=u.io.cucumber.messages.Meta.Product.decode(e,e.uint32());break;case 3:n.runtime=u.io.cucumber.messages.Meta.Product.decode(e,e.uint32());break;case 4:n.os=u.io.cucumber.messages.Meta.Product.decode(e,e.uint32());break;case 5:n.cpu=u.io.cucumber.messages.Meta.Product.decode(e,e.uint32());break;case 6:n.ci=u.io.cucumber.messages.Meta.CI.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.protocolVersion&&e.hasOwnProperty("protocolVersion")&&!l.isString(e.protocolVersion)?"protocolVersion: string expected":null!=e.implementation&&e.hasOwnProperty("implementation")&&(t=u.io.cucumber.messages.Meta.Product.verify(e.implementation))?"implementation."+t:null!=e.runtime&&e.hasOwnProperty("runtime")&&(t=u.io.cucumber.messages.Meta.Product.verify(e.runtime))?"runtime."+t:null!=e.os&&e.hasOwnProperty("os")&&(t=u.io.cucumber.messages.Meta.Product.verify(e.os))?"os."+t:null!=e.cpu&&e.hasOwnProperty("cpu")&&(t=u.io.cucumber.messages.Meta.Product.verify(e.cpu))?"cpu."+t:null!=e.ci&&e.hasOwnProperty("ci")&&(t=u.io.cucumber.messages.Meta.CI.verify(e.ci))?"ci."+t:null;var t},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Meta)return e;var t=new u.io.cucumber.messages.Meta;if(null!=e.protocolVersion&&(t.protocolVersion=String(e.protocolVersion)),null!=e.implementation){if("object"!=typeof e.implementation)throw TypeError(".io.cucumber.messages.Meta.implementation: object expected");t.implementation=u.io.cucumber.messages.Meta.Product.fromObject(e.implementation)}if(null!=e.runtime){if("object"!=typeof e.runtime)throw TypeError(".io.cucumber.messages.Meta.runtime: object expected");t.runtime=u.io.cucumber.messages.Meta.Product.fromObject(e.runtime)}if(null!=e.os){if("object"!=typeof e.os)throw TypeError(".io.cucumber.messages.Meta.os: object expected");t.os=u.io.cucumber.messages.Meta.Product.fromObject(e.os)}if(null!=e.cpu){if("object"!=typeof e.cpu)throw TypeError(".io.cucumber.messages.Meta.cpu: object expected");t.cpu=u.io.cucumber.messages.Meta.Product.fromObject(e.cpu)}if(null!=e.ci){if("object"!=typeof e.ci)throw TypeError(".io.cucumber.messages.Meta.ci: object expected");t.ci=u.io.cucumber.messages.Meta.CI.fromObject(e.ci)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.protocolVersion="",r.implementation=null,r.runtime=null,r.os=null,r.cpu=null,r.ci=null),null!=e.protocolVersion&&e.hasOwnProperty("protocolVersion")&&(r.protocolVersion=e.protocolVersion),null!=e.implementation&&e.hasOwnProperty("implementation")&&(r.implementation=u.io.cucumber.messages.Meta.Product.toObject(e.implementation,t)),null!=e.runtime&&e.hasOwnProperty("runtime")&&(r.runtime=u.io.cucumber.messages.Meta.Product.toObject(e.runtime,t)),null!=e.os&&e.hasOwnProperty("os")&&(r.os=u.io.cucumber.messages.Meta.Product.toObject(e.os,t)),null!=e.cpu&&e.hasOwnProperty("cpu")&&(r.cpu=u.io.cucumber.messages.Meta.Product.toObject(e.cpu,t)),null!=e.ci&&e.hasOwnProperty("ci")&&(r.ci=u.io.cucumber.messages.Meta.CI.toObject(e.ci,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.Product=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.name=e.string();break;case 2:n.version=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":null!=e.version&&e.hasOwnProperty("version")&&!l.isString(e.version)?"version: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Meta.Product)return e;var t=new u.io.cucumber.messages.Meta.Product;return null!=e.name&&(t.name=String(e.name)),null!=e.version&&(t.version=String(e.version)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.name="",r.version=""),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),null!=e.version&&e.hasOwnProperty("version")&&(r.version=e.version),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.CI=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.name=e.string();break;case 2:n.url=e.string();break;case 3:n.git=u.io.cucumber.messages.Meta.CI.Git.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name))return"name: string expected";if(null!=e.url&&e.hasOwnProperty("url")&&!l.isString(e.url))return"url: string expected";if(null!=e.git&&e.hasOwnProperty("git")){var t=u.io.cucumber.messages.Meta.CI.Git.verify(e.git);if(t)return"git."+t}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Meta.CI)return e;var t=new u.io.cucumber.messages.Meta.CI;if(null!=e.name&&(t.name=String(e.name)),null!=e.url&&(t.url=String(e.url)),null!=e.git){if("object"!=typeof e.git)throw TypeError(".io.cucumber.messages.Meta.CI.git: object expected");t.git=u.io.cucumber.messages.Meta.CI.Git.fromObject(e.git)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.name="",r.url="",r.git=null),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),null!=e.url&&e.hasOwnProperty("url")&&(r.url=e.url),null!=e.git&&e.hasOwnProperty("git")&&(r.git=u.io.cucumber.messages.Meta.CI.Git.toObject(e.git,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.Git=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.remote=e.string();break;case 2:n.revision=e.string();break;case 3:n.branch=e.string();break;case 4:n.tag=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.remote&&e.hasOwnProperty("remote")&&!l.isString(e.remote)?"remote: string expected":null!=e.revision&&e.hasOwnProperty("revision")&&!l.isString(e.revision)?"revision: string expected":null!=e.branch&&e.hasOwnProperty("branch")&&!l.isString(e.branch)?"branch: string expected":null!=e.tag&&e.hasOwnProperty("tag")&&!l.isString(e.tag)?"tag: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Meta.CI.Git)return e;var t=new u.io.cucumber.messages.Meta.CI.Git;return null!=e.remote&&(t.remote=String(e.remote)),null!=e.revision&&(t.revision=String(e.revision)),null!=e.branch&&(t.branch=String(e.branch)),null!=e.tag&&(t.tag=String(e.tag)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.remote="",r.revision="",r.branch="",r.tag=""),null!=e.remote&&e.hasOwnProperty("remote")&&(r.remote=e.remote),null!=e.revision&&e.hasOwnProperty("revision")&&(r.revision=e.revision),null!=e.branch&&e.hasOwnProperty("branch")&&(r.branch=e.branch),null!=e.tag&&e.hasOwnProperty("tag")&&(r.tag=e.tag),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e}(),n.Timestamp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.seconds=e.int64();break;case 2:n.nanos=e.int32();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.seconds&&e.hasOwnProperty("seconds")&&!(l.isInteger(e.seconds)||e.seconds&&l.isInteger(e.seconds.low)&&l.isInteger(e.seconds.high))?"seconds: integer|Long expected":null!=e.nanos&&e.hasOwnProperty("nanos")&&!l.isInteger(e.nanos)?"nanos: integer expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Timestamp)return e;var t=new u.io.cucumber.messages.Timestamp;return null!=e.seconds&&(l.Long?(t.seconds=l.Long.fromValue(e.seconds)).unsigned=!1:"string"==typeof e.seconds?t.seconds=parseInt(e.seconds,10):"number"==typeof e.seconds?t.seconds=e.seconds:"object"==typeof e.seconds&&(t.seconds=new l.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber())),null!=e.nanos&&(t.nanos=0|e.nanos),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(l.Long){var n=new l.Long(0,0,!1);r.seconds=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.seconds=t.longs===String?"0":0;r.nanos=0}return null!=e.seconds&&e.hasOwnProperty("seconds")&&("number"==typeof e.seconds?r.seconds=t.longs===String?String(e.seconds):e.seconds:r.seconds=t.longs===String?l.Long.prototype.toString.call(e.seconds):t.longs===Number?new l.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber():e.seconds),null!=e.nanos&&e.hasOwnProperty("nanos")&&(r.nanos=e.nanos),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.Duration=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.seconds=e.int64();break;case 2:n.nanos=e.int32();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.seconds&&e.hasOwnProperty("seconds")&&!(l.isInteger(e.seconds)||e.seconds&&l.isInteger(e.seconds.low)&&l.isInteger(e.seconds.high))?"seconds: integer|Long expected":null!=e.nanos&&e.hasOwnProperty("nanos")&&!l.isInteger(e.nanos)?"nanos: integer expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Duration)return e;var t=new u.io.cucumber.messages.Duration;return null!=e.seconds&&(l.Long?(t.seconds=l.Long.fromValue(e.seconds)).unsigned=!1:"string"==typeof e.seconds?t.seconds=parseInt(e.seconds,10):"number"==typeof e.seconds?t.seconds=e.seconds:"object"==typeof e.seconds&&(t.seconds=new l.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber())),null!=e.nanos&&(t.nanos=0|e.nanos),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(l.Long){var n=new l.Long(0,0,!1);r.seconds=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.seconds=t.longs===String?"0":0;r.nanos=0}return null!=e.seconds&&e.hasOwnProperty("seconds")&&("number"==typeof e.seconds?r.seconds=t.longs===String?String(e.seconds):e.seconds:r.seconds=t.longs===String?l.Long.prototype.toString.call(e.seconds):t.longs===Number?new l.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber():e.seconds),null!=e.nanos&&e.hasOwnProperty("nanos")&&(r.nanos=e.nanos),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.Location=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.line=e.uint32();break;case 2:n.column=e.uint32();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.line&&e.hasOwnProperty("line")&&!l.isInteger(e.line)?"line: integer expected":null!=e.column&&e.hasOwnProperty("column")&&!l.isInteger(e.column)?"column: integer expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Location)return e;var t=new u.io.cucumber.messages.Location;return null!=e.line&&(t.line=e.line>>>0),null!=e.column&&(t.column=e.column>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.line=0,r.column=0),null!=e.line&&e.hasOwnProperty("line")&&(r.line=e.line),null!=e.column&&e.hasOwnProperty("column")&&(r.column=e.column),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.SourceReference=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.uri=e.string();break;case 3:n.javaMethod=u.io.cucumber.messages.SourceReference.JavaMethod.decode(e,e.uint32());break;case 4:n.javaStackTraceElement=u.io.cucumber.messages.SourceReference.JavaStackTraceElement.decode(e,e.uint32());break;case 2:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.uri&&e.hasOwnProperty("uri")&&(t.reference=1,!l.isString(e.uri)))return"uri: string expected";if(null!=e.javaMethod&&e.hasOwnProperty("javaMethod")){if(1===t.reference)return"reference: multiple values";if(t.reference=1,r=u.io.cucumber.messages.SourceReference.JavaMethod.verify(e.javaMethod))return"javaMethod."+r}if(null!=e.javaStackTraceElement&&e.hasOwnProperty("javaStackTraceElement")){if(1===t.reference)return"reference: multiple values";var r;if(t.reference=1,r=u.io.cucumber.messages.SourceReference.JavaStackTraceElement.verify(e.javaStackTraceElement))return"javaStackTraceElement."+r}return null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location))?"location."+r:null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.SourceReference)return e;var t=new u.io.cucumber.messages.SourceReference;if(null!=e.uri&&(t.uri=String(e.uri)),null!=e.javaMethod){if("object"!=typeof e.javaMethod)throw TypeError(".io.cucumber.messages.SourceReference.javaMethod: object expected");t.javaMethod=u.io.cucumber.messages.SourceReference.JavaMethod.fromObject(e.javaMethod)}if(null!=e.javaStackTraceElement){if("object"!=typeof e.javaStackTraceElement)throw TypeError(".io.cucumber.messages.SourceReference.javaStackTraceElement: object expected");t.javaStackTraceElement=u.io.cucumber.messages.SourceReference.JavaStackTraceElement.fromObject(e.javaStackTraceElement)}if(null!=e.location){if("object"!=typeof e.location)throw TypeError(".io.cucumber.messages.SourceReference.location: object expected");t.location=u.io.cucumber.messages.Location.fromObject(e.location)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.location=null),null!=e.uri&&e.hasOwnProperty("uri")&&(r.uri=e.uri,t.oneofs&&(r.reference="uri")),null!=e.location&&e.hasOwnProperty("location")&&(r.location=u.io.cucumber.messages.Location.toObject(e.location,t)),null!=e.javaMethod&&e.hasOwnProperty("javaMethod")&&(r.javaMethod=u.io.cucumber.messages.SourceReference.JavaMethod.toObject(e.javaMethod,t),t.oneofs&&(r.reference="javaMethod")),null!=e.javaStackTraceElement&&e.hasOwnProperty("javaStackTraceElement")&&(r.javaStackTraceElement=u.io.cucumber.messages.SourceReference.JavaStackTraceElement.toObject(e.javaStackTraceElement,t),t.oneofs&&(r.reference="javaStackTraceElement")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.JavaMethod=function(){function e(e){if(this.methodParameterTypes=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.className=e.string();break;case 2:n.methodName=e.string();break;case 3:n.methodParameterTypes&&n.methodParameterTypes.length||(n.methodParameterTypes=[]),n.methodParameterTypes.push(e.string());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.className&&e.hasOwnProperty("className")&&!l.isString(e.className))return"className: string expected";if(null!=e.methodName&&e.hasOwnProperty("methodName")&&!l.isString(e.methodName))return"methodName: string expected";if(null!=e.methodParameterTypes&&e.hasOwnProperty("methodParameterTypes")){if(!Array.isArray(e.methodParameterTypes))return"methodParameterTypes: array expected";for(var t=0;t>>3){case 1:n.className=e.string();break;case 2:n.methodName=e.string();break;case 3:n.fileName=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.className&&e.hasOwnProperty("className")&&!l.isString(e.className)?"className: string expected":null!=e.methodName&&e.hasOwnProperty("methodName")&&!l.isString(e.methodName)?"methodName: string expected":null!=e.fileName&&e.hasOwnProperty("fileName")&&!l.isString(e.fileName)?"fileName: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.SourceReference.JavaStackTraceElement)return e;var t=new u.io.cucumber.messages.SourceReference.JavaStackTraceElement;return null!=e.className&&(t.className=String(e.className)),null!=e.methodName&&(t.methodName=String(e.methodName)),null!=e.fileName&&(t.fileName=String(e.fileName)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.className="",r.methodName="",r.fileName=""),null!=e.className&&e.hasOwnProperty("className")&&(r.className=e.className),null!=e.methodName&&e.hasOwnProperty("methodName")&&(r.methodName=e.methodName),null!=e.fileName&&e.hasOwnProperty("fileName")&&(r.fileName=e.fileName),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),n.Source=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.uri=e.string();break;case 2:n.data=e.string();break;case 3:n.mediaType=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.uri&&e.hasOwnProperty("uri")&&!l.isString(e.uri)?"uri: string expected":null!=e.data&&e.hasOwnProperty("data")&&!l.isString(e.data)?"data: string expected":null!=e.mediaType&&e.hasOwnProperty("mediaType")&&!l.isString(e.mediaType)?"mediaType: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Source)return e;var t=new u.io.cucumber.messages.Source;return null!=e.uri&&(t.uri=String(e.uri)),null!=e.data&&(t.data=String(e.data)),null!=e.mediaType&&(t.mediaType=String(e.mediaType)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.uri="",r.data="",r.mediaType=""),null!=e.uri&&e.hasOwnProperty("uri")&&(r.uri=e.uri),null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(r.mediaType=e.mediaType),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.GherkinDocument=function(){function e(e){if(this.comments=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.uri=e.string();break;case 2:n.feature=u.io.cucumber.messages.GherkinDocument.Feature.decode(e,e.uint32());break;case 3:n.comments&&n.comments.length||(n.comments=[]),n.comments.push(u.io.cucumber.messages.GherkinDocument.Comment.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.uri&&e.hasOwnProperty("uri")&&!l.isString(e.uri))return"uri: string expected";if(null!=e.feature&&e.hasOwnProperty("feature")&&(r=u.io.cucumber.messages.GherkinDocument.Feature.verify(e.feature)))return"feature."+r;if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(var t=0;t>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.text=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")){var t=u.io.cucumber.messages.Location.verify(e.location);if(t)return"location."+t}return null!=e.text&&e.hasOwnProperty("text")&&!l.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.GherkinDocument.Comment)return e;var t=new u.io.cucumber.messages.GherkinDocument.Comment;if(null!=e.location){if("object"!=typeof e.location)throw TypeError(".io.cucumber.messages.GherkinDocument.Comment.location: object expected");t.location=u.io.cucumber.messages.Location.fromObject(e.location)}return null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.location=null,r.text=""),null!=e.location&&e.hasOwnProperty("location")&&(r.location=u.io.cucumber.messages.Location.toObject(e.location,t)),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.Feature=function(){function e(e){if(this.tags=[],this.children=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.tags&&n.tags.length||(n.tags=[]),n.tags.push(u.io.cucumber.messages.GherkinDocument.Feature.Tag.decode(e,e.uint32()));break;case 3:n.language=e.string();break;case 4:n.keyword=e.string();break;case 5:n.name=e.string();break;case 6:n.description=e.string();break;case 7:n.children&&n.children.length||(n.children=[]),n.children.push(u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.tags&&e.hasOwnProperty("tags")){if(!Array.isArray(e.tags))return"tags: array expected";for(var t=0;t>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.name=e.string();break;case 3:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")){var t=u.io.cucumber.messages.Location.verify(e.location);if(t)return"location."+t}return null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.GherkinDocument.Feature.Tag)return e;var t=new u.io.cucumber.messages.GherkinDocument.Feature.Tag;if(null!=e.location){if("object"!=typeof e.location)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.Tag.location: object expected");t.location=u.io.cucumber.messages.Location.fromObject(e.location)}return null!=e.name&&(t.name=String(e.name)),null!=e.id&&(t.id=String(e.id)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.location=null,r.name="",r.id=""),null!=e.location&&e.hasOwnProperty("location")&&(r.location=u.io.cucumber.messages.Location.toObject(e.location,t)),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.FeatureChild=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.rule=u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.Rule.decode(e,e.uint32());break;case 2:n.background=u.io.cucumber.messages.GherkinDocument.Feature.Background.decode(e,e.uint32());break;case 3:n.scenario=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.rule&&e.hasOwnProperty("rule")&&(t.value=1,r=u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.Rule.verify(e.rule)))return"rule."+r;if(null!=e.background&&e.hasOwnProperty("background")){if(1===t.value)return"value: multiple values";if(t.value=1,r=u.io.cucumber.messages.GherkinDocument.Feature.Background.verify(e.background))return"background."+r}if(null!=e.scenario&&e.hasOwnProperty("scenario")){if(1===t.value)return"value: multiple values";var r;if(t.value=1,r=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.verify(e.scenario))return"scenario."+r}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild)return e;var t=new u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild;if(null!=e.rule){if("object"!=typeof e.rule)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.FeatureChild.rule: object expected");t.rule=u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.Rule.fromObject(e.rule)}if(null!=e.background){if("object"!=typeof e.background)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.FeatureChild.background: object expected");t.background=u.io.cucumber.messages.GherkinDocument.Feature.Background.fromObject(e.background)}if(null!=e.scenario){if("object"!=typeof e.scenario)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.FeatureChild.scenario: object expected");t.scenario=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.fromObject(e.scenario)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.rule&&e.hasOwnProperty("rule")&&(r.rule=u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.Rule.toObject(e.rule,t),t.oneofs&&(r.value="rule")),null!=e.background&&e.hasOwnProperty("background")&&(r.background=u.io.cucumber.messages.GherkinDocument.Feature.Background.toObject(e.background,t),t.oneofs&&(r.value="background")),null!=e.scenario&&e.hasOwnProperty("scenario")&&(r.scenario=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.toObject(e.scenario,t),t.oneofs&&(r.value="scenario")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.Rule=function(){function e(e){if(this.children=[],this.tags=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.keyword=e.string();break;case 3:n.name=e.string();break;case 4:n.description=e.string();break;case 5:n.children&&n.children.length||(n.children=[]),n.children.push(u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.RuleChild.decode(e,e.uint32()));break;case 6:n.id=e.string();break;case 7:n.tags&&n.tags.length||(n.tags=[]),n.tags.push(u.io.cucumber.messages.GherkinDocument.Feature.Tag.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.keyword&&e.hasOwnProperty("keyword")&&!l.isString(e.keyword))return"keyword: string expected";if(null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name))return"name: string expected";if(null!=e.description&&e.hasOwnProperty("description")&&!l.isString(e.description))return"description: string expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(var t=0;t>>3){case 1:n.background=u.io.cucumber.messages.GherkinDocument.Feature.Background.decode(e,e.uint32());break;case 2:n.scenario=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.background&&e.hasOwnProperty("background")&&(t.value=1,r=u.io.cucumber.messages.GherkinDocument.Feature.Background.verify(e.background)))return"background."+r;if(null!=e.scenario&&e.hasOwnProperty("scenario")){if(1===t.value)return"value: multiple values";var r;if(t.value=1,r=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.verify(e.scenario))return"scenario."+r}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.RuleChild)return e;var t=new u.io.cucumber.messages.GherkinDocument.Feature.FeatureChild.RuleChild;if(null!=e.background){if("object"!=typeof e.background)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.FeatureChild.RuleChild.background: object expected");t.background=u.io.cucumber.messages.GherkinDocument.Feature.Background.fromObject(e.background)}if(null!=e.scenario){if("object"!=typeof e.scenario)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.FeatureChild.RuleChild.scenario: object expected");t.scenario=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.fromObject(e.scenario)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.background&&e.hasOwnProperty("background")&&(r.background=u.io.cucumber.messages.GherkinDocument.Feature.Background.toObject(e.background,t),t.oneofs&&(r.value="background")),null!=e.scenario&&e.hasOwnProperty("scenario")&&(r.scenario=u.io.cucumber.messages.GherkinDocument.Feature.Scenario.toObject(e.scenario,t),t.oneofs&&(r.value="scenario")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e.Background=function(){function e(e){if(this.steps=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.keyword=e.string();break;case 3:n.name=e.string();break;case 4:n.description=e.string();break;case 5:n.steps&&n.steps.length||(n.steps=[]),n.steps.push(u.io.cucumber.messages.GherkinDocument.Feature.Step.decode(e,e.uint32()));break;case 6:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.keyword&&e.hasOwnProperty("keyword")&&!l.isString(e.keyword))return"keyword: string expected";if(null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name))return"name: string expected";if(null!=e.description&&e.hasOwnProperty("description")&&!l.isString(e.description))return"description: string expected";if(null!=e.steps&&e.hasOwnProperty("steps")){if(!Array.isArray(e.steps))return"steps: array expected";for(var t=0;t>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.tags&&n.tags.length||(n.tags=[]),n.tags.push(u.io.cucumber.messages.GherkinDocument.Feature.Tag.decode(e,e.uint32()));break;case 3:n.keyword=e.string();break;case 4:n.name=e.string();break;case 5:n.description=e.string();break;case 6:n.steps&&n.steps.length||(n.steps=[]),n.steps.push(u.io.cucumber.messages.GherkinDocument.Feature.Step.decode(e,e.uint32()));break;case 7:n.examples&&n.examples.length||(n.examples=[]),n.examples.push(u.io.cucumber.messages.GherkinDocument.Feature.Scenario.Examples.decode(e,e.uint32()));break;case 8:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.tags&&e.hasOwnProperty("tags")){if(!Array.isArray(e.tags))return"tags: array expected";for(var t=0;t>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.tags&&n.tags.length||(n.tags=[]),n.tags.push(u.io.cucumber.messages.GherkinDocument.Feature.Tag.decode(e,e.uint32()));break;case 3:n.keyword=e.string();break;case 4:n.name=e.string();break;case 5:n.description=e.string();break;case 6:n.tableHeader=u.io.cucumber.messages.GherkinDocument.Feature.TableRow.decode(e,e.uint32());break;case 7:n.tableBody&&n.tableBody.length||(n.tableBody=[]),n.tableBody.push(u.io.cucumber.messages.GherkinDocument.Feature.TableRow.decode(e,e.uint32()));break;case 8:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.tags&&e.hasOwnProperty("tags")){if(!Array.isArray(e.tags))return"tags: array expected";for(var t=0;t>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.cells&&n.cells.length||(n.cells=[]),n.cells.push(u.io.cucumber.messages.GherkinDocument.Feature.TableRow.TableCell.decode(e,e.uint32()));break;case 3:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.cells&&e.hasOwnProperty("cells")){if(!Array.isArray(e.cells))return"cells: array expected";for(var t=0;t>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.value=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")){var t=u.io.cucumber.messages.Location.verify(e.location);if(t)return"location."+t}return null!=e.value&&e.hasOwnProperty("value")&&!l.isString(e.value)?"value: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.GherkinDocument.Feature.TableRow.TableCell)return e;var t=new u.io.cucumber.messages.GherkinDocument.Feature.TableRow.TableCell;if(null!=e.location){if("object"!=typeof e.location)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.TableRow.TableCell.location: object expected");t.location=u.io.cucumber.messages.Location.fromObject(e.location)}return null!=e.value&&(t.value=String(e.value)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.location=null,r.value=""),null!=e.location&&e.hasOwnProperty("location")&&(r.location=u.io.cucumber.messages.Location.toObject(e.location,t)),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e.Step=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.keyword=e.string();break;case 3:n.text=e.string();break;case 4:n.docString=u.io.cucumber.messages.GherkinDocument.Feature.Step.DocString.decode(e,e.uint32());break;case 5:n.dataTable=u.io.cucumber.messages.GherkinDocument.Feature.Step.DataTable.decode(e,e.uint32());break;case 6:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.keyword&&e.hasOwnProperty("keyword")&&!l.isString(e.keyword))return"keyword: string expected";if(null!=e.text&&e.hasOwnProperty("text")&&!l.isString(e.text))return"text: string expected";if(null!=e.docString&&e.hasOwnProperty("docString")&&(t.argument=1,r=u.io.cucumber.messages.GherkinDocument.Feature.Step.DocString.verify(e.docString)))return"docString."+r;if(null!=e.dataTable&&e.hasOwnProperty("dataTable")){if(1===t.argument)return"argument: multiple values";var r;if(t.argument=1,r=u.io.cucumber.messages.GherkinDocument.Feature.Step.DataTable.verify(e.dataTable))return"dataTable."+r}return null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.GherkinDocument.Feature.Step)return e;var t=new u.io.cucumber.messages.GherkinDocument.Feature.Step;if(null!=e.location){if("object"!=typeof e.location)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.Step.location: object expected");t.location=u.io.cucumber.messages.Location.fromObject(e.location)}if(null!=e.keyword&&(t.keyword=String(e.keyword)),null!=e.text&&(t.text=String(e.text)),null!=e.docString){if("object"!=typeof e.docString)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.Step.docString: object expected");t.docString=u.io.cucumber.messages.GherkinDocument.Feature.Step.DocString.fromObject(e.docString)}if(null!=e.dataTable){if("object"!=typeof e.dataTable)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.Step.dataTable: object expected");t.dataTable=u.io.cucumber.messages.GherkinDocument.Feature.Step.DataTable.fromObject(e.dataTable)}return null!=e.id&&(t.id=String(e.id)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.location=null,r.keyword="",r.text="",r.id=""),null!=e.location&&e.hasOwnProperty("location")&&(r.location=u.io.cucumber.messages.Location.toObject(e.location,t)),null!=e.keyword&&e.hasOwnProperty("keyword")&&(r.keyword=e.keyword),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),null!=e.docString&&e.hasOwnProperty("docString")&&(r.docString=u.io.cucumber.messages.GherkinDocument.Feature.Step.DocString.toObject(e.docString,t),t.oneofs&&(r.argument="docString")),null!=e.dataTable&&e.hasOwnProperty("dataTable")&&(r.dataTable=u.io.cucumber.messages.GherkinDocument.Feature.Step.DataTable.toObject(e.dataTable,t),t.oneofs&&(r.argument="dataTable")),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.DataTable=function(){function e(e){if(this.rows=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.rows&&n.rows.length||(n.rows=[]),n.rows.push(u.io.cucumber.messages.GherkinDocument.Feature.TableRow.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")&&(r=u.io.cucumber.messages.Location.verify(e.location)))return"location."+r;if(null!=e.rows&&e.hasOwnProperty("rows")){if(!Array.isArray(e.rows))return"rows: array expected";for(var t=0;t>>3){case 1:n.location=u.io.cucumber.messages.Location.decode(e,e.uint32());break;case 2:n.mediaType=e.string();break;case 3:n.content=e.string();break;case 4:n.delimiter=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.location&&e.hasOwnProperty("location")){var t=u.io.cucumber.messages.Location.verify(e.location);if(t)return"location."+t}return null!=e.mediaType&&e.hasOwnProperty("mediaType")&&!l.isString(e.mediaType)?"mediaType: string expected":null!=e.content&&e.hasOwnProperty("content")&&!l.isString(e.content)?"content: string expected":null!=e.delimiter&&e.hasOwnProperty("delimiter")&&!l.isString(e.delimiter)?"delimiter: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.GherkinDocument.Feature.Step.DocString)return e;var t=new u.io.cucumber.messages.GherkinDocument.Feature.Step.DocString;if(null!=e.location){if("object"!=typeof e.location)throw TypeError(".io.cucumber.messages.GherkinDocument.Feature.Step.DocString.location: object expected");t.location=u.io.cucumber.messages.Location.fromObject(e.location)}return null!=e.mediaType&&(t.mediaType=String(e.mediaType)),null!=e.content&&(t.content=String(e.content)),null!=e.delimiter&&(t.delimiter=String(e.delimiter)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.location=null,r.mediaType="",r.content="",r.delimiter=""),null!=e.location&&e.hasOwnProperty("location")&&(r.location=u.io.cucumber.messages.Location.toObject(e.location,t)),null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(r.mediaType=e.mediaType),null!=e.content&&e.hasOwnProperty("content")&&(r.content=e.content),null!=e.delimiter&&e.hasOwnProperty("delimiter")&&(r.delimiter=e.delimiter),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e}(),e}(),n.Attachment=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.source=u.io.cucumber.messages.SourceReference.decode(e,e.uint32());break;case 2:n.testStepId=e.string();break;case 3:n.testCaseStartedId=e.string();break;case 4:n.body=e.string();break;case 5:n.mediaType=e.string();break;case 6:n.contentEncoding=e.int32();break;case 7:n.fileName=e.string();break;case 8:n.url=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.source&&e.hasOwnProperty("source")){var t=u.io.cucumber.messages.SourceReference.verify(e.source);if(t)return"source."+t}if(null!=e.testStepId&&e.hasOwnProperty("testStepId")&&!l.isString(e.testStepId))return"testStepId: string expected";if(null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&!l.isString(e.testCaseStartedId))return"testCaseStartedId: string expected";if(null!=e.body&&e.hasOwnProperty("body")&&!l.isString(e.body))return"body: string expected";if(null!=e.mediaType&&e.hasOwnProperty("mediaType")&&!l.isString(e.mediaType))return"mediaType: string expected";if(null!=e.contentEncoding&&e.hasOwnProperty("contentEncoding"))switch(e.contentEncoding){default:return"contentEncoding: enum value expected";case 0:case 1:}return null!=e.fileName&&e.hasOwnProperty("fileName")&&!l.isString(e.fileName)?"fileName: string expected":null!=e.url&&e.hasOwnProperty("url")&&!l.isString(e.url)?"url: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Attachment)return e;var t=new u.io.cucumber.messages.Attachment;if(null!=e.source){if("object"!=typeof e.source)throw TypeError(".io.cucumber.messages.Attachment.source: object expected");t.source=u.io.cucumber.messages.SourceReference.fromObject(e.source)}switch(null!=e.testStepId&&(t.testStepId=String(e.testStepId)),null!=e.testCaseStartedId&&(t.testCaseStartedId=String(e.testCaseStartedId)),null!=e.body&&(t.body=String(e.body)),null!=e.mediaType&&(t.mediaType=String(e.mediaType)),e.contentEncoding){case"IDENTITY":case 0:t.contentEncoding=0;break;case"BASE64":case 1:t.contentEncoding=1}return null!=e.fileName&&(t.fileName=String(e.fileName)),null!=e.url&&(t.url=String(e.url)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.source=null,r.testStepId="",r.testCaseStartedId="",r.body="",r.mediaType="",r.contentEncoding=t.enums===String?"IDENTITY":0,r.fileName="",r.url=""),null!=e.source&&e.hasOwnProperty("source")&&(r.source=u.io.cucumber.messages.SourceReference.toObject(e.source,t)),null!=e.testStepId&&e.hasOwnProperty("testStepId")&&(r.testStepId=e.testStepId),null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&(r.testCaseStartedId=e.testCaseStartedId),null!=e.body&&e.hasOwnProperty("body")&&(r.body=e.body),null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(r.mediaType=e.mediaType),null!=e.contentEncoding&&e.hasOwnProperty("contentEncoding")&&(r.contentEncoding=t.enums===String?u.io.cucumber.messages.Attachment.ContentEncoding[e.contentEncoding]:e.contentEncoding),null!=e.fileName&&e.hasOwnProperty("fileName")&&(r.fileName=e.fileName),null!=e.url&&e.hasOwnProperty("url")&&(r.url=e.url),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.ContentEncoding=(t={},(r=Object.create(t))[t[0]="IDENTITY"]=0,r[t[1]="BASE64"]=1,r),e}(),n.Pickle=function(){function e(e){if(this.steps=[],this.tags=[],this.astNodeIds=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.id=e.string();break;case 2:n.uri=e.string();break;case 3:n.name=e.string();break;case 4:n.language=e.string();break;case 5:n.steps&&n.steps.length||(n.steps=[]),n.steps.push(u.io.cucumber.messages.Pickle.PickleStep.decode(e,e.uint32()));break;case 6:n.tags&&n.tags.length||(n.tags=[]),n.tags.push(u.io.cucumber.messages.Pickle.PickleTag.decode(e,e.uint32()));break;case 7:n.astNodeIds&&n.astNodeIds.length||(n.astNodeIds=[]),n.astNodeIds.push(e.string());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(null!=e.uri&&e.hasOwnProperty("uri")&&!l.isString(e.uri))return"uri: string expected";if(null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name))return"name: string expected";if(null!=e.language&&e.hasOwnProperty("language")&&!l.isString(e.language))return"language: string expected";if(null!=e.steps&&e.hasOwnProperty("steps")){if(!Array.isArray(e.steps))return"steps: array expected";for(var t=0;t>>3){case 1:n.name=e.string();break;case 2:n.astNodeId=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":null!=e.astNodeId&&e.hasOwnProperty("astNodeId")&&!l.isString(e.astNodeId)?"astNodeId: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Pickle.PickleTag)return e;var t=new u.io.cucumber.messages.Pickle.PickleTag;return null!=e.name&&(t.name=String(e.name)),null!=e.astNodeId&&(t.astNodeId=String(e.astNodeId)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.name="",r.astNodeId=""),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),null!=e.astNodeId&&e.hasOwnProperty("astNodeId")&&(r.astNodeId=e.astNodeId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.PickleStep=function(){function e(e){if(this.astNodeIds=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.text=e.string();break;case 2:n.argument=u.io.cucumber.messages.PickleStepArgument.decode(e,e.uint32());break;case 3:n.id=e.string();break;case 4:n.astNodeIds&&n.astNodeIds.length||(n.astNodeIds=[]),n.astNodeIds.push(e.string());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.text&&e.hasOwnProperty("text")&&!l.isString(e.text))return"text: string expected";if(null!=e.argument&&e.hasOwnProperty("argument")){var t=u.io.cucumber.messages.PickleStepArgument.verify(e.argument);if(t)return"argument."+t}if(null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(null!=e.astNodeIds&&e.hasOwnProperty("astNodeIds")){if(!Array.isArray(e.astNodeIds))return"astNodeIds: array expected";for(var r=0;r>>3){case 1:n.docString=u.io.cucumber.messages.PickleStepArgument.PickleDocString.decode(e,e.uint32());break;case 2:n.dataTable=u.io.cucumber.messages.PickleStepArgument.PickleTable.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.docString&&e.hasOwnProperty("docString")&&(t.message=1,r=u.io.cucumber.messages.PickleStepArgument.PickleDocString.verify(e.docString)))return"docString."+r;if(null!=e.dataTable&&e.hasOwnProperty("dataTable")){if(1===t.message)return"message: multiple values";var r;if(t.message=1,r=u.io.cucumber.messages.PickleStepArgument.PickleTable.verify(e.dataTable))return"dataTable."+r}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.PickleStepArgument)return e;var t=new u.io.cucumber.messages.PickleStepArgument;if(null!=e.docString){if("object"!=typeof e.docString)throw TypeError(".io.cucumber.messages.PickleStepArgument.docString: object expected");t.docString=u.io.cucumber.messages.PickleStepArgument.PickleDocString.fromObject(e.docString)}if(null!=e.dataTable){if("object"!=typeof e.dataTable)throw TypeError(".io.cucumber.messages.PickleStepArgument.dataTable: object expected");t.dataTable=u.io.cucumber.messages.PickleStepArgument.PickleTable.fromObject(e.dataTable)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.docString&&e.hasOwnProperty("docString")&&(r.docString=u.io.cucumber.messages.PickleStepArgument.PickleDocString.toObject(e.docString,t),t.oneofs&&(r.message="docString")),null!=e.dataTable&&e.hasOwnProperty("dataTable")&&(r.dataTable=u.io.cucumber.messages.PickleStepArgument.PickleTable.toObject(e.dataTable,t),t.oneofs&&(r.message="dataTable")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.PickleDocString=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.mediaType=e.string();break;case 2:n.content=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.mediaType&&e.hasOwnProperty("mediaType")&&!l.isString(e.mediaType)?"mediaType: string expected":null!=e.content&&e.hasOwnProperty("content")&&!l.isString(e.content)?"content: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.PickleStepArgument.PickleDocString)return e;var t=new u.io.cucumber.messages.PickleStepArgument.PickleDocString;return null!=e.mediaType&&(t.mediaType=String(e.mediaType)),null!=e.content&&(t.content=String(e.content)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.mediaType="",r.content=""),null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(r.mediaType=e.mediaType),null!=e.content&&e.hasOwnProperty("content")&&(r.content=e.content),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e.PickleTable=function(){function e(e){if(this.rows=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.rows&&n.rows.length||(n.rows=[]),n.rows.push(u.io.cucumber.messages.PickleStepArgument.PickleTable.PickleTableRow.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.rows&&e.hasOwnProperty("rows")){if(!Array.isArray(e.rows))return"rows: array expected";for(var t=0;t>>3){case 1:n.cells&&n.cells.length||(n.cells=[]),n.cells.push(u.io.cucumber.messages.PickleStepArgument.PickleTable.PickleTableRow.PickleTableCell.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.cells&&e.hasOwnProperty("cells")){if(!Array.isArray(e.cells))return"cells: array expected";for(var t=0;t>>3){case 1:n.value=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!l.isString(e.value)?"value: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.PickleStepArgument.PickleTable.PickleTableRow.PickleTableCell)return e;var t=new u.io.cucumber.messages.PickleStepArgument.PickleTable.PickleTableRow.PickleTableCell;return null!=e.value&&(t.value=String(e.value)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.value=""),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),e}(),e}(),e}(),n.TestCase=function(){function e(e){if(this.testSteps=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.id=e.string();break;case 2:n.pickleId=e.string();break;case 3:n.testSteps&&n.testSteps.length||(n.testSteps=[]),n.testSteps.push(u.io.cucumber.messages.TestCase.TestStep.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(null!=e.pickleId&&e.hasOwnProperty("pickleId")&&!l.isString(e.pickleId))return"pickleId: string expected";if(null!=e.testSteps&&e.hasOwnProperty("testSteps")){if(!Array.isArray(e.testSteps))return"testSteps: array expected";for(var t=0;t>>3){case 1:n.id=e.string();break;case 2:n.pickleStepId=e.string();break;case 3:n.stepDefinitionIds&&n.stepDefinitionIds.length||(n.stepDefinitionIds=[]),n.stepDefinitionIds.push(e.string());break;case 4:n.stepMatchArgumentsLists&&n.stepMatchArgumentsLists.length||(n.stepMatchArgumentsLists=[]),n.stepMatchArgumentsLists.push(u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.decode(e,e.uint32()));break;case 5:n.hookId=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(null!=e.pickleStepId&&e.hasOwnProperty("pickleStepId")&&!l.isString(e.pickleStepId))return"pickleStepId: string expected";if(null!=e.stepDefinitionIds&&e.hasOwnProperty("stepDefinitionIds")){if(!Array.isArray(e.stepDefinitionIds))return"stepDefinitionIds: array expected";for(var t=0;t>>3){case 1:n.stepMatchArguments&&n.stepMatchArguments.length||(n.stepMatchArguments=[]),n.stepMatchArguments.push(u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.stepMatchArguments&&e.hasOwnProperty("stepMatchArguments")){if(!Array.isArray(e.stepMatchArguments))return"stepMatchArguments: array expected";for(var t=0;t>>3){case 1:n.parameterTypeName=e.string();break;case 2:n.group=u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.Group.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.parameterTypeName&&e.hasOwnProperty("parameterTypeName")&&!l.isString(e.parameterTypeName))return"parameterTypeName: string expected";if(null!=e.group&&e.hasOwnProperty("group")){var t=u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.Group.verify(e.group);if(t)return"group."+t}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument)return e;var t=new u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument;if(null!=e.parameterTypeName&&(t.parameterTypeName=String(e.parameterTypeName)),null!=e.group){if("object"!=typeof e.group)throw TypeError(".io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.group: object expected");t.group=u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.Group.fromObject(e.group)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.parameterTypeName="",r.group=null),null!=e.parameterTypeName&&e.hasOwnProperty("parameterTypeName")&&(r.parameterTypeName=e.parameterTypeName),null!=e.group&&e.hasOwnProperty("group")&&(r.group=u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.Group.toObject(e.group,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.Group=function(){function e(e){if(this.children=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.start=e.uint32();break;case 2:n.value=e.string();break;case 3:n.children&&n.children.length||(n.children=[]),n.children.push(u.io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.Group.decode(e,e.uint32()));break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.start&&e.hasOwnProperty("start")&&!l.isInteger(e.start))return"start: integer expected";if(null!=e.value&&e.hasOwnProperty("value")&&!l.isString(e.value))return"value: string expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(var t=0;t>>0),null!=e.value&&(t.value=String(e.value)),e.children){if(!Array.isArray(e.children))throw TypeError(".io.cucumber.messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.Group.children: array expected");t.children=[];for(var r=0;r>>3){case 1:n.timestamp=u.io.cucumber.messages.Timestamp.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.timestamp&&e.hasOwnProperty("timestamp")){var t=u.io.cucumber.messages.Timestamp.verify(e.timestamp);if(t)return"timestamp."+t}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestRunStarted)return e;var t=new u.io.cucumber.messages.TestRunStarted;if(null!=e.timestamp){if("object"!=typeof e.timestamp)throw TypeError(".io.cucumber.messages.TestRunStarted.timestamp: object expected");t.timestamp=u.io.cucumber.messages.Timestamp.fromObject(e.timestamp)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.timestamp=null),null!=e.timestamp&&e.hasOwnProperty("timestamp")&&(r.timestamp=u.io.cucumber.messages.Timestamp.toObject(e.timestamp,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.TestCaseStarted=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.timestamp=u.io.cucumber.messages.Timestamp.decode(e,e.uint32());break;case 3:n.attempt=e.uint32();break;case 4:n.testCaseId=e.string();break;case 5:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.timestamp&&e.hasOwnProperty("timestamp")){var t=u.io.cucumber.messages.Timestamp.verify(e.timestamp);if(t)return"timestamp."+t}return null!=e.attempt&&e.hasOwnProperty("attempt")&&!l.isInteger(e.attempt)?"attempt: integer expected":null!=e.testCaseId&&e.hasOwnProperty("testCaseId")&&!l.isString(e.testCaseId)?"testCaseId: string expected":null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestCaseStarted)return e;var t=new u.io.cucumber.messages.TestCaseStarted;if(null!=e.timestamp){if("object"!=typeof e.timestamp)throw TypeError(".io.cucumber.messages.TestCaseStarted.timestamp: object expected");t.timestamp=u.io.cucumber.messages.Timestamp.fromObject(e.timestamp)}return null!=e.attempt&&(t.attempt=e.attempt>>>0),null!=e.testCaseId&&(t.testCaseId=String(e.testCaseId)),null!=e.id&&(t.id=String(e.id)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.timestamp=null,r.attempt=0,r.testCaseId="",r.id=""),null!=e.timestamp&&e.hasOwnProperty("timestamp")&&(r.timestamp=u.io.cucumber.messages.Timestamp.toObject(e.timestamp,t)),null!=e.attempt&&e.hasOwnProperty("attempt")&&(r.attempt=e.attempt),null!=e.testCaseId&&e.hasOwnProperty("testCaseId")&&(r.testCaseId=e.testCaseId),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.TestCaseFinished=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.timestamp=u.io.cucumber.messages.Timestamp.decode(e,e.uint32());break;case 3:n.testCaseStartedId=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.timestamp&&e.hasOwnProperty("timestamp")){var t=u.io.cucumber.messages.Timestamp.verify(e.timestamp);if(t)return"timestamp."+t}return null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&!l.isString(e.testCaseStartedId)?"testCaseStartedId: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestCaseFinished)return e;var t=new u.io.cucumber.messages.TestCaseFinished;if(null!=e.timestamp){if("object"!=typeof e.timestamp)throw TypeError(".io.cucumber.messages.TestCaseFinished.timestamp: object expected");t.timestamp=u.io.cucumber.messages.Timestamp.fromObject(e.timestamp)}return null!=e.testCaseStartedId&&(t.testCaseStartedId=String(e.testCaseStartedId)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.timestamp=null,r.testCaseStartedId=""),null!=e.timestamp&&e.hasOwnProperty("timestamp")&&(r.timestamp=u.io.cucumber.messages.Timestamp.toObject(e.timestamp,t)),null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&(r.testCaseStartedId=e.testCaseStartedId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.TestStepStarted=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.timestamp=u.io.cucumber.messages.Timestamp.decode(e,e.uint32());break;case 2:n.testStepId=e.string();break;case 3:n.testCaseStartedId=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.timestamp&&e.hasOwnProperty("timestamp")){var t=u.io.cucumber.messages.Timestamp.verify(e.timestamp);if(t)return"timestamp."+t}return null!=e.testStepId&&e.hasOwnProperty("testStepId")&&!l.isString(e.testStepId)?"testStepId: string expected":null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&!l.isString(e.testCaseStartedId)?"testCaseStartedId: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestStepStarted)return e;var t=new u.io.cucumber.messages.TestStepStarted;if(null!=e.timestamp){if("object"!=typeof e.timestamp)throw TypeError(".io.cucumber.messages.TestStepStarted.timestamp: object expected");t.timestamp=u.io.cucumber.messages.Timestamp.fromObject(e.timestamp)}return null!=e.testStepId&&(t.testStepId=String(e.testStepId)),null!=e.testCaseStartedId&&(t.testCaseStartedId=String(e.testCaseStartedId)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.timestamp=null,r.testStepId="",r.testCaseStartedId=""),null!=e.timestamp&&e.hasOwnProperty("timestamp")&&(r.timestamp=u.io.cucumber.messages.Timestamp.toObject(e.timestamp,t)),null!=e.testStepId&&e.hasOwnProperty("testStepId")&&(r.testStepId=e.testStepId),null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&(r.testCaseStartedId=e.testCaseStartedId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.TestStepFinished=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.testStepResult=u.io.cucumber.messages.TestStepFinished.TestStepResult.decode(e,e.uint32());break;case 2:n.timestamp=u.io.cucumber.messages.Timestamp.decode(e,e.uint32());break;case 3:n.testStepId=e.string();break;case 4:n.testCaseStartedId=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.testStepResult&&e.hasOwnProperty("testStepResult")&&(t=u.io.cucumber.messages.TestStepFinished.TestStepResult.verify(e.testStepResult))?"testStepResult."+t:null!=e.timestamp&&e.hasOwnProperty("timestamp")&&(t=u.io.cucumber.messages.Timestamp.verify(e.timestamp))?"timestamp."+t:null!=e.testStepId&&e.hasOwnProperty("testStepId")&&!l.isString(e.testStepId)?"testStepId: string expected":null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&!l.isString(e.testCaseStartedId)?"testCaseStartedId: string expected":null;var t},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestStepFinished)return e;var t=new u.io.cucumber.messages.TestStepFinished;if(null!=e.testStepResult){if("object"!=typeof e.testStepResult)throw TypeError(".io.cucumber.messages.TestStepFinished.testStepResult: object expected");t.testStepResult=u.io.cucumber.messages.TestStepFinished.TestStepResult.fromObject(e.testStepResult)}if(null!=e.timestamp){if("object"!=typeof e.timestamp)throw TypeError(".io.cucumber.messages.TestStepFinished.timestamp: object expected");t.timestamp=u.io.cucumber.messages.Timestamp.fromObject(e.timestamp)}return null!=e.testStepId&&(t.testStepId=String(e.testStepId)),null!=e.testCaseStartedId&&(t.testCaseStartedId=String(e.testCaseStartedId)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.testStepResult=null,r.timestamp=null,r.testStepId="",r.testCaseStartedId=""),null!=e.testStepResult&&e.hasOwnProperty("testStepResult")&&(r.testStepResult=u.io.cucumber.messages.TestStepFinished.TestStepResult.toObject(e.testStepResult,t)),null!=e.timestamp&&e.hasOwnProperty("timestamp")&&(r.timestamp=u.io.cucumber.messages.Timestamp.toObject(e.timestamp,t)),null!=e.testStepId&&e.hasOwnProperty("testStepId")&&(r.testStepId=e.testStepId),null!=e.testCaseStartedId&&e.hasOwnProperty("testCaseStartedId")&&(r.testCaseStartedId=e.testCaseStartedId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.TestStepResult=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.status=e.int32();break;case 2:n.message=e.string();break;case 3:n.duration=u.io.cucumber.messages.Duration.decode(e,e.uint32());break;case 4:n.willBeRetried=e.bool();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.status&&e.hasOwnProperty("status"))switch(e.status){default:return"status: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:}if(null!=e.message&&e.hasOwnProperty("message")&&!l.isString(e.message))return"message: string expected";if(null!=e.duration&&e.hasOwnProperty("duration")){var t=u.io.cucumber.messages.Duration.verify(e.duration);if(t)return"duration."+t}return null!=e.willBeRetried&&e.hasOwnProperty("willBeRetried")&&"boolean"!=typeof e.willBeRetried?"willBeRetried: boolean expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestStepFinished.TestStepResult)return e;var t=new u.io.cucumber.messages.TestStepFinished.TestStepResult;switch(e.status){case"UNKNOWN":case 0:t.status=0;break;case"PASSED":case 1:t.status=1;break;case"SKIPPED":case 2:t.status=2;break;case"PENDING":case 3:t.status=3;break;case"UNDEFINED":case 4:t.status=4;break;case"AMBIGUOUS":case 5:t.status=5;break;case"FAILED":case 6:t.status=6}if(null!=e.message&&(t.message=String(e.message)),null!=e.duration){if("object"!=typeof e.duration)throw TypeError(".io.cucumber.messages.TestStepFinished.TestStepResult.duration: object expected");t.duration=u.io.cucumber.messages.Duration.fromObject(e.duration)}return null!=e.willBeRetried&&(t.willBeRetried=Boolean(e.willBeRetried)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.status=t.enums===String?"UNKNOWN":0,r.message="",r.duration=null,r.willBeRetried=!1),null!=e.status&&e.hasOwnProperty("status")&&(r.status=t.enums===String?u.io.cucumber.messages.TestStepFinished.TestStepResult.Status[e.status]:e.status),null!=e.message&&e.hasOwnProperty("message")&&(r.message=e.message),null!=e.duration&&e.hasOwnProperty("duration")&&(r.duration=u.io.cucumber.messages.Duration.toObject(e.duration,t)),null!=e.willBeRetried&&e.hasOwnProperty("willBeRetried")&&(r.willBeRetried=e.willBeRetried),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.Status=(t={},(r=Object.create(t))[t[0]="UNKNOWN"]=0,r[t[1]="PASSED"]=1,r[t[2]="SKIPPED"]=2,r[t[3]="PENDING"]=3,r[t[4]="UNDEFINED"]=4,r[t[5]="AMBIGUOUS"]=5,r[t[6]="FAILED"]=6,r),e}(),e}(),n.TestRunFinished=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.success=e.bool();break;case 2:n.timestamp=u.io.cucumber.messages.Timestamp.decode(e,e.uint32());break;case 3:n.message=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.success&&e.hasOwnProperty("success")&&"boolean"!=typeof e.success)return"success: boolean expected";if(null!=e.timestamp&&e.hasOwnProperty("timestamp")){var t=u.io.cucumber.messages.Timestamp.verify(e.timestamp);if(t)return"timestamp."+t}return null!=e.message&&e.hasOwnProperty("message")&&!l.isString(e.message)?"message: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.TestRunFinished)return e;var t=new u.io.cucumber.messages.TestRunFinished;if(null!=e.success&&(t.success=Boolean(e.success)),null!=e.timestamp){if("object"!=typeof e.timestamp)throw TypeError(".io.cucumber.messages.TestRunFinished.timestamp: object expected");t.timestamp=u.io.cucumber.messages.Timestamp.fromObject(e.timestamp)}return null!=e.message&&(t.message=String(e.message)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.success=!1,r.timestamp=null,r.message=""),null!=e.success&&e.hasOwnProperty("success")&&(r.success=e.success),null!=e.timestamp&&e.hasOwnProperty("timestamp")&&(r.timestamp=u.io.cucumber.messages.Timestamp.toObject(e.timestamp,t)),null!=e.message&&e.hasOwnProperty("message")&&(r.message=e.message),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.Hook=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.id=e.string();break;case 2:n.tagExpression=e.string();break;case 3:n.sourceReference=u.io.cucumber.messages.SourceReference.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(null!=e.tagExpression&&e.hasOwnProperty("tagExpression")&&!l.isString(e.tagExpression))return"tagExpression: string expected";if(null!=e.sourceReference&&e.hasOwnProperty("sourceReference")){var t=u.io.cucumber.messages.SourceReference.verify(e.sourceReference);if(t)return"sourceReference."+t}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.Hook)return e;var t=new u.io.cucumber.messages.Hook;if(null!=e.id&&(t.id=String(e.id)),null!=e.tagExpression&&(t.tagExpression=String(e.tagExpression)),null!=e.sourceReference){if("object"!=typeof e.sourceReference)throw TypeError(".io.cucumber.messages.Hook.sourceReference: object expected");t.sourceReference=u.io.cucumber.messages.SourceReference.fromObject(e.sourceReference)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id="",r.tagExpression="",r.sourceReference=null),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.tagExpression&&e.hasOwnProperty("tagExpression")&&(r.tagExpression=e.tagExpression),null!=e.sourceReference&&e.hasOwnProperty("sourceReference")&&(r.sourceReference=u.io.cucumber.messages.SourceReference.toObject(e.sourceReference,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.StepDefinition=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.id=e.string();break;case 2:n.pattern=u.io.cucumber.messages.StepDefinition.StepDefinitionPattern.decode(e,e.uint32());break;case 3:n.sourceReference=u.io.cucumber.messages.SourceReference.decode(e,e.uint32());break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":null!=e.pattern&&e.hasOwnProperty("pattern")&&(t=u.io.cucumber.messages.StepDefinition.StepDefinitionPattern.verify(e.pattern))?"pattern."+t:null!=e.sourceReference&&e.hasOwnProperty("sourceReference")&&(t=u.io.cucumber.messages.SourceReference.verify(e.sourceReference))?"sourceReference."+t:null;var t},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.StepDefinition)return e;var t=new u.io.cucumber.messages.StepDefinition;if(null!=e.id&&(t.id=String(e.id)),null!=e.pattern){if("object"!=typeof e.pattern)throw TypeError(".io.cucumber.messages.StepDefinition.pattern: object expected");t.pattern=u.io.cucumber.messages.StepDefinition.StepDefinitionPattern.fromObject(e.pattern)}if(null!=e.sourceReference){if("object"!=typeof e.sourceReference)throw TypeError(".io.cucumber.messages.StepDefinition.sourceReference: object expected");t.sourceReference=u.io.cucumber.messages.SourceReference.fromObject(e.sourceReference)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id="",r.pattern=null,r.sourceReference=null),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.pattern&&e.hasOwnProperty("pattern")&&(r.pattern=u.io.cucumber.messages.StepDefinition.StepDefinitionPattern.toObject(e.pattern,t)),null!=e.sourceReference&&e.hasOwnProperty("sourceReference")&&(r.sourceReference=u.io.cucumber.messages.SourceReference.toObject(e.sourceReference,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.StepDefinitionPattern=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.source=e.string();break;case 2:n.type=e.int32();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.source&&e.hasOwnProperty("source")&&!l.isString(e.source))return"source: string expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.StepDefinition.StepDefinitionPattern)return e;var t=new u.io.cucumber.messages.StepDefinition.StepDefinitionPattern;switch(null!=e.source&&(t.source=String(e.source)),e.type){case"CUCUMBER_EXPRESSION":case 0:t.type=0;break;case"REGULAR_EXPRESSION":case 1:t.type=1}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.source="",r.type=t.enums===String?"CUCUMBER_EXPRESSION":0),null!=e.source&&e.hasOwnProperty("source")&&(r.source=e.source),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?u.io.cucumber.messages.StepDefinition.StepDefinitionPattern.StepDefinitionPatternType[e.type]:e.type),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e.StepDefinitionPatternType=(t={},(r=Object.create(t))[t[0]="CUCUMBER_EXPRESSION"]=0,r[t[1]="REGULAR_EXPRESSION"]=1,r),e}(),e}(),n.ParameterType=function(){function e(e){if(this.regularExpressions=[],e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.name=e.string();break;case 2:n.regularExpressions&&n.regularExpressions.length||(n.regularExpressions=[]),n.regularExpressions.push(e.string());break;case 3:n.preferForRegularExpressionMatch=e.bool();break;case 4:n.useForSnippets=e.bool();break;case 5:n.id=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name))return"name: string expected";if(null!=e.regularExpressions&&e.hasOwnProperty("regularExpressions")){if(!Array.isArray(e.regularExpressions))return"regularExpressions: array expected";for(var t=0;t>>3){case 1:n.name=e.string();break;case 2:n.expression=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.name&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":null!=e.expression&&e.hasOwnProperty("expression")&&!l.isString(e.expression)?"expression: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.UndefinedParameterType)return e;var t=new u.io.cucumber.messages.UndefinedParameterType;return null!=e.name&&(t.name=String(e.name)),null!=e.expression&&(t.expression=String(e.expression)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.name="",r.expression=""),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),null!=e.expression&&e.hasOwnProperty("expression")&&(r.expression=e.expression),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n.ParseError=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r>>3){case 1:n.source=u.io.cucumber.messages.SourceReference.decode(e,e.uint32());break;case 2:n.message=e.string();break;default:e.skipType(7&a)}}return n},e.decodeDelimited=function(e){return e instanceof o||(e=new o(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.source&&e.hasOwnProperty("source")){var t=u.io.cucumber.messages.SourceReference.verify(e.source);if(t)return"source."+t}return null!=e.message&&e.hasOwnProperty("message")&&!l.isString(e.message)?"message: string expected":null},e.fromObject=function(e){if(e instanceof u.io.cucumber.messages.ParseError)return e;var t=new u.io.cucumber.messages.ParseError;if(null!=e.source){if("object"!=typeof e.source)throw TypeError(".io.cucumber.messages.ParseError.source: object expected");t.source=u.io.cucumber.messages.SourceReference.fromObject(e.source)}return null!=e.message&&(t.message=String(e.message)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.source=null,r.message=""),null!=e.source&&e.hasOwnProperty("source")&&(r.source=u.io.cucumber.messages.SourceReference.toObject(e.source,t)),null!=e.message&&e.hasOwnProperty("message")&&(r.message=e.message),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,i.util.toJSONOptions)},e}(),n),a),c),e.exports=u},6622:(e,t,r)=>{"use strict";var n;r.r(t),r.d(t,{NIL:()=>N,parse:()=>v,stringify:()=>u,v1:()=>m,v3:()=>M,v4:()=>C,v5:()=>H,validate:()=>o,version:()=>A});var a=new Uint8Array(16);function c(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(a)}const i=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,o=function(e){return"string"==typeof e&&i.test(e)};for(var s=[],l=0;l<256;++l)s.push((l+256).toString(16).substr(1));const u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(s[e[t+0]]+s[e[t+1]]+s[e[t+2]]+s[e[t+3]]+"-"+s[e[t+4]]+s[e[t+5]]+"-"+s[e[t+6]]+s[e[t+7]]+"-"+s[e[t+8]]+s[e[t+9]]+"-"+s[e[t+10]]+s[e[t+11]]+s[e[t+12]]+s[e[t+13]]+s[e[t+14]]+s[e[t+15]]).toLowerCase();if(!o(r))throw TypeError("Stringified UUID is invalid");return r};var f,p,d=0,h=0;const m=function(e,t,r){var n=t&&r||0,a=t||new Array(16),i=(e=e||{}).node||f,o=void 0!==e.clockseq?e.clockseq:p;if(null==i||null==o){var s=e.random||(e.rng||c)();null==i&&(i=f=[1|s[0],s[1],s[2],s[3],s[4],s[5]]),null==o&&(o=p=16383&(s[6]<<8|s[7]))}var l=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:h+1,v=l-d+(m-h)/1e4;if(v<0&&void 0===e.clockseq&&(o=o+1&16383),(v<0||l>d)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");d=l,h=m,p=o;var g=(1e4*(268435455&(l+=122192928e5))+m)%4294967296;a[n++]=g>>>24&255,a[n++]=g>>>16&255,a[n++]=g>>>8&255,a[n++]=255&g;var y=l/4294967296*1e4&268435455;a[n++]=y>>>8&255,a[n++]=255&y,a[n++]=y>>>24&15|16,a[n++]=y>>>16&255,a[n++]=o>>>8|128,a[n++]=255&o;for(var b=0;b<6;++b)a[n+b]=i[b];return t||u(a)},v=function(e){if(!o(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=255&t,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=255&t,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=255&t,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=255&t,r};function g(e,t,r){function n(e,n,a,c){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r>>9<<4)+1}function b(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function w(e,t,r,n,a,c){return b((i=b(b(t,e),b(n,c)))<<(o=a)|i>>>32-o,r);var i,o}function x(e,t,r,n,a,c,i){return w(t&r|~t&n,e,t,a,c,i)}function z(e,t,r,n,a,c,i){return w(t&n|r&~n,e,t,a,c,i)}function S(e,t,r,n,a,c,i){return w(t^r^n,e,t,a,c,i)}function k(e,t,r,n,a,c,i){return w(r^(t|~n),e,t,a,c,i)}const M=g("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var r=0;r>5]>>>a%32&255,i=parseInt(n.charAt(c>>>4&15)+n.charAt(15&c),16);t.push(i)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[n/8])<>>32-t}const H=g("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var n=unescape(encodeURIComponent(e));e=[];for(var a=0;a>>0;b=y,y=g,g=L(v,30)>>>0,v=m,m=z}r[0]=r[0]+m>>>0,r[1]=r[1]+v>>>0,r[2]=r[2]+g>>>0,r[3]=r[3]+y>>>0,r[4]=r[4]+b>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]})),N="00000000-0000-0000-0000-000000000000",A=function(e){if(!o(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},5096:(e,t,r)=>{"use strict";r.r(t),r.d(t,{fas:()=>jg,prefix:()=>n,faAd:()=>a,faAddressBook:()=>c,faAddressCard:()=>i,faAdjust:()=>o,faAirFreshener:()=>s,faAlignCenter:()=>l,faAlignJustify:()=>u,faAlignLeft:()=>f,faAlignRight:()=>p,faAllergies:()=>d,faAmbulance:()=>h,faAmericanSignLanguageInterpreting:()=>m,faAnchor:()=>v,faAngleDoubleDown:()=>g,faAngleDoubleLeft:()=>y,faAngleDoubleRight:()=>b,faAngleDoubleUp:()=>w,faAngleDown:()=>x,faAngleLeft:()=>z,faAngleRight:()=>S,faAngleUp:()=>k,faAngry:()=>M,faAnkh:()=>C,faAppleAlt:()=>O,faArchive:()=>L,faArchway:()=>H,faArrowAltCircleDown:()=>N,faArrowAltCircleLeft:()=>A,faArrowAltCircleRight:()=>T,faArrowAltCircleUp:()=>E,faArrowCircleDown:()=>V,faArrowCircleLeft:()=>P,faArrowCircleRight:()=>_,faArrowCircleUp:()=>j,faArrowDown:()=>D,faArrowLeft:()=>I,faArrowRight:()=>F,faArrowUp:()=>R,faArrowsAlt:()=>q,faArrowsAltH:()=>B,faArrowsAltV:()=>U,faAssistiveListeningSystems:()=>G,faAsterisk:()=>Z,faAt:()=>W,faAtlas:()=>J,faAtom:()=>$,faAudioDescription:()=>Q,faAward:()=>Y,faBaby:()=>K,faBabyCarriage:()=>X,faBackspace:()=>ee,faBackward:()=>te,faBacon:()=>re,faBacteria:()=>ne,faBacterium:()=>ae,faBahai:()=>ce,faBalanceScale:()=>ie,faBalanceScaleLeft:()=>oe,faBalanceScaleRight:()=>se,faBan:()=>le,faBandAid:()=>ue,faBarcode:()=>fe,faBars:()=>pe,faBaseballBall:()=>de,faBasketballBall:()=>he,faBath:()=>me,faBatteryEmpty:()=>ve,faBatteryFull:()=>ge,faBatteryHalf:()=>ye,faBatteryQuarter:()=>be,faBatteryThreeQuarters:()=>we,faBed:()=>xe,faBeer:()=>ze,faBell:()=>Se,faBellSlash:()=>ke,faBezierCurve:()=>Me,faBible:()=>Ce,faBicycle:()=>Oe,faBiking:()=>Le,faBinoculars:()=>He,faBiohazard:()=>Ne,faBirthdayCake:()=>Ae,faBlender:()=>Te,faBlenderPhone:()=>Ee,faBlind:()=>Ve,faBlog:()=>Pe,faBold:()=>_e,faBolt:()=>je,faBomb:()=>De,faBone:()=>Ie,faBong:()=>Fe,faBook:()=>Re,faBookDead:()=>qe,faBookMedical:()=>Be,faBookOpen:()=>Ue,faBookReader:()=>Ge,faBookmark:()=>Ze,faBorderAll:()=>We,faBorderNone:()=>Je,faBorderStyle:()=>$e,faBowlingBall:()=>Qe,faBox:()=>Ye,faBoxOpen:()=>Ke,faBoxTissue:()=>Xe,faBoxes:()=>et,faBraille:()=>tt,faBrain:()=>rt,faBreadSlice:()=>nt,faBriefcase:()=>at,faBriefcaseMedical:()=>ct,faBroadcastTower:()=>it,faBroom:()=>ot,faBrush:()=>st,faBug:()=>lt,faBuilding:()=>ut,faBullhorn:()=>ft,faBullseye:()=>pt,faBurn:()=>dt,faBus:()=>ht,faBusAlt:()=>mt,faBusinessTime:()=>vt,faCalculator:()=>gt,faCalendar:()=>yt,faCalendarAlt:()=>bt,faCalendarCheck:()=>wt,faCalendarDay:()=>xt,faCalendarMinus:()=>zt,faCalendarPlus:()=>St,faCalendarTimes:()=>kt,faCalendarWeek:()=>Mt,faCamera:()=>Ct,faCameraRetro:()=>Ot,faCampground:()=>Lt,faCandyCane:()=>Ht,faCannabis:()=>Nt,faCapsules:()=>At,faCar:()=>Tt,faCarAlt:()=>Et,faCarBattery:()=>Vt,faCarCrash:()=>Pt,faCarSide:()=>_t,faCaravan:()=>jt,faCaretDown:()=>Dt,faCaretLeft:()=>It,faCaretRight:()=>Ft,faCaretSquareDown:()=>Rt,faCaretSquareLeft:()=>qt,faCaretSquareRight:()=>Bt,faCaretSquareUp:()=>Ut,faCaretUp:()=>Gt,faCarrot:()=>Zt,faCartArrowDown:()=>Wt,faCartPlus:()=>Jt,faCashRegister:()=>$t,faCat:()=>Qt,faCertificate:()=>Yt,faChair:()=>Kt,faChalkboard:()=>Xt,faChalkboardTeacher:()=>er,faChargingStation:()=>tr,faChartArea:()=>rr,faChartBar:()=>nr,faChartLine:()=>ar,faChartPie:()=>cr,faCheck:()=>ir,faCheckCircle:()=>or,faCheckDouble:()=>sr,faCheckSquare:()=>lr,faCheese:()=>ur,faChess:()=>fr,faChessBishop:()=>pr,faChessBoard:()=>dr,faChessKing:()=>hr,faChessKnight:()=>mr,faChessPawn:()=>vr,faChessQueen:()=>gr,faChessRook:()=>yr,faChevronCircleDown:()=>br,faChevronCircleLeft:()=>wr,faChevronCircleRight:()=>xr,faChevronCircleUp:()=>zr,faChevronDown:()=>Sr,faChevronLeft:()=>kr,faChevronRight:()=>Mr,faChevronUp:()=>Cr,faChild:()=>Or,faChurch:()=>Lr,faCircle:()=>Hr,faCircleNotch:()=>Nr,faCity:()=>Ar,faClinicMedical:()=>Tr,faClipboard:()=>Er,faClipboardCheck:()=>Vr,faClipboardList:()=>Pr,faClock:()=>_r,faClone:()=>jr,faClosedCaptioning:()=>Dr,faCloud:()=>Ir,faCloudDownloadAlt:()=>Fr,faCloudMeatball:()=>Rr,faCloudMoon:()=>qr,faCloudMoonRain:()=>Br,faCloudRain:()=>Ur,faCloudShowersHeavy:()=>Gr,faCloudSun:()=>Zr,faCloudSunRain:()=>Wr,faCloudUploadAlt:()=>Jr,faCocktail:()=>$r,faCode:()=>Qr,faCodeBranch:()=>Yr,faCoffee:()=>Kr,faCog:()=>Xr,faCogs:()=>en,faCoins:()=>tn,faColumns:()=>rn,faComment:()=>nn,faCommentAlt:()=>an,faCommentDollar:()=>cn,faCommentDots:()=>on,faCommentMedical:()=>sn,faCommentSlash:()=>ln,faComments:()=>un,faCommentsDollar:()=>fn,faCompactDisc:()=>pn,faCompass:()=>dn,faCompress:()=>hn,faCompressAlt:()=>mn,faCompressArrowsAlt:()=>vn,faConciergeBell:()=>gn,faCookie:()=>yn,faCookieBite:()=>bn,faCopy:()=>wn,faCopyright:()=>xn,faCouch:()=>zn,faCreditCard:()=>Sn,faCrop:()=>kn,faCropAlt:()=>Mn,faCross:()=>Cn,faCrosshairs:()=>On,faCrow:()=>Ln,faCrown:()=>Hn,faCrutch:()=>Nn,faCube:()=>An,faCubes:()=>Tn,faCut:()=>En,faDatabase:()=>Vn,faDeaf:()=>Pn,faDemocrat:()=>_n,faDesktop:()=>jn,faDharmachakra:()=>Dn,faDiagnoses:()=>In,faDice:()=>Fn,faDiceD20:()=>Rn,faDiceD6:()=>qn,faDiceFive:()=>Bn,faDiceFour:()=>Un,faDiceOne:()=>Gn,faDiceSix:()=>Zn,faDiceThree:()=>Wn,faDiceTwo:()=>Jn,faDigitalTachograph:()=>$n,faDirections:()=>Qn,faDisease:()=>Yn,faDivide:()=>Kn,faDizzy:()=>Xn,faDna:()=>ea,faDog:()=>ta,faDollarSign:()=>ra,faDolly:()=>na,faDollyFlatbed:()=>aa,faDonate:()=>ca,faDoorClosed:()=>ia,faDoorOpen:()=>oa,faDotCircle:()=>sa,faDove:()=>la,faDownload:()=>ua,faDraftingCompass:()=>fa,faDragon:()=>pa,faDrawPolygon:()=>da,faDrum:()=>ha,faDrumSteelpan:()=>ma,faDrumstickBite:()=>va,faDumbbell:()=>ga,faDumpster:()=>ya,faDumpsterFire:()=>ba,faDungeon:()=>wa,faEdit:()=>xa,faEgg:()=>za,faEject:()=>Sa,faEllipsisH:()=>ka,faEllipsisV:()=>Ma,faEnvelope:()=>Ca,faEnvelopeOpen:()=>Oa,faEnvelopeOpenText:()=>La,faEnvelopeSquare:()=>Ha,faEquals:()=>Na,faEraser:()=>Aa,faEthernet:()=>Ta,faEuroSign:()=>Ea,faExchangeAlt:()=>Va,faExclamation:()=>Pa,faExclamationCircle:()=>_a,faExclamationTriangle:()=>ja,faExpand:()=>Da,faExpandAlt:()=>Ia,faExpandArrowsAlt:()=>Fa,faExternalLinkAlt:()=>Ra,faExternalLinkSquareAlt:()=>qa,faEye:()=>Ba,faEyeDropper:()=>Ua,faEyeSlash:()=>Ga,faFan:()=>Za,faFastBackward:()=>Wa,faFastForward:()=>Ja,faFaucet:()=>$a,faFax:()=>Qa,faFeather:()=>Ya,faFeatherAlt:()=>Ka,faFemale:()=>Xa,faFighterJet:()=>ec,faFile:()=>tc,faFileAlt:()=>rc,faFileArchive:()=>nc,faFileAudio:()=>ac,faFileCode:()=>cc,faFileContract:()=>ic,faFileCsv:()=>oc,faFileDownload:()=>sc,faFileExcel:()=>lc,faFileExport:()=>uc,faFileImage:()=>fc,faFileImport:()=>pc,faFileInvoice:()=>dc,faFileInvoiceDollar:()=>hc,faFileMedical:()=>mc,faFileMedicalAlt:()=>vc,faFilePdf:()=>gc,faFilePowerpoint:()=>yc,faFilePrescription:()=>bc,faFileSignature:()=>wc,faFileUpload:()=>xc,faFileVideo:()=>zc,faFileWord:()=>Sc,faFill:()=>kc,faFillDrip:()=>Mc,faFilm:()=>Cc,faFilter:()=>Oc,faFingerprint:()=>Lc,faFire:()=>Hc,faFireAlt:()=>Nc,faFireExtinguisher:()=>Ac,faFirstAid:()=>Tc,faFish:()=>Ec,faFistRaised:()=>Vc,faFlag:()=>Pc,faFlagCheckered:()=>_c,faFlagUsa:()=>jc,faFlask:()=>Dc,faFlushed:()=>Ic,faFolder:()=>Fc,faFolderMinus:()=>Rc,faFolderOpen:()=>qc,faFolderPlus:()=>Bc,faFont:()=>Uc,faFontAwesomeLogoFull:()=>Gc,faFootballBall:()=>Zc,faForward:()=>Wc,faFrog:()=>Jc,faFrown:()=>$c,faFrownOpen:()=>Qc,faFunnelDollar:()=>Yc,faFutbol:()=>Kc,faGamepad:()=>Xc,faGasPump:()=>ei,faGavel:()=>ti,faGem:()=>ri,faGenderless:()=>ni,faGhost:()=>ai,faGift:()=>ci,faGifts:()=>ii,faGlassCheers:()=>oi,faGlassMartini:()=>si,faGlassMartiniAlt:()=>li,faGlassWhiskey:()=>ui,faGlasses:()=>fi,faGlobe:()=>pi,faGlobeAfrica:()=>di,faGlobeAmericas:()=>hi,faGlobeAsia:()=>mi,faGlobeEurope:()=>vi,faGolfBall:()=>gi,faGopuram:()=>yi,faGraduationCap:()=>bi,faGreaterThan:()=>wi,faGreaterThanEqual:()=>xi,faGrimace:()=>zi,faGrin:()=>Si,faGrinAlt:()=>ki,faGrinBeam:()=>Mi,faGrinBeamSweat:()=>Ci,faGrinHearts:()=>Oi,faGrinSquint:()=>Li,faGrinSquintTears:()=>Hi,faGrinStars:()=>Ni,faGrinTears:()=>Ai,faGrinTongue:()=>Ti,faGrinTongueSquint:()=>Ei,faGrinTongueWink:()=>Vi,faGrinWink:()=>Pi,faGripHorizontal:()=>_i,faGripLines:()=>ji,faGripLinesVertical:()=>Di,faGripVertical:()=>Ii,faGuitar:()=>Fi,faHSquare:()=>Ri,faHamburger:()=>qi,faHammer:()=>Bi,faHamsa:()=>Ui,faHandHolding:()=>Gi,faHandHoldingHeart:()=>Zi,faHandHoldingMedical:()=>Wi,faHandHoldingUsd:()=>Ji,faHandHoldingWater:()=>$i,faHandLizard:()=>Qi,faHandMiddleFinger:()=>Yi,faHandPaper:()=>Ki,faHandPeace:()=>Xi,faHandPointDown:()=>eo,faHandPointLeft:()=>to,faHandPointRight:()=>ro,faHandPointUp:()=>no,faHandPointer:()=>ao,faHandRock:()=>co,faHandScissors:()=>io,faHandSparkles:()=>oo,faHandSpock:()=>so,faHands:()=>lo,faHandsHelping:()=>uo,faHandsWash:()=>fo,faHandshake:()=>po,faHandshakeAltSlash:()=>ho,faHandshakeSlash:()=>mo,faHanukiah:()=>vo,faHardHat:()=>go,faHashtag:()=>yo,faHatCowboy:()=>bo,faHatCowboySide:()=>wo,faHatWizard:()=>xo,faHdd:()=>zo,faHeadSideCough:()=>So,faHeadSideCoughSlash:()=>ko,faHeadSideMask:()=>Mo,faHeadSideVirus:()=>Co,faHeading:()=>Oo,faHeadphones:()=>Lo,faHeadphonesAlt:()=>Ho,faHeadset:()=>No,faHeart:()=>Ao,faHeartBroken:()=>To,faHeartbeat:()=>Eo,faHelicopter:()=>Vo,faHighlighter:()=>Po,faHiking:()=>_o,faHippo:()=>jo,faHistory:()=>Do,faHockeyPuck:()=>Io,faHollyBerry:()=>Fo,faHome:()=>Ro,faHorse:()=>qo,faHorseHead:()=>Bo,faHospital:()=>Uo,faHospitalAlt:()=>Go,faHospitalSymbol:()=>Zo,faHospitalUser:()=>Wo,faHotTub:()=>Jo,faHotdog:()=>$o,faHotel:()=>Qo,faHourglass:()=>Yo,faHourglassEnd:()=>Ko,faHourglassHalf:()=>Xo,faHourglassStart:()=>es,faHouseDamage:()=>ts,faHouseUser:()=>rs,faHryvnia:()=>ns,faICursor:()=>as,faIceCream:()=>cs,faIcicles:()=>is,faIcons:()=>os,faIdBadge:()=>ss,faIdCard:()=>ls,faIdCardAlt:()=>us,faIgloo:()=>fs,faImage:()=>ps,faImages:()=>ds,faInbox:()=>hs,faIndent:()=>ms,faIndustry:()=>vs,faInfinity:()=>gs,faInfo:()=>ys,faInfoCircle:()=>bs,faItalic:()=>ws,faJedi:()=>xs,faJoint:()=>zs,faJournalWhills:()=>Ss,faKaaba:()=>ks,faKey:()=>Ms,faKeyboard:()=>Cs,faKhanda:()=>Os,faKiss:()=>Ls,faKissBeam:()=>Hs,faKissWinkHeart:()=>Ns,faKiwiBird:()=>As,faLandmark:()=>Ts,faLanguage:()=>Es,faLaptop:()=>Vs,faLaptopCode:()=>Ps,faLaptopHouse:()=>_s,faLaptopMedical:()=>js,faLaugh:()=>Ds,faLaughBeam:()=>Is,faLaughSquint:()=>Fs,faLaughWink:()=>Rs,faLayerGroup:()=>qs,faLeaf:()=>Bs,faLemon:()=>Us,faLessThan:()=>Gs,faLessThanEqual:()=>Zs,faLevelDownAlt:()=>Ws,faLevelUpAlt:()=>Js,faLifeRing:()=>$s,faLightbulb:()=>Qs,faLink:()=>Ys,faLiraSign:()=>Ks,faList:()=>Xs,faListAlt:()=>el,faListOl:()=>tl,faListUl:()=>rl,faLocationArrow:()=>nl,faLock:()=>al,faLockOpen:()=>cl,faLongArrowAltDown:()=>il,faLongArrowAltLeft:()=>ol,faLongArrowAltRight:()=>sl,faLongArrowAltUp:()=>ll,faLowVision:()=>ul,faLuggageCart:()=>fl,faLungs:()=>pl,faLungsVirus:()=>dl,faMagic:()=>hl,faMagnet:()=>ml,faMailBulk:()=>vl,faMale:()=>gl,faMap:()=>yl,faMapMarked:()=>bl,faMapMarkedAlt:()=>wl,faMapMarker:()=>xl,faMapMarkerAlt:()=>zl,faMapPin:()=>Sl,faMapSigns:()=>kl,faMarker:()=>Ml,faMars:()=>Cl,faMarsDouble:()=>Ol,faMarsStroke:()=>Ll,faMarsStrokeH:()=>Hl,faMarsStrokeV:()=>Nl,faMask:()=>Al,faMedal:()=>Tl,faMedkit:()=>El,faMeh:()=>Vl,faMehBlank:()=>Pl,faMehRollingEyes:()=>_l,faMemory:()=>jl,faMenorah:()=>Dl,faMercury:()=>Il,faMeteor:()=>Fl,faMicrochip:()=>Rl,faMicrophone:()=>ql,faMicrophoneAlt:()=>Bl,faMicrophoneAltSlash:()=>Ul,faMicrophoneSlash:()=>Gl,faMicroscope:()=>Zl,faMinus:()=>Wl,faMinusCircle:()=>Jl,faMinusSquare:()=>$l,faMitten:()=>Ql,faMobile:()=>Yl,faMobileAlt:()=>Kl,faMoneyBill:()=>Xl,faMoneyBillAlt:()=>eu,faMoneyBillWave:()=>tu,faMoneyBillWaveAlt:()=>ru,faMoneyCheck:()=>nu,faMoneyCheckAlt:()=>au,faMonument:()=>cu,faMoon:()=>iu,faMortarPestle:()=>ou,faMosque:()=>su,faMotorcycle:()=>lu,faMountain:()=>uu,faMouse:()=>fu,faMousePointer:()=>pu,faMugHot:()=>du,faMusic:()=>hu,faNetworkWired:()=>mu,faNeuter:()=>vu,faNewspaper:()=>gu,faNotEqual:()=>yu,faNotesMedical:()=>bu,faObjectGroup:()=>wu,faObjectUngroup:()=>xu,faOilCan:()=>zu,faOm:()=>Su,faOtter:()=>ku,faOutdent:()=>Mu,faPager:()=>Cu,faPaintBrush:()=>Ou,faPaintRoller:()=>Lu,faPalette:()=>Hu,faPallet:()=>Nu,faPaperPlane:()=>Au,faPaperclip:()=>Tu,faParachuteBox:()=>Eu,faParagraph:()=>Vu,faParking:()=>Pu,faPassport:()=>_u,faPastafarianism:()=>ju,faPaste:()=>Du,faPause:()=>Iu,faPauseCircle:()=>Fu,faPaw:()=>Ru,faPeace:()=>qu,faPen:()=>Bu,faPenAlt:()=>Uu,faPenFancy:()=>Gu,faPenNib:()=>Zu,faPenSquare:()=>Wu,faPencilAlt:()=>Ju,faPencilRuler:()=>$u,faPeopleArrows:()=>Qu,faPeopleCarry:()=>Yu,faPepperHot:()=>Ku,faPercent:()=>Xu,faPercentage:()=>ef,faPersonBooth:()=>tf,faPhone:()=>rf,faPhoneAlt:()=>nf,faPhoneSlash:()=>af,faPhoneSquare:()=>cf,faPhoneSquareAlt:()=>of,faPhoneVolume:()=>sf,faPhotoVideo:()=>lf,faPiggyBank:()=>uf,faPills:()=>ff,faPizzaSlice:()=>pf,faPlaceOfWorship:()=>df,faPlane:()=>hf,faPlaneArrival:()=>mf,faPlaneDeparture:()=>vf,faPlaneSlash:()=>gf,faPlay:()=>yf,faPlayCircle:()=>bf,faPlug:()=>wf,faPlus:()=>xf,faPlusCircle:()=>zf,faPlusSquare:()=>Sf,faPodcast:()=>kf,faPoll:()=>Mf,faPollH:()=>Cf,faPoo:()=>Of,faPooStorm:()=>Lf,faPoop:()=>Hf,faPortrait:()=>Nf,faPoundSign:()=>Af,faPowerOff:()=>Tf,faPray:()=>Ef,faPrayingHands:()=>Vf,faPrescription:()=>Pf,faPrescriptionBottle:()=>_f,faPrescriptionBottleAlt:()=>jf,faPrint:()=>Df,faProcedures:()=>If,faProjectDiagram:()=>Ff,faPumpMedical:()=>Rf,faPumpSoap:()=>qf,faPuzzlePiece:()=>Bf,faQrcode:()=>Uf,faQuestion:()=>Gf,faQuestionCircle:()=>Zf,faQuidditch:()=>Wf,faQuoteLeft:()=>Jf,faQuoteRight:()=>$f,faQuran:()=>Qf,faRadiation:()=>Yf,faRadiationAlt:()=>Kf,faRainbow:()=>Xf,faRandom:()=>ep,faReceipt:()=>tp,faRecordVinyl:()=>rp,faRecycle:()=>np,faRedo:()=>ap,faRedoAlt:()=>cp,faRegistered:()=>ip,faRemoveFormat:()=>op,faReply:()=>sp,faReplyAll:()=>lp,faRepublican:()=>up,faRestroom:()=>fp,faRetweet:()=>pp,faRibbon:()=>dp,faRing:()=>hp,faRoad:()=>mp,faRobot:()=>vp,faRocket:()=>gp,faRoute:()=>yp,faRss:()=>bp,faRssSquare:()=>wp,faRubleSign:()=>xp,faRuler:()=>zp,faRulerCombined:()=>Sp,faRulerHorizontal:()=>kp,faRulerVertical:()=>Mp,faRunning:()=>Cp,faRupeeSign:()=>Op,faSadCry:()=>Lp,faSadTear:()=>Hp,faSatellite:()=>Np,faSatelliteDish:()=>Ap,faSave:()=>Tp,faSchool:()=>Ep,faScrewdriver:()=>Vp,faScroll:()=>Pp,faSdCard:()=>_p,faSearch:()=>jp,faSearchDollar:()=>Dp,faSearchLocation:()=>Ip,faSearchMinus:()=>Fp,faSearchPlus:()=>Rp,faSeedling:()=>qp,faServer:()=>Bp,faShapes:()=>Up,faShare:()=>Gp,faShareAlt:()=>Zp,faShareAltSquare:()=>Wp,faShareSquare:()=>Jp,faShekelSign:()=>$p,faShieldAlt:()=>Qp,faShieldVirus:()=>Yp,faShip:()=>Kp,faShippingFast:()=>Xp,faShoePrints:()=>ed,faShoppingBag:()=>td,faShoppingBasket:()=>rd,faShoppingCart:()=>nd,faShower:()=>ad,faShuttleVan:()=>cd,faSign:()=>id,faSignInAlt:()=>od,faSignLanguage:()=>sd,faSignOutAlt:()=>ld,faSignal:()=>ud,faSignature:()=>fd,faSimCard:()=>pd,faSink:()=>dd,faSitemap:()=>hd,faSkating:()=>md,faSkiing:()=>vd,faSkiingNordic:()=>gd,faSkull:()=>yd,faSkullCrossbones:()=>bd,faSlash:()=>wd,faSleigh:()=>xd,faSlidersH:()=>zd,faSmile:()=>Sd,faSmileBeam:()=>kd,faSmileWink:()=>Md,faSmog:()=>Cd,faSmoking:()=>Od,faSmokingBan:()=>Ld,faSms:()=>Hd,faSnowboarding:()=>Nd,faSnowflake:()=>Ad,faSnowman:()=>Td,faSnowplow:()=>Ed,faSoap:()=>Vd,faSocks:()=>Pd,faSolarPanel:()=>_d,faSort:()=>jd,faSortAlphaDown:()=>Dd,faSortAlphaDownAlt:()=>Id,faSortAlphaUp:()=>Fd,faSortAlphaUpAlt:()=>Rd,faSortAmountDown:()=>qd,faSortAmountDownAlt:()=>Bd,faSortAmountUp:()=>Ud,faSortAmountUpAlt:()=>Gd,faSortDown:()=>Zd,faSortNumericDown:()=>Wd,faSortNumericDownAlt:()=>Jd,faSortNumericUp:()=>$d,faSortNumericUpAlt:()=>Qd,faSortUp:()=>Yd,faSpa:()=>Kd,faSpaceShuttle:()=>Xd,faSpellCheck:()=>eh,faSpider:()=>th,faSpinner:()=>rh,faSplotch:()=>nh,faSprayCan:()=>ah,faSquare:()=>ch,faSquareFull:()=>ih,faSquareRootAlt:()=>oh,faStamp:()=>sh,faStar:()=>lh,faStarAndCrescent:()=>uh,faStarHalf:()=>fh,faStarHalfAlt:()=>ph,faStarOfDavid:()=>dh,faStarOfLife:()=>hh,faStepBackward:()=>mh,faStepForward:()=>vh,faStethoscope:()=>gh,faStickyNote:()=>yh,faStop:()=>bh,faStopCircle:()=>wh,faStopwatch:()=>xh,faStopwatch20:()=>zh,faStore:()=>Sh,faStoreAlt:()=>kh,faStoreAltSlash:()=>Mh,faStoreSlash:()=>Ch,faStream:()=>Oh,faStreetView:()=>Lh,faStrikethrough:()=>Hh,faStroopwafel:()=>Nh,faSubscript:()=>Ah,faSubway:()=>Th,faSuitcase:()=>Eh,faSuitcaseRolling:()=>Vh,faSun:()=>Ph,faSuperscript:()=>_h,faSurprise:()=>jh,faSwatchbook:()=>Dh,faSwimmer:()=>Ih,faSwimmingPool:()=>Fh,faSynagogue:()=>Rh,faSync:()=>qh,faSyncAlt:()=>Bh,faSyringe:()=>Uh,faTable:()=>Gh,faTableTennis:()=>Zh,faTablet:()=>Wh,faTabletAlt:()=>Jh,faTablets:()=>$h,faTachometerAlt:()=>Qh,faTag:()=>Yh,faTags:()=>Kh,faTape:()=>Xh,faTasks:()=>em,faTaxi:()=>tm,faTeeth:()=>rm,faTeethOpen:()=>nm,faTemperatureHigh:()=>am,faTemperatureLow:()=>cm,faTenge:()=>im,faTerminal:()=>om,faTextHeight:()=>sm,faTextWidth:()=>lm,faTh:()=>um,faThLarge:()=>fm,faThList:()=>pm,faTheaterMasks:()=>dm,faThermometer:()=>hm,faThermometerEmpty:()=>mm,faThermometerFull:()=>vm,faThermometerHalf:()=>gm,faThermometerQuarter:()=>ym,faThermometerThreeQuarters:()=>bm,faThumbsDown:()=>wm,faThumbsUp:()=>xm,faThumbtack:()=>zm,faTicketAlt:()=>Sm,faTimes:()=>km,faTimesCircle:()=>Mm,faTint:()=>Cm,faTintSlash:()=>Om,faTired:()=>Lm,faToggleOff:()=>Hm,faToggleOn:()=>Nm,faToilet:()=>Am,faToiletPaper:()=>Tm,faToiletPaperSlash:()=>Em,faToolbox:()=>Vm,faTools:()=>Pm,faTooth:()=>_m,faTorah:()=>jm,faToriiGate:()=>Dm,faTractor:()=>Im,faTrademark:()=>Fm,faTrafficLight:()=>Rm,faTrailer:()=>qm,faTrain:()=>Bm,faTram:()=>Um,faTransgender:()=>Gm,faTransgenderAlt:()=>Zm,faTrash:()=>Wm,faTrashAlt:()=>Jm,faTrashRestore:()=>$m,faTrashRestoreAlt:()=>Qm,faTree:()=>Ym,faTrophy:()=>Km,faTruck:()=>Xm,faTruckLoading:()=>ev,faTruckMonster:()=>tv,faTruckMoving:()=>rv,faTruckPickup:()=>nv,faTshirt:()=>av,faTty:()=>cv,faTv:()=>iv,faUmbrella:()=>ov,faUmbrellaBeach:()=>sv,faUnderline:()=>lv,faUndo:()=>uv,faUndoAlt:()=>fv,faUniversalAccess:()=>pv,faUniversity:()=>dv,faUnlink:()=>hv,faUnlock:()=>mv,faUnlockAlt:()=>vv,faUpload:()=>gv,faUser:()=>yv,faUserAlt:()=>bv,faUserAltSlash:()=>wv,faUserAstronaut:()=>xv,faUserCheck:()=>zv,faUserCircle:()=>Sv,faUserClock:()=>kv,faUserCog:()=>Mv,faUserEdit:()=>Cv,faUserFriends:()=>Ov,faUserGraduate:()=>Lv,faUserInjured:()=>Hv,faUserLock:()=>Nv,faUserMd:()=>Av,faUserMinus:()=>Tv,faUserNinja:()=>Ev,faUserNurse:()=>Vv,faUserPlus:()=>Pv,faUserSecret:()=>_v,faUserShield:()=>jv,faUserSlash:()=>Dv,faUserTag:()=>Iv,faUserTie:()=>Fv,faUserTimes:()=>Rv,faUsers:()=>qv,faUsersCog:()=>Bv,faUsersSlash:()=>Uv,faUtensilSpoon:()=>Gv,faUtensils:()=>Zv,faVectorSquare:()=>Wv,faVenus:()=>Jv,faVenusDouble:()=>$v,faVenusMars:()=>Qv,faVest:()=>Yv,faVestPatches:()=>Kv,faVial:()=>Xv,faVials:()=>eg,faVideo:()=>tg,faVideoSlash:()=>rg,faVihara:()=>ng,faVirus:()=>ag,faVirusSlash:()=>cg,faViruses:()=>ig,faVoicemail:()=>og,faVolleyballBall:()=>sg,faVolumeDown:()=>lg,faVolumeMute:()=>ug,faVolumeOff:()=>fg,faVolumeUp:()=>pg,faVoteYea:()=>dg,faVrCardboard:()=>hg,faWalking:()=>mg,faWallet:()=>vg,faWarehouse:()=>gg,faWater:()=>yg,faWaveSquare:()=>bg,faWeight:()=>wg,faWeightHanging:()=>xg,faWheelchair:()=>zg,faWifi:()=>Sg,faWind:()=>kg,faWindowClose:()=>Mg,faWindowMaximize:()=>Cg,faWindowMinimize:()=>Og,faWindowRestore:()=>Lg,faWineBottle:()=>Hg,faWineGlass:()=>Ng,faWineGlassAlt:()=>Ag,faWonSign:()=>Tg,faWrench:()=>Eg,faXRay:()=>Vg,faYenSign:()=>Pg,faYinYang:()=>_g});var n="fas",a={prefix:"fas",iconName:"ad",icon:[512,512,[],"f641","M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z"]},c={prefix:"fas",iconName:"address-book",icon:[448,512,[],"f2b9","M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},i={prefix:"fas",iconName:"address-card",icon:[576,512,[],"f2bb","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"]},o={prefix:"fas",iconName:"adjust",icon:[512,512,[],"f042","M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"]},s={prefix:"fas",iconName:"air-freshener",icon:[512,512,[],"f5d0","M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z"]},l={prefix:"fas",iconName:"align-center",icon:[448,512,[],"f037","M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z"]},u={prefix:"fas",iconName:"align-justify",icon:[448,512,[],"f039","M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},f={prefix:"fas",iconName:"align-left",icon:[448,512,[],"f036","M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},p={prefix:"fas",iconName:"align-right",icon:[448,512,[],"f038","M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z"]},d={prefix:"fas",iconName:"allergies",icon:[448,512,[],"f461","M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},h={prefix:"fas",iconName:"ambulance",icon:[640,512,[],"f0f9","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},m={prefix:"fas",iconName:"american-sign-language-interpreting",icon:[640,512,[],"f2a3","M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z"]},v={prefix:"fas",iconName:"anchor",icon:[576,512,[],"f13d","M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z"]},g={prefix:"fas",iconName:"angle-double-down",icon:[320,512,[],"f103","M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"]},y={prefix:"fas",iconName:"angle-double-left",icon:[448,512,[],"f100","M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z"]},b={prefix:"fas",iconName:"angle-double-right",icon:[448,512,[],"f101","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"]},w={prefix:"fas",iconName:"angle-double-up",icon:[320,512,[],"f102","M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"]},x={prefix:"fas",iconName:"angle-down",icon:[320,512,[],"f107","M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"]},z={prefix:"fas",iconName:"angle-left",icon:[256,512,[],"f104","M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"]},S={prefix:"fas",iconName:"angle-right",icon:[256,512,[],"f105","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"]},k={prefix:"fas",iconName:"angle-up",icon:[320,512,[],"f106","M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"]},M={prefix:"fas",iconName:"angry",icon:[496,512,[],"f556","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z"]},C={prefix:"fas",iconName:"ankh",icon:[320,512,[],"f644","M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z"]},O={prefix:"fas",iconName:"apple-alt",icon:[448,512,[],"f5d1","M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z"]},L={prefix:"fas",iconName:"archive",icon:[512,512,[],"f187","M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"]},H={prefix:"fas",iconName:"archway",icon:[576,512,[],"f557","M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"]},N={prefix:"fas",iconName:"arrow-alt-circle-down",icon:[512,512,[],"f358","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z"]},A={prefix:"fas",iconName:"arrow-alt-circle-left",icon:[512,512,[],"f359","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z"]},T={prefix:"fas",iconName:"arrow-alt-circle-right",icon:[512,512,[],"f35a","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z"]},E={prefix:"fas",iconName:"arrow-alt-circle-up",icon:[512,512,[],"f35b","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z"]},V={prefix:"fas",iconName:"arrow-circle-down",icon:[512,512,[],"f0ab","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z"]},P={prefix:"fas",iconName:"arrow-circle-left",icon:[512,512,[],"f0a8","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z"]},_={prefix:"fas",iconName:"arrow-circle-right",icon:[512,512,[],"f0a9","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z"]},j={prefix:"fas",iconName:"arrow-circle-up",icon:[512,512,[],"f0aa","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z"]},D={prefix:"fas",iconName:"arrow-down",icon:[448,512,[],"f063","M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"]},I={prefix:"fas",iconName:"arrow-left",icon:[448,512,[],"f060","M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"]},F={prefix:"fas",iconName:"arrow-right",icon:[448,512,[],"f061","M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"]},R={prefix:"fas",iconName:"arrow-up",icon:[448,512,[],"f062","M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"]},q={prefix:"fas",iconName:"arrows-alt",icon:[512,512,[],"f0b2","M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"]},B={prefix:"fas",iconName:"arrows-alt-h",icon:[512,512,[],"f337","M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z"]},U={prefix:"fas",iconName:"arrows-alt-v",icon:[256,512,[],"f338","M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z"]},G={prefix:"fas",iconName:"assistive-listening-systems",icon:[512,512,[],"f2a2","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z"]},Z={prefix:"fas",iconName:"asterisk",icon:[512,512,[],"f069","M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"]},W={prefix:"fas",iconName:"at",icon:[512,512,[],"f1fa","M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z"]},J={prefix:"fas",iconName:"atlas",icon:[448,512,[],"f558","M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z"]},$={prefix:"fas",iconName:"atom",icon:[448,512,[],"f5d2","M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z"]},Q={prefix:"fas",iconName:"audio-description",icon:[512,512,[],"f29e","M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z"]},Y={prefix:"fas",iconName:"award",icon:[384,512,[],"f559","M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z"]},K={prefix:"fas",iconName:"baby",icon:[384,512,[],"f77c","M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z"]},X={prefix:"fas",iconName:"baby-carriage",icon:[512,512,[],"f77d","M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z"]},ee={prefix:"fas",iconName:"backspace",icon:[640,512,[],"f55a","M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z"]},te={prefix:"fas",iconName:"backward",icon:[512,512,[],"f04a","M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z"]},re={prefix:"fas",iconName:"bacon",icon:[576,512,[],"f7e5","M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z"]},ne={prefix:"fas",iconName:"bacteria",icon:[640,512,[],"e059","M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z"]},ae={prefix:"fas",iconName:"bacterium",icon:[512,512,[],"e05a","M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z"]},ce={prefix:"fas",iconName:"bahai",icon:[512,512,[],"f666","M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z"]},ie={prefix:"fas",iconName:"balance-scale",icon:[640,512,[],"f24e","M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},oe={prefix:"fas",iconName:"balance-scale-left",icon:[640,512,[],"f515","M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z"]},se={prefix:"fas",iconName:"balance-scale-right",icon:[640,512,[],"f516","M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z"]},le={prefix:"fas",iconName:"ban",icon:[512,512,[],"f05e","M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z"]},ue={prefix:"fas",iconName:"band-aid",icon:[640,512,[],"f462","M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z"]},fe={prefix:"fas",iconName:"barcode",icon:[512,512,[],"f02a","M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z"]},pe={prefix:"fas",iconName:"bars",icon:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},de={prefix:"fas",iconName:"baseball-ball",icon:[496,512,[],"f433","M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z"]},he={prefix:"fas",iconName:"basketball-ball",icon:[496,512,[],"f434","M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z"]},me={prefix:"fas",iconName:"bath",icon:[512,512,[],"f2cd","M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z"]},ve={prefix:"fas",iconName:"battery-empty",icon:[640,512,[],"f244","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z"]},ge={prefix:"fas",iconName:"battery-full",icon:[640,512,[],"f240","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z"]},ye={prefix:"fas",iconName:"battery-half",icon:[640,512,[],"f242","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z"]},be={prefix:"fas",iconName:"battery-quarter",icon:[640,512,[],"f243","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z"]},we={prefix:"fas",iconName:"battery-three-quarters",icon:[640,512,[],"f241","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z"]},xe={prefix:"fas",iconName:"bed",icon:[640,512,[],"f236","M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z"]},ze={prefix:"fas",iconName:"beer",icon:[448,512,[],"f0fc","M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z"]},Se={prefix:"fas",iconName:"bell",icon:[448,512,[],"f0f3","M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z"]},ke={prefix:"fas",iconName:"bell-slash",icon:[640,512,[],"f1f6","M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"]},Me={prefix:"fas",iconName:"bezier-curve",icon:[640,512,[],"f55b","M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},Ce={prefix:"fas",iconName:"bible",icon:[448,512,[],"f647","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},Oe={prefix:"fas",iconName:"bicycle",icon:[640,512,[],"f206","M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z"]},Le={prefix:"fas",iconName:"biking",icon:[640,512,[],"f84a","M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z"]},He={prefix:"fas",iconName:"binoculars",icon:[512,512,[],"f1e5","M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z"]},Ne={prefix:"fas",iconName:"biohazard",icon:[576,512,[],"f780","M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},Ae={prefix:"fas",iconName:"birthday-cake",icon:[448,512,[],"f1fd","M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z"]},Te={prefix:"fas",iconName:"blender",icon:[512,512,[],"f517","M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z"]},Ee={prefix:"fas",iconName:"blender-phone",icon:[576,512,[],"f6b6","M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Ve={prefix:"fas",iconName:"blind",icon:[384,512,[],"f29d","M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z"]},Pe={prefix:"fas",iconName:"blog",icon:[512,512,[],"f781","M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z"]},_e={prefix:"fas",iconName:"bold",icon:[384,512,[],"f032","M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"]},je={prefix:"fas",iconName:"bolt",icon:[320,512,[],"f0e7","M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z"]},De={prefix:"fas",iconName:"bomb",icon:[512,512,[],"f1e2","M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z"]},Ie={prefix:"fas",iconName:"bone",icon:[640,512,[],"f5d7","M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z"]},Fe={prefix:"fas",iconName:"bong",icon:[448,512,[],"f55c","M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z"]},Re={prefix:"fas",iconName:"book",icon:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"]},qe={prefix:"fas",iconName:"book-dead",icon:[448,512,[],"f6b7","M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z"]},Be={prefix:"fas",iconName:"book-medical",icon:[448,512,[],"f7e6","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z"]},Ue={prefix:"fas",iconName:"book-open",icon:[576,512,[],"f518","M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z"]},Ge={prefix:"fas",iconName:"book-reader",icon:[512,512,[],"f5da","M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z"]},Ze={prefix:"fas",iconName:"bookmark",icon:[384,512,[],"f02e","M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z"]},We={prefix:"fas",iconName:"border-all",icon:[448,512,[],"f84c","M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z"]},Je={prefix:"fas",iconName:"border-none",icon:[448,512,[],"f850","M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},$e={prefix:"fas",iconName:"border-style",icon:[448,512,[],"f853","M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Qe={prefix:"fas",iconName:"bowling-ball",icon:[496,512,[],"f436","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Ye={prefix:"fas",iconName:"box",icon:[512,512,[],"f466","M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z"]},Ke={prefix:"fas",iconName:"box-open",icon:[640,512,[],"f49e","M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z"]},Xe={prefix:"fas",iconName:"box-tissue",icon:[512,512,[],"e05b","M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z"]},et={prefix:"fas",iconName:"boxes",icon:[576,512,[],"f468","M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z"]},tt={prefix:"fas",iconName:"braille",icon:[640,512,[],"f2a1","M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"]},rt={prefix:"fas",iconName:"brain",icon:[576,512,[],"f5dc","M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z"]},nt={prefix:"fas",iconName:"bread-slice",icon:[576,512,[],"f7ec","M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z"]},at={prefix:"fas",iconName:"briefcase",icon:[512,512,[],"f0b1","M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z"]},ct={prefix:"fas",iconName:"briefcase-medical",icon:[512,512,[],"f469","M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z"]},it={prefix:"fas",iconName:"broadcast-tower",icon:[640,512,[],"f519","M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z"]},ot={prefix:"fas",iconName:"broom",icon:[640,512,[],"f51a","M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z"]},st={prefix:"fas",iconName:"brush",icon:[384,512,[],"f55d","M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z"]},lt={prefix:"fas",iconName:"bug",icon:[512,512,[],"f188","M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"]},ut={prefix:"fas",iconName:"building",icon:[448,512,[],"f1ad","M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z"]},ft={prefix:"fas",iconName:"bullhorn",icon:[576,512,[],"f0a1","M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z"]},pt={prefix:"fas",iconName:"bullseye",icon:[496,512,[],"f140","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z"]},dt={prefix:"fas",iconName:"burn",icon:[384,512,[],"f46a","M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z"]},ht={prefix:"fas",iconName:"bus",icon:[512,512,[],"f207","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},mt={prefix:"fas",iconName:"bus-alt",icon:[512,512,[],"f55e","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},vt={prefix:"fas",iconName:"business-time",icon:[640,512,[],"f64a","M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z"]},gt={prefix:"fas",iconName:"calculator",icon:[448,512,[],"f1ec","M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z"]},yt={prefix:"fas",iconName:"calendar",icon:[448,512,[],"f133","M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z"]},bt={prefix:"fas",iconName:"calendar-alt",icon:[448,512,[],"f073","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"]},wt={prefix:"fas",iconName:"calendar-check",icon:[448,512,[],"f274","M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z"]},xt={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"]},zt={prefix:"fas",iconName:"calendar-minus",icon:[448,512,[],"f272","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z"]},St={prefix:"fas",iconName:"calendar-plus",icon:[448,512,[],"f271","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z"]},kt={prefix:"fas",iconName:"calendar-times",icon:[448,512,[],"f273","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z"]},Mt={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"]},Ct={prefix:"fas",iconName:"camera",icon:[512,512,[],"f030","M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z"]},Ot={prefix:"fas",iconName:"camera-retro",icon:[512,512,[],"f083","M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z"]},Lt={prefix:"fas",iconName:"campground",icon:[640,512,[],"f6bb","M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z"]},Ht={prefix:"fas",iconName:"candy-cane",icon:[512,512,[],"f786","M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z"]},Nt={prefix:"fas",iconName:"cannabis",icon:[512,512,[],"f55f","M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z"]},At={prefix:"fas",iconName:"capsules",icon:[576,512,[],"f46b","M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z"]},Tt={prefix:"fas",iconName:"car",icon:[512,512,[],"f1b9","M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"]},Et={prefix:"fas",iconName:"car-alt",icon:[480,512,[],"f5de","M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"]},Vt={prefix:"fas",iconName:"car-battery",icon:[512,512,[],"f5df","M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z"]},Pt={prefix:"fas",iconName:"car-crash",icon:[640,512,[],"f5e1","M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z"]},_t={prefix:"fas",iconName:"car-side",icon:[640,512,[],"f5e4","M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"]},jt={prefix:"fas",iconName:"caravan",icon:[640,512,[],"f8ff","M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z"]},Dt={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"]},It={prefix:"fas",iconName:"caret-left",icon:[192,512,[],"f0d9","M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"]},Ft={prefix:"fas",iconName:"caret-right",icon:[192,512,[],"f0da","M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"]},Rt={prefix:"fas",iconName:"caret-square-down",icon:[448,512,[],"f150","M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z"]},qt={prefix:"fas",iconName:"caret-square-left",icon:[448,512,[],"f191","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z"]},Bt={prefix:"fas",iconName:"caret-square-right",icon:[448,512,[],"f152","M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z"]},Ut={prefix:"fas",iconName:"caret-square-up",icon:[448,512,[],"f151","M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z"]},Gt={prefix:"fas",iconName:"caret-up",icon:[320,512,[],"f0d8","M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"]},Zt={prefix:"fas",iconName:"carrot",icon:[512,512,[],"f787","M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z"]},Wt={prefix:"fas",iconName:"cart-arrow-down",icon:[576,512,[],"f218","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z"]},Jt={prefix:"fas",iconName:"cart-plus",icon:[576,512,[],"f217","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z"]},$t={prefix:"fas",iconName:"cash-register",icon:[512,512,[],"f788","M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z"]},Qt={prefix:"fas",iconName:"cat",icon:[512,512,[],"f6be","M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Yt={prefix:"fas",iconName:"certificate",icon:[512,512,[],"f0a3","M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z"]},Kt={prefix:"fas",iconName:"chair",icon:[448,512,[],"f6c0","M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z"]},Xt={prefix:"fas",iconName:"chalkboard",icon:[640,512,[],"f51b","M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},er={prefix:"fas",iconName:"chalkboard-teacher",icon:[640,512,[],"f51c","M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z"]},tr={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z"]},rr={prefix:"fas",iconName:"chart-area",icon:[512,512,[],"f1fe","M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z"]},nr={prefix:"fas",iconName:"chart-bar",icon:[512,512,[],"f080","M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},ar={prefix:"fas",iconName:"chart-line",icon:[512,512,[],"f201","M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z"]},cr={prefix:"fas",iconName:"chart-pie",icon:[544,512,[],"f200","M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"]},ir={prefix:"fas",iconName:"check",icon:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"]},or={prefix:"fas",iconName:"check-circle",icon:[512,512,[],"f058","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"]},sr={prefix:"fas",iconName:"check-double",icon:[512,512,[],"f560","M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z"]},lr={prefix:"fas",iconName:"check-square",icon:[448,512,[],"f14a","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"]},ur={prefix:"fas",iconName:"cheese",icon:[512,512,[],"f7ef","M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z"]},fr={prefix:"fas",iconName:"chess",icon:[512,512,[],"f439","M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z"]},pr={prefix:"fas",iconName:"chess-bishop",icon:[320,512,[],"f43a","M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},dr={prefix:"fas",iconName:"chess-board",icon:[512,512,[],"f43c","M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z"]},hr={prefix:"fas",iconName:"chess-king",icon:[448,512,[],"f43f","M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z"]},mr={prefix:"fas",iconName:"chess-knight",icon:[384,512,[],"f441","M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},vr={prefix:"fas",iconName:"chess-pawn",icon:[320,512,[],"f443","M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},gr={prefix:"fas",iconName:"chess-queen",icon:[512,512,[],"f445","M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z"]},yr={prefix:"fas",iconName:"chess-rook",icon:[384,512,[],"f447","M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},br={prefix:"fas",iconName:"chevron-circle-down",icon:[512,512,[],"f13a","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z"]},wr={prefix:"fas",iconName:"chevron-circle-left",icon:[512,512,[],"f137","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z"]},xr={prefix:"fas",iconName:"chevron-circle-right",icon:[512,512,[],"f138","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"]},zr={prefix:"fas",iconName:"chevron-circle-up",icon:[512,512,[],"f139","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z"]},Sr={prefix:"fas",iconName:"chevron-down",icon:[448,512,[],"f078","M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"]},kr={prefix:"fas",iconName:"chevron-left",icon:[320,512,[],"f053","M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"]},Mr={prefix:"fas",iconName:"chevron-right",icon:[320,512,[],"f054","M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"]},Cr={prefix:"fas",iconName:"chevron-up",icon:[448,512,[],"f077","M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"]},Or={prefix:"fas",iconName:"child",icon:[384,512,[],"f1ae","M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z"]},Lr={prefix:"fas",iconName:"church",icon:[640,512,[],"f51d","M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z"]},Hr={prefix:"fas",iconName:"circle",icon:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"]},Nr={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z"]},Ar={prefix:"fas",iconName:"city",icon:[640,512,[],"f64f","M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z"]},Tr={prefix:"fas",iconName:"clinic-medical",icon:[576,512,[],"f7f2","M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z"]},Er={prefix:"fas",iconName:"clipboard",icon:[384,512,[],"f328","M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z"]},Vr={prefix:"fas",iconName:"clipboard-check",icon:[384,512,[],"f46c","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z"]},Pr={prefix:"fas",iconName:"clipboard-list",icon:[384,512,[],"f46d","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"]},_r={prefix:"fas",iconName:"clock",icon:[512,512,[],"f017","M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"]},jr={prefix:"fas",iconName:"clone",icon:[512,512,[],"f24d","M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z"]},Dr={prefix:"fas",iconName:"closed-captioning",icon:[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z"]},Ir={prefix:"fas",iconName:"cloud",icon:[640,512,[],"f0c2","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z"]},Fr={prefix:"fas",iconName:"cloud-download-alt",icon:[640,512,[],"f381","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z"]},Rr={prefix:"fas",iconName:"cloud-meatball",icon:[512,512,[],"f73b","M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z"]},qr={prefix:"fas",iconName:"cloud-moon",icon:[576,512,[],"f6c3","M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z"]},Br={prefix:"fas",iconName:"cloud-moon-rain",icon:[576,512,[],"f73c","M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z"]},Ur={prefix:"fas",iconName:"cloud-rain",icon:[512,512,[],"f73d","M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z"]},Gr={prefix:"fas",iconName:"cloud-showers-heavy",icon:[512,512,[],"f740","M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z"]},Zr={prefix:"fas",iconName:"cloud-sun",icon:[640,512,[],"f6c4","M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z"]},Wr={prefix:"fas",iconName:"cloud-sun-rain",icon:[576,512,[],"f743","M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z"]},Jr={prefix:"fas",iconName:"cloud-upload-alt",icon:[640,512,[],"f382","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z"]},$r={prefix:"fas",iconName:"cocktail",icon:[576,512,[],"f561","M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z"]},Qr={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"]},Yr={prefix:"fas",iconName:"code-branch",icon:[384,512,[],"f126","M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z"]},Kr={prefix:"fas",iconName:"coffee",icon:[640,512,[],"f0f4","M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z"]},Xr={prefix:"fas",iconName:"cog",icon:[512,512,[],"f013","M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},en={prefix:"fas",iconName:"cogs",icon:[640,512,[],"f085","M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z"]},tn={prefix:"fas",iconName:"coins",icon:[512,512,[],"f51e","M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z"]},rn={prefix:"fas",iconName:"columns",icon:[512,512,[],"f0db","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"]},nn={prefix:"fas",iconName:"comment",icon:[512,512,[],"f075","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z"]},an={prefix:"fas",iconName:"comment-alt",icon:[512,512,[],"f27a","M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z"]},cn={prefix:"fas",iconName:"comment-dollar",icon:[512,512,[],"f651","M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z"]},on={prefix:"fas",iconName:"comment-dots",icon:[512,512,[],"f4ad","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},sn={prefix:"fas",iconName:"comment-medical",icon:[512,512,[],"f7f5","M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z"]},ln={prefix:"fas",iconName:"comment-slash",icon:[640,512,[],"f4b3","M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"]},un={prefix:"fas",iconName:"comments",icon:[576,512,[],"f086","M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z"]},fn={prefix:"fas",iconName:"comments-dollar",icon:[576,512,[],"f653","M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z"]},pn={prefix:"fas",iconName:"compact-disc",icon:[496,512,[],"f51f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"]},dn={prefix:"fas",iconName:"compass",icon:[496,512,[],"f14e","M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z"]},hn={prefix:"fas",iconName:"compress",icon:[448,512,[],"f066","M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"]},mn={prefix:"fas",iconName:"compress-alt",icon:[448,512,[],"f422","M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z"]},vn={prefix:"fas",iconName:"compress-arrows-alt",icon:[512,512,[],"f78c","M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"]},gn={prefix:"fas",iconName:"concierge-bell",icon:[512,512,[],"f562","M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},yn={prefix:"fas",iconName:"cookie",icon:[512,512,[],"f563","M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},bn={prefix:"fas",iconName:"cookie-bite",icon:[512,512,[],"f564","M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},wn={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},xn={prefix:"fas",iconName:"copyright",icon:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z"]},zn={prefix:"fas",iconName:"couch",icon:[640,512,[],"f4b8","M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z"]},Sn={prefix:"fas",iconName:"credit-card",icon:[576,512,[],"f09d","M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z"]},kn={prefix:"fas",iconName:"crop",icon:[512,512,[],"f125","M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},Mn={prefix:"fas",iconName:"crop-alt",icon:[512,512,[],"f565","M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z"]},Cn={prefix:"fas",iconName:"cross",icon:[384,512,[],"f654","M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},On={prefix:"fas",iconName:"crosshairs",icon:[512,512,[],"f05b","M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"]},Ln={prefix:"fas",iconName:"crow",icon:[640,512,[],"f520","M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Hn={prefix:"fas",iconName:"crown",icon:[640,512,[],"f521","M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z"]},Nn={prefix:"fas",iconName:"crutch",icon:[512,512,[],"f7f7","M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z"]},An={prefix:"fas",iconName:"cube",icon:[512,512,[],"f1b2","M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"]},Tn={prefix:"fas",iconName:"cubes",icon:[512,512,[],"f1b3","M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"]},En={prefix:"fas",iconName:"cut",icon:[448,512,[],"f0c4","M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"]},Vn={prefix:"fas",iconName:"database",icon:[448,512,[],"f1c0","M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"]},Pn={prefix:"fas",iconName:"deaf",icon:[512,512,[],"f2a4","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z"]},_n={prefix:"fas",iconName:"democrat",icon:[640,512,[],"f747","M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z"]},jn={prefix:"fas",iconName:"desktop",icon:[576,512,[],"f108","M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"]},Dn={prefix:"fas",iconName:"dharmachakra",icon:[512,512,[],"f655","M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z"]},In={prefix:"fas",iconName:"diagnoses",icon:[640,512,[],"f470","M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},Fn={prefix:"fas",iconName:"dice",icon:[640,512,[],"f522","M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Rn={prefix:"fas",iconName:"dice-d20",icon:[480,512,[],"f6cf","M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z"]},qn={prefix:"fas",iconName:"dice-d6",icon:[448,512,[],"f6d1","M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z"]},Bn={prefix:"fas",iconName:"dice-five",icon:[448,512,[],"f523","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Un={prefix:"fas",iconName:"dice-four",icon:[448,512,[],"f524","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Gn={prefix:"fas",iconName:"dice-one",icon:[448,512,[],"f525","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Zn={prefix:"fas",iconName:"dice-six",icon:[448,512,[],"f526","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Wn={prefix:"fas",iconName:"dice-three",icon:[448,512,[],"f527","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Jn={prefix:"fas",iconName:"dice-two",icon:[448,512,[],"f528","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},$n={prefix:"fas",iconName:"digital-tachograph",icon:[640,512,[],"f566","M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z"]},Qn={prefix:"fas",iconName:"directions",icon:[512,512,[],"f5eb","M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z"]},Yn={prefix:"fas",iconName:"disease",icon:[512,512,[],"f7fa","M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z"]},Kn={prefix:"fas",iconName:"divide",icon:[448,512,[],"f529","M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Xn={prefix:"fas",iconName:"dizzy",icon:[496,512,[],"f567","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z"]},ea={prefix:"fas",iconName:"dna",icon:[448,512,[],"f471","M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z"]},ta={prefix:"fas",iconName:"dog",icon:[576,512,[],"f6d3","M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z"]},ra={prefix:"fas",iconName:"dollar-sign",icon:[288,512,[],"f155","M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z"]},na={prefix:"fas",iconName:"dolly",icon:[576,512,[],"f472","M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},aa={prefix:"fas",iconName:"dolly-flatbed",icon:[640,512,[],"f474","M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},ca={prefix:"fas",iconName:"donate",icon:[512,512,[],"f4b9","M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z"]},ia={prefix:"fas",iconName:"door-closed",icon:[640,512,[],"f52a","M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z"]},oa={prefix:"fas",iconName:"door-open",icon:[640,512,[],"f52b","M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"]},sa={prefix:"fas",iconName:"dot-circle",icon:[512,512,[],"f192","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z"]},la={prefix:"fas",iconName:"dove",icon:[512,512,[],"f4ba","M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},ua={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},fa={prefix:"fas",iconName:"drafting-compass",icon:[512,512,[],"f568","M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z"]},pa={prefix:"fas",iconName:"dragon",icon:[640,512,[],"f6d5","M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z"]},da={prefix:"fas",iconName:"draw-polygon",icon:[448,512,[],"f5ee","M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z"]},ha={prefix:"fas",iconName:"drum",icon:[512,512,[],"f569","M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z"]},ma={prefix:"fas",iconName:"drum-steelpan",icon:[576,512,[],"f56a","M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z"]},va={prefix:"fas",iconName:"drumstick-bite",icon:[512,512,[],"f6d7","M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z"]},ga={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z"]},ya={prefix:"fas",iconName:"dumpster",icon:[576,512,[],"f793","M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},ba={prefix:"fas",iconName:"dumpster-fire",icon:[640,512,[],"f794","M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z"]},wa={prefix:"fas",iconName:"dungeon",icon:[512,512,[],"f6d9","M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z"]},xa={prefix:"fas",iconName:"edit",icon:[576,512,[],"f044","M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z"]},za={prefix:"fas",iconName:"egg",icon:[384,512,[],"f7fb","M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z"]},Sa={prefix:"fas",iconName:"eject",icon:[448,512,[],"f052","M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z"]},ka={prefix:"fas",iconName:"ellipsis-h",icon:[512,512,[],"f141","M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"]},Ma={prefix:"fas",iconName:"ellipsis-v",icon:[192,512,[],"f142","M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"]},Ca={prefix:"fas",iconName:"envelope",icon:[512,512,[],"f0e0","M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"]},Oa={prefix:"fas",iconName:"envelope-open",icon:[512,512,[],"f2b6","M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z"]},La={prefix:"fas",iconName:"envelope-open-text",icon:[512,512,[],"f658","M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z"]},Ha={prefix:"fas",iconName:"envelope-square",icon:[448,512,[],"f199","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z"]},Na={prefix:"fas",iconName:"equals",icon:[448,512,[],"f52c","M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Aa={prefix:"fas",iconName:"eraser",icon:[512,512,[],"f12d","M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"]},Ta={prefix:"fas",iconName:"ethernet",icon:[512,512,[],"f796","M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z"]},Ea={prefix:"fas",iconName:"euro-sign",icon:[320,512,[],"f153","M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z"]},Va={prefix:"fas",iconName:"exchange-alt",icon:[512,512,[],"f362","M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"]},Pa={prefix:"fas",iconName:"exclamation",icon:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"]},_a={prefix:"fas",iconName:"exclamation-circle",icon:[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},ja={prefix:"fas",iconName:"exclamation-triangle",icon:[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},Da={prefix:"fas",iconName:"expand",icon:[448,512,[],"f065","M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"]},Ia={prefix:"fas",iconName:"expand-alt",icon:[448,512,[],"f424","M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z"]},Fa={prefix:"fas",iconName:"expand-arrows-alt",icon:[448,512,[],"f31e","M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"]},Ra={prefix:"fas",iconName:"external-link-alt",icon:[512,512,[],"f35d","M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"]},qa={prefix:"fas",iconName:"external-link-square-alt",icon:[448,512,[],"f360","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z"]},Ba={prefix:"fas",iconName:"eye",icon:[576,512,[],"f06e","M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"]},Ua={prefix:"fas",iconName:"eye-dropper",icon:[512,512,[],"f1fb","M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"]},Ga={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"]},Za={prefix:"fas",iconName:"fan",icon:[512,512,[],"f863","M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"]},Wa={prefix:"fas",iconName:"fast-backward",icon:[512,512,[],"f049","M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z"]},Ja={prefix:"fas",iconName:"fast-forward",icon:[512,512,[],"f050","M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z"]},$a={prefix:"fas",iconName:"faucet",icon:[512,512,[],"e005","M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z"]},Qa={prefix:"fas",iconName:"fax",icon:[512,512,[],"f1ac","M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z"]},Ya={prefix:"fas",iconName:"feather",icon:[512,512,[],"f52d","M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z"]},Ka={prefix:"fas",iconName:"feather-alt",icon:[512,512,[],"f56b","M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z"]},Xa={prefix:"fas",iconName:"female",icon:[256,512,[],"f182","M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z"]},ec={prefix:"fas",iconName:"fighter-jet",icon:[640,512,[],"f0fb","M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z"]},tc={prefix:"fas",iconName:"file",icon:[384,512,[],"f15b","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},rc={prefix:"fas",iconName:"file-alt",icon:[384,512,[],"f15c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},nc={prefix:"fas",iconName:"file-archive",icon:[384,512,[],"f1c6","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z"]},ac={prefix:"fas",iconName:"file-audio",icon:[384,512,[],"f1c7","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},cc={prefix:"fas",iconName:"file-code",icon:[384,512,[],"f1c9","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z"]},ic={prefix:"fas",iconName:"file-contract",icon:[384,512,[],"f56c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},oc={prefix:"fas",iconName:"file-csv",icon:[384,512,[],"f6dd","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},sc={prefix:"fas",iconName:"file-download",icon:[384,512,[],"f56d","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},lc={prefix:"fas",iconName:"file-excel",icon:[384,512,[],"f1c3","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},uc={prefix:"fas",iconName:"file-export",icon:[576,512,[],"f56e","M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z"]},fc={prefix:"fas",iconName:"file-image",icon:[384,512,[],"f1c5","M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z"]},pc={prefix:"fas",iconName:"file-import",icon:[512,512,[],"f56f","M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"]},dc={prefix:"fas",iconName:"file-invoice",icon:[384,512,[],"f570","M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z"]},hc={prefix:"fas",iconName:"file-invoice-dollar",icon:[384,512,[],"f571","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z"]},mc={prefix:"fas",iconName:"file-medical",icon:[384,512,[],"f477","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z"]},vc={prefix:"fas",iconName:"file-medical-alt",icon:[448,512,[],"f478","M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},gc={prefix:"fas",iconName:"file-pdf",icon:[384,512,[],"f1c1","M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"]},yc={prefix:"fas",iconName:"file-powerpoint",icon:[384,512,[],"f1c4","M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z"]},bc={prefix:"fas",iconName:"file-prescription",icon:[384,512,[],"f572","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},wc={prefix:"fas",iconName:"file-signature",icon:[576,512,[],"f573","M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z"]},xc={prefix:"fas",iconName:"file-upload",icon:[384,512,[],"f574","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},zc={prefix:"fas",iconName:"file-video",icon:[384,512,[],"f1c8","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z"]},Sc={prefix:"fas",iconName:"file-word",icon:[384,512,[],"f1c2","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},kc={prefix:"fas",iconName:"fill",icon:[512,512,[],"f575","M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z"]},Mc={prefix:"fas",iconName:"fill-drip",icon:[576,512,[],"f576","M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"]},Cc={prefix:"fas",iconName:"film",icon:[512,512,[],"f008","M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"]},Oc={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"]},Lc={prefix:"fas",iconName:"fingerprint",icon:[512,512,[],"f577","M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z"]},Hc={prefix:"fas",iconName:"fire",icon:[384,512,[],"f06d","M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z"]},Nc={prefix:"fas",iconName:"fire-alt",icon:[448,512,[],"f7e4","M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z"]},Ac={prefix:"fas",iconName:"fire-extinguisher",icon:[448,512,[],"f134","M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z"]},Tc={prefix:"fas",iconName:"first-aid",icon:[576,512,[],"f479","M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},Ec={prefix:"fas",iconName:"fish",icon:[576,512,[],"f578","M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"]},Vc={prefix:"fas",iconName:"fist-raised",icon:[384,512,[],"f6de","M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z"]},Pc={prefix:"fas",iconName:"flag",icon:[512,512,[],"f024","M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"]},_c={prefix:"fas",iconName:"flag-checkered",icon:[512,512,[],"f11e","M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"]},jc={prefix:"fas",iconName:"flag-usa",icon:[512,512,[],"f74d","M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z"]},Dc={prefix:"fas",iconName:"flask",icon:[448,512,[],"f0c3","M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"]},Ic={prefix:"fas",iconName:"flushed",icon:[496,512,[],"f579","M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z"]},Fc={prefix:"fas",iconName:"folder",icon:[512,512,[],"f07b","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"]},Rc={prefix:"fas",iconName:"folder-minus",icon:[512,512,[],"f65d","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z"]},qc={prefix:"fas",iconName:"folder-open",icon:[576,512,[],"f07c","M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"]},Bc={prefix:"fas",iconName:"folder-plus",icon:[512,512,[],"f65e","M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z"]},Uc={prefix:"fas",iconName:"font",icon:[448,512,[],"f031","M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z"]},Gc={prefix:"fas",iconName:"font-awesome-logo-full",icon:[3992,512,["Font Awesome"],"f4e6","M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"]},Zc={prefix:"fas",iconName:"football-ball",icon:[496,512,[],"f44e","M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z"]},Wc={prefix:"fas",iconName:"forward",icon:[512,512,[],"f04e","M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z"]},Jc={prefix:"fas",iconName:"frog",icon:[576,512,[],"f52e","M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"]},$c={prefix:"fas",iconName:"frown",icon:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z"]},Qc={prefix:"fas",iconName:"frown-open",icon:[496,512,[],"f57a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Yc={prefix:"fas",iconName:"funnel-dollar",icon:[640,512,[],"f662","M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z"]},Kc={prefix:"fas",iconName:"futbol",icon:[512,512,[],"f1e3","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z"]},Xc={prefix:"fas",iconName:"gamepad",icon:[640,512,[],"f11b","M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z"]},ei={prefix:"fas",iconName:"gas-pump",icon:[512,512,[],"f52f","M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z"]},ti={prefix:"fas",iconName:"gavel",icon:[512,512,[],"f0e3","M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z"]},ri={prefix:"fas",iconName:"gem",icon:[576,512,[],"f3a5","M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z"]},ni={prefix:"fas",iconName:"genderless",icon:[288,512,[],"f22d","M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z"]},ai={prefix:"fas",iconName:"ghost",icon:[384,512,[],"f6e2","M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},ci={prefix:"fas",iconName:"gift",icon:[512,512,[],"f06b","M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z"]},ii={prefix:"fas",iconName:"gifts",icon:[640,512,[],"f79c","M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z"]},oi={prefix:"fas",iconName:"glass-cheers",icon:[640,512,[],"f79f","M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z"]},si={prefix:"fas",iconName:"glass-martini",icon:[512,512,[],"f000","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z"]},li={prefix:"fas",iconName:"glass-martini-alt",icon:[512,512,[],"f57b","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z"]},ui={prefix:"fas",iconName:"glass-whiskey",icon:[512,512,[],"f7a0","M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z"]},fi={prefix:"fas",iconName:"glasses",icon:[576,512,[],"f530","M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z"]},pi={prefix:"fas",iconName:"globe",icon:[496,512,[],"f0ac","M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"]},di={prefix:"fas",iconName:"globe-africa",icon:[496,512,[],"f57c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z"]},hi={prefix:"fas",iconName:"globe-americas",icon:[496,512,[],"f57d","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z"]},mi={prefix:"fas",iconName:"globe-asia",icon:[496,512,[],"f57e","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z"]},vi={prefix:"fas",iconName:"globe-europe",icon:[496,512,[],"f7a2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z"]},gi={prefix:"fas",iconName:"golf-ball",icon:[416,512,[],"f450","M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z"]},yi={prefix:"fas",iconName:"gopuram",icon:[512,512,[],"f664","M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z"]},bi={prefix:"fas",iconName:"graduation-cap",icon:[640,512,[],"f19d","M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z"]},wi={prefix:"fas",iconName:"greater-than",icon:[384,512,[],"f531","M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z"]},xi={prefix:"fas",iconName:"greater-than-equal",icon:[448,512,[],"f532","M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},zi={prefix:"fas",iconName:"grimace",icon:[496,512,[],"f57f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z"]},Si={prefix:"fas",iconName:"grin",icon:[496,512,[],"f580","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},ki={prefix:"fas",iconName:"grin-alt",icon:[496,512,[],"f581","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Mi={prefix:"fas",iconName:"grin-beam",icon:[496,512,[],"f582","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Ci={prefix:"fas",iconName:"grin-beam-sweat",icon:[504,512,[],"f583","M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Oi={prefix:"fas",iconName:"grin-hearts",icon:[496,512,[],"f584","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z"]},Li={prefix:"fas",iconName:"grin-squint",icon:[496,512,[],"f585","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Hi={prefix:"fas",iconName:"grin-squint-tears",icon:[512,512,[],"f586","M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z"]},Ni={prefix:"fas",iconName:"grin-stars",icon:[496,512,[],"f587","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"]},Ai={prefix:"fas",iconName:"grin-tears",icon:[640,512,[],"f588","M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Ti={prefix:"fas",iconName:"grin-tongue",icon:[496,512,[],"f589","M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"]},Ei={prefix:"fas",iconName:"grin-tongue-squint",icon:[496,512,[],"f58a","M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z"]},Vi={prefix:"fas",iconName:"grin-tongue-wink",icon:[496,512,[],"f58b","M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"]},Pi={prefix:"fas",iconName:"grin-wink",icon:[496,512,[],"f58c","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z"]},_i={prefix:"fas",iconName:"grip-horizontal",icon:[448,512,[],"f58d","M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},ji={prefix:"fas",iconName:"grip-lines",icon:[512,512,[],"f7a4","M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},Di={prefix:"fas",iconName:"grip-lines-vertical",icon:[256,512,[],"f7a5","M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z"]},Ii={prefix:"fas",iconName:"grip-vertical",icon:[320,512,[],"f58e","M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},Fi={prefix:"fas",iconName:"guitar",icon:[512,512,[],"f7a6","M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z"]},Ri={prefix:"fas",iconName:"h-square",icon:[448,512,[],"f0fd","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z"]},qi={prefix:"fas",iconName:"hamburger",icon:[512,512,[],"f805","M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z"]},Bi={prefix:"fas",iconName:"hammer",icon:[576,512,[],"f6e3","M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z"]},Ui={prefix:"fas",iconName:"hamsa",icon:[512,512,[],"f665","M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},Gi={prefix:"fas",iconName:"hand-holding",icon:[576,512,[],"f4bd","M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},Zi={prefix:"fas",iconName:"hand-holding-heart",icon:[576,512,[],"f4be","M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},Wi={prefix:"fas",iconName:"hand-holding-medical",icon:[576,512,[],"e05c","M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z"]},Ji={prefix:"fas",iconName:"hand-holding-usd",icon:[576,512,[],"f4c0","M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z"]},$i={prefix:"fas",iconName:"hand-holding-water",icon:[576,512,[],"f4c1","M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},Qi={prefix:"fas",iconName:"hand-lizard",icon:[576,512,[],"f258","M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z"]},Yi={prefix:"fas",iconName:"hand-middle-finger",icon:[512,512,[],"f806","M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z"]},Ki={prefix:"fas",iconName:"hand-paper",icon:[448,512,[],"f256","M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z"]},Xi={prefix:"fas",iconName:"hand-peace",icon:[448,512,[],"f25b","M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z"]},eo={prefix:"fas",iconName:"hand-point-down",icon:[384,512,[],"f0a7","M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"]},to={prefix:"fas",iconName:"hand-point-left",icon:[512,512,[],"f0a5","M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z"]},ro={prefix:"fas",iconName:"hand-point-right",icon:[512,512,[],"f0a4","M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"]},no={prefix:"fas",iconName:"hand-point-up",icon:[384,512,[],"f0a6","M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z"]},ao={prefix:"fas",iconName:"hand-pointer",icon:[448,512,[],"f25a","M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z"]},co={prefix:"fas",iconName:"hand-rock",icon:[512,512,[],"f255","M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z"]},io={prefix:"fas",iconName:"hand-scissors",icon:[512,512,[],"f257","M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z"]},oo={prefix:"fas",iconName:"hand-sparkles",icon:[640,512,[],"e05d","M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z"]},so={prefix:"fas",iconName:"hand-spock",icon:[512,512,[],"f259","M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z"]},lo={prefix:"fas",iconName:"hands",icon:[640,512,[],"f4c2","M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z"]},uo={prefix:"fas",iconName:"hands-helping",icon:[640,512,[],"f4c4","M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z"]},fo={prefix:"fas",iconName:"hands-wash",icon:[576,512,[],"e05e","M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z"]},po={prefix:"fas",iconName:"handshake",icon:[640,512,[],"f2b5","M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z"]},ho={prefix:"fas",iconName:"handshake-alt-slash",icon:[640,512,[],"e05f","M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z"]},mo={prefix:"fas",iconName:"handshake-slash",icon:[640,512,[],"e060","M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z"]},vo={prefix:"fas",iconName:"hanukiah",icon:[640,512,[],"f6e6","M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z"]},go={prefix:"fas",iconName:"hard-hat",icon:[512,512,[],"f807","M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},yo={prefix:"fas",iconName:"hashtag",icon:[448,512,[],"f292","M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z"]},bo={prefix:"fas",iconName:"hat-cowboy",icon:[640,512,[],"f8c0","M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z"]},wo={prefix:"fas",iconName:"hat-cowboy-side",icon:[640,512,[],"f8c1","M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z"]},xo={prefix:"fas",iconName:"hat-wizard",icon:[512,512,[],"f6e8","M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z"]},zo={prefix:"fas",iconName:"hdd",icon:[576,512,[],"f0a0","M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"]},So={prefix:"fas",iconName:"head-side-cough",icon:[640,512,[],"e061","M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z"]},ko={prefix:"fas",iconName:"head-side-cough-slash",icon:[640,512,[],"e062","M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z"]},Mo={prefix:"fas",iconName:"head-side-mask",icon:[512,512,[],"e063","M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z"]},Co={prefix:"fas",iconName:"head-side-virus",icon:[512,512,[],"e064","M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z"]},Oo={prefix:"fas",iconName:"heading",icon:[512,512,[],"f1dc","M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z"]},Lo={prefix:"fas",iconName:"headphones",icon:[512,512,[],"f025","M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z"]},Ho={prefix:"fas",iconName:"headphones-alt",icon:[512,512,[],"f58f","M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z"]},No={prefix:"fas",iconName:"headset",icon:[512,512,[],"f590","M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z"]},Ao={prefix:"fas",iconName:"heart",icon:[512,512,[],"f004","M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"]},To={prefix:"fas",iconName:"heart-broken",icon:[512,512,[],"f7a9","M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z"]},Eo={prefix:"fas",iconName:"heartbeat",icon:[512,512,[],"f21e","M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z"]},Vo={prefix:"fas",iconName:"helicopter",icon:[640,512,[],"f533","M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z"]},Po={prefix:"fas",iconName:"highlighter",icon:[544,512,[],"f591","M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"]},_o={prefix:"fas",iconName:"hiking",icon:[384,512,[],"f6ec","M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z"]},jo={prefix:"fas",iconName:"hippo",icon:[640,512,[],"f6ed","M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Do={prefix:"fas",iconName:"history",icon:[512,512,[],"f1da","M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"]},Io={prefix:"fas",iconName:"hockey-puck",icon:[512,512,[],"f453","M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z"]},Fo={prefix:"fas",iconName:"holly-berry",icon:[448,512,[],"f7aa","M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z"]},Ro={prefix:"fas",iconName:"home",icon:[576,512,[],"f015","M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"]},qo={prefix:"fas",iconName:"horse",icon:[576,512,[],"f6f0","M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Bo={prefix:"fas",iconName:"horse-head",icon:[512,512,[],"f7ab","M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z"]},Uo={prefix:"fas",iconName:"hospital",icon:[448,512,[],"f0f8","M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z"]},Go={prefix:"fas",iconName:"hospital-alt",icon:[576,512,[],"f47d","M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"]},Zo={prefix:"fas",iconName:"hospital-symbol",icon:[512,512,[],"f47e","M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z"]},Wo={prefix:"fas",iconName:"hospital-user",icon:[640,512,[],"f80d","M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z"]},Jo={prefix:"fas",iconName:"hot-tub",icon:[512,512,[],"f593","M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z"]},$o={prefix:"fas",iconName:"hotdog",icon:[512,512,[],"f80f","M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z"]},Qo={prefix:"fas",iconName:"hotel",icon:[576,512,[],"f594","M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"]},Yo={prefix:"fas",iconName:"hourglass",icon:[384,512,[],"f254","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z"]},Ko={prefix:"fas",iconName:"hourglass-end",icon:[384,512,[],"f253","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z"]},Xo={prefix:"fas",iconName:"hourglass-half",icon:[384,512,[],"f252","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"]},es={prefix:"fas",iconName:"hourglass-start",icon:[384,512,[],"f251","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z"]},ts={prefix:"fas",iconName:"house-damage",icon:[576,512,[],"f6f1","M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z"]},rs={prefix:"fas",iconName:"house-user",icon:[576,512,[],"e065","M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z"]},ns={prefix:"fas",iconName:"hryvnia",icon:[384,512,[],"f6f2","M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z"]},as={prefix:"fas",iconName:"i-cursor",icon:[256,512,[],"f246","M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z"]},cs={prefix:"fas",iconName:"ice-cream",icon:[448,512,[],"f810","M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z"]},is={prefix:"fas",iconName:"icicles",icon:[512,512,[],"f7ad","M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z"]},os={prefix:"fas",iconName:"icons",icon:[512,512,[],"f86d","M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z"]},ss={prefix:"fas",iconName:"id-badge",icon:[384,512,[],"f2c1","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},ls={prefix:"fas",iconName:"id-card",icon:[576,512,[],"f2c2","M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z"]},us={prefix:"fas",iconName:"id-card-alt",icon:[576,512,[],"f47f","M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z"]},fs={prefix:"fas",iconName:"igloo",icon:[576,512,[],"f7ae","M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z"]},ps={prefix:"fas",iconName:"image",icon:[512,512,[],"f03e","M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"]},ds={prefix:"fas",iconName:"images",icon:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"]},hs={prefix:"fas",iconName:"inbox",icon:[576,512,[],"f01c","M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z"]},ms={prefix:"fas",iconName:"indent",icon:[448,512,[],"f03c","M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},vs={prefix:"fas",iconName:"industry",icon:[512,512,[],"f275","M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z"]},gs={prefix:"fas",iconName:"infinity",icon:[640,512,[],"f534","M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z"]},ys={prefix:"fas",iconName:"info",icon:[192,512,[],"f129","M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"]},bs={prefix:"fas",iconName:"info-circle",icon:[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"]},ws={prefix:"fas",iconName:"italic",icon:[320,512,[],"f033","M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"]},xs={prefix:"fas",iconName:"jedi",icon:[576,512,[],"f669","M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z"]},zs={prefix:"fas",iconName:"joint",icon:[640,512,[],"f595","M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z"]},Ss={prefix:"fas",iconName:"journal-whills",icon:[448,512,[],"f66a","M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z"]},ks={prefix:"fas",iconName:"kaaba",icon:[576,512,[],"f66b","M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z"]},Ms={prefix:"fas",iconName:"key",icon:[512,512,[],"f084","M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"]},Cs={prefix:"fas",iconName:"keyboard",icon:[576,512,[],"f11c","M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"]},Os={prefix:"fas",iconName:"khanda",icon:[512,512,[],"f66d","M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z"]},Ls={prefix:"fas",iconName:"kiss",icon:[496,512,[],"f596","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Hs={prefix:"fas",iconName:"kiss-beam",icon:[496,512,[],"f597","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z"]},Ns={prefix:"fas",iconName:"kiss-wink-heart",icon:[504,512,[],"f598","M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z"]},As={prefix:"fas",iconName:"kiwi-bird",icon:[576,512,[],"f535","M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z"]},Ts={prefix:"fas",iconName:"landmark",icon:[512,512,[],"f66f","M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},Es={prefix:"fas",iconName:"language",icon:[640,512,[],"f1ab","M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"]},Vs={prefix:"fas",iconName:"laptop",icon:[640,512,[],"f109","M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"]},Ps={prefix:"fas",iconName:"laptop-code",icon:[640,512,[],"f5fc","M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"]},_s={prefix:"fas",iconName:"laptop-house",icon:[640,512,[],"e066","M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z"]},js={prefix:"fas",iconName:"laptop-medical",icon:[640,512,[],"f812","M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z"]},Ds={prefix:"fas",iconName:"laugh",icon:[496,512,[],"f599","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z"]},Is={prefix:"fas",iconName:"laugh-beam",icon:[496,512,[],"f59a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},Fs={prefix:"fas",iconName:"laugh-squint",icon:[496,512,[],"f59b","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},Rs={prefix:"fas",iconName:"laugh-wink",icon:[496,512,[],"f59c","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},qs={prefix:"fas",iconName:"layer-group",icon:[512,512,[],"f5fd","M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"]},Bs={prefix:"fas",iconName:"leaf",icon:[576,512,[],"f06c","M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z"]},Us={prefix:"fas",iconName:"lemon",icon:[512,512,[],"f094","M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z"]},Gs={prefix:"fas",iconName:"less-than",icon:[384,512,[],"f536","M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z"]},Zs={prefix:"fas",iconName:"less-than-equal",icon:[448,512,[],"f537","M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},Ws={prefix:"fas",iconName:"level-down-alt",icon:[320,512,[],"f3be","M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z"]},Js={prefix:"fas",iconName:"level-up-alt",icon:[320,512,[],"f3bf","M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z"]},$s={prefix:"fas",iconName:"life-ring",icon:[512,512,[],"f1cd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z"]},Qs={prefix:"fas",iconName:"lightbulb",icon:[352,512,[],"f0eb","M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"]},Ys={prefix:"fas",iconName:"link",icon:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"]},Ks={prefix:"fas",iconName:"lira-sign",icon:[384,512,[],"f195","M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z"]},Xs={prefix:"fas",iconName:"list",icon:[512,512,[],"f03a","M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},el={prefix:"fas",iconName:"list-alt",icon:[512,512,[],"f022","M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z"]},tl={prefix:"fas",iconName:"list-ol",icon:[512,512,[],"f0cb","M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z"]},rl={prefix:"fas",iconName:"list-ul",icon:[512,512,[],"f0ca","M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},nl={prefix:"fas",iconName:"location-arrow",icon:[512,512,[],"f124","M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z"]},al={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},cl={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z"]},il={prefix:"fas",iconName:"long-arrow-alt-down",icon:[256,512,[],"f309","M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z"]},ol={prefix:"fas",iconName:"long-arrow-alt-left",icon:[448,512,[],"f30a","M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z"]},sl={prefix:"fas",iconName:"long-arrow-alt-right",icon:[448,512,[],"f30b","M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"]},ll={prefix:"fas",iconName:"long-arrow-alt-up",icon:[256,512,[],"f30c","M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z"]},ul={prefix:"fas",iconName:"low-vision",icon:[576,512,[],"f2a8","M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z"]},fl={prefix:"fas",iconName:"luggage-cart",icon:[640,512,[],"f59d","M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z"]},pl={prefix:"fas",iconName:"lungs",icon:[640,512,[],"f604","M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z"]},dl={prefix:"fas",iconName:"lungs-virus",icon:[640,512,[],"e067","M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z"]},hl={prefix:"fas",iconName:"magic",icon:[512,512,[],"f0d0","M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z"]},ml={prefix:"fas",iconName:"magnet",icon:[512,512,[],"f076","M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z"]},vl={prefix:"fas",iconName:"mail-bulk",icon:[576,512,[],"f674","M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z"]},gl={prefix:"fas",iconName:"male",icon:[192,512,[],"f183","M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z"]},yl={prefix:"fas",iconName:"map",icon:[576,512,[],"f279","M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z"]},bl={prefix:"fas",iconName:"map-marked",icon:[576,512,[],"f59f","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"]},wl={prefix:"fas",iconName:"map-marked-alt",icon:[576,512,[],"f5a0","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"]},xl={prefix:"fas",iconName:"map-marker",icon:[384,512,[],"f041","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z"]},zl={prefix:"fas",iconName:"map-marker-alt",icon:[384,512,[],"f3c5","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"]},Sl={prefix:"fas",iconName:"map-pin",icon:[288,512,[],"f276","M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z"]},kl={prefix:"fas",iconName:"map-signs",icon:[512,512,[],"f277","M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z"]},Ml={prefix:"fas",iconName:"marker",icon:[512,512,[],"f5a1","M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z"]},Cl={prefix:"fas",iconName:"mars",icon:[384,512,[],"f222","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Ol={prefix:"fas",iconName:"mars-double",icon:[512,512,[],"f227","M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z"]},Ll={prefix:"fas",iconName:"mars-stroke",icon:[384,512,[],"f229","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Hl={prefix:"fas",iconName:"mars-stroke-h",icon:[480,512,[],"f22b","M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"]},Nl={prefix:"fas",iconName:"mars-stroke-v",icon:[288,512,[],"f22a","M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"]},Al={prefix:"fas",iconName:"mask",icon:[640,512,[],"f6fa","M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"]},Tl={prefix:"fas",iconName:"medal",icon:[512,512,[],"f5a2","M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z"]},El={prefix:"fas",iconName:"medkit",icon:[512,512,[],"f0fa","M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z"]},Vl={prefix:"fas",iconName:"meh",icon:[496,512,[],"f11a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Pl={prefix:"fas",iconName:"meh-blank",icon:[496,512,[],"f5a4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},_l={prefix:"fas",iconName:"meh-rolling-eyes",icon:[496,512,[],"f5a5","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z"]},jl={prefix:"fas",iconName:"memory",icon:[640,512,[],"f538","M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z"]},Dl={prefix:"fas",iconName:"menorah",icon:[640,512,[],"f676","M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z"]},Il={prefix:"fas",iconName:"mercury",icon:[288,512,[],"f223","M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"]},Fl={prefix:"fas",iconName:"meteor",icon:[512,512,[],"f753","M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z"]},Rl={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z"]},ql={prefix:"fas",iconName:"microphone",icon:[352,512,[],"f130","M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z"]},Bl={prefix:"fas",iconName:"microphone-alt",icon:[352,512,[],"f3c9","M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z"]},Ul={prefix:"fas",iconName:"microphone-alt-slash",icon:[640,512,[],"f539","M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"]},Gl={prefix:"fas",iconName:"microphone-slash",icon:[640,512,[],"f131","M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"]},Zl={prefix:"fas",iconName:"microscope",icon:[512,512,[],"f610","M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z"]},Wl={prefix:"fas",iconName:"minus",icon:[448,512,[],"f068","M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Jl={prefix:"fas",iconName:"minus-circle",icon:[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"]},$l={prefix:"fas",iconName:"minus-square",icon:[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"]},Ql={prefix:"fas",iconName:"mitten",icon:[448,512,[],"f7b5","M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z"]},Yl={prefix:"fas",iconName:"mobile",icon:[320,512,[],"f10b","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Kl={prefix:"fas",iconName:"mobile-alt",icon:[320,512,[],"f3cd","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z"]},Xl={prefix:"fas",iconName:"money-bill",icon:[640,512,[],"f0d6","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},eu={prefix:"fas",iconName:"money-bill-alt",icon:[640,512,[],"f3d1","M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},tu={prefix:"fas",iconName:"money-bill-wave",icon:[640,512,[],"f53a","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z"]},ru={prefix:"fas",iconName:"money-bill-wave-alt",icon:[640,512,[],"f53b","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z"]},nu={prefix:"fas",iconName:"money-check",icon:[640,512,[],"f53c","M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z"]},au={prefix:"fas",iconName:"money-check-alt",icon:[640,512,[],"f53d","M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z"]},cu={prefix:"fas",iconName:"monument",icon:[384,512,[],"f5a6","M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"]},iu={prefix:"fas",iconName:"moon",icon:[512,512,[],"f186","M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"]},ou={prefix:"fas",iconName:"mortar-pestle",icon:[512,512,[],"f5a7","M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},su={prefix:"fas",iconName:"mosque",icon:[640,512,[],"f678","M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z"]},lu={prefix:"fas",iconName:"motorcycle",icon:[640,512,[],"f21c","M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z"]},uu={prefix:"fas",iconName:"mountain",icon:[640,512,[],"f6fc","M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z"]},fu={prefix:"fas",iconName:"mouse",icon:[384,512,[],"f8cc","M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z"]},pu={prefix:"fas",iconName:"mouse-pointer",icon:[320,512,[],"f245","M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z"]},du={prefix:"fas",iconName:"mug-hot",icon:[512,512,[],"f7b6","M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z"]},hu={prefix:"fas",iconName:"music",icon:[512,512,[],"f001","M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z"]},mu={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z"]},vu={prefix:"fas",iconName:"neuter",icon:[288,512,[],"f22c","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},gu={prefix:"fas",iconName:"newspaper",icon:[576,512,[],"f1ea","M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z"]},yu={prefix:"fas",iconName:"not-equal",icon:[448,512,[],"f53e","M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z"]},bu={prefix:"fas",iconName:"notes-medical",icon:[384,512,[],"f481","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z"]},wu={prefix:"fas",iconName:"object-group",icon:[512,512,[],"f247","M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z"]},xu={prefix:"fas",iconName:"object-ungroup",icon:[576,512,[],"f248","M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z"]},zu={prefix:"fas",iconName:"oil-can",icon:[640,512,[],"f613","M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z"]},Su={prefix:"fas",iconName:"om",icon:[512,512,[],"f679","M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z"]},ku={prefix:"fas",iconName:"otter",icon:[640,512,[],"f700","M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z"]},Mu={prefix:"fas",iconName:"outdent",icon:[448,512,[],"f03b","M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Cu={prefix:"fas",iconName:"pager",icon:[512,512,[],"f815","M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z"]},Ou={prefix:"fas",iconName:"paint-brush",icon:[512,512,[],"f1fc","M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"]},Lu={prefix:"fas",iconName:"paint-roller",icon:[512,512,[],"f5aa","M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z"]},Hu={prefix:"fas",iconName:"palette",icon:[512,512,[],"f53f","M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Nu={prefix:"fas",iconName:"pallet",icon:[640,512,[],"f482","M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z"]},Au={prefix:"fas",iconName:"paper-plane",icon:[512,512,[],"f1d8","M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z"]},Tu={prefix:"fas",iconName:"paperclip",icon:[448,512,[],"f0c6","M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z"]},Eu={prefix:"fas",iconName:"parachute-box",icon:[512,512,[],"f4cd","M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z"]},Vu={prefix:"fas",iconName:"paragraph",icon:[448,512,[],"f1dd","M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z"]},Pu={prefix:"fas",iconName:"parking",icon:[448,512,[],"f540","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z"]},_u={prefix:"fas",iconName:"passport",icon:[448,512,[],"f5ab","M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z"]},ju={prefix:"fas",iconName:"pastafarianism",icon:[640,512,[],"f67b","M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z"]},Du={prefix:"fas",iconName:"paste",icon:[448,512,[],"f0ea","M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z"]},Iu={prefix:"fas",iconName:"pause",icon:[448,512,[],"f04c","M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z"]},Fu={prefix:"fas",iconName:"pause-circle",icon:[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z"]},Ru={prefix:"fas",iconName:"paw",icon:[512,512,[],"f1b0","M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z"]},qu={prefix:"fas",iconName:"peace",icon:[496,512,[],"f67c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z"]},Bu={prefix:"fas",iconName:"pen",icon:[512,512,[],"f304","M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z"]},Uu={prefix:"fas",iconName:"pen-alt",icon:[512,512,[],"f305","M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z"]},Gu={prefix:"fas",iconName:"pen-fancy",icon:[512,512,[],"f5ac","M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z"]},Zu={prefix:"fas",iconName:"pen-nib",icon:[512,512,[],"f5ad","M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z"]},Wu={prefix:"fas",iconName:"pen-square",icon:[448,512,[],"f14b","M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z"]},Ju={prefix:"fas",iconName:"pencil-alt",icon:[512,512,[],"f303","M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"]},$u={prefix:"fas",iconName:"pencil-ruler",icon:[512,512,[],"f5ae","M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z"]},Qu={prefix:"fas",iconName:"people-arrows",icon:[576,512,[],"e068","M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z"]},Yu={prefix:"fas",iconName:"people-carry",icon:[640,512,[],"f4ce","M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z"]},Ku={prefix:"fas",iconName:"pepper-hot",icon:[512,512,[],"f816","M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z"]},Xu={prefix:"fas",iconName:"percent",icon:[448,512,[],"f295","M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z"]},ef={prefix:"fas",iconName:"percentage",icon:[384,512,[],"f541","M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z"]},tf={prefix:"fas",iconName:"person-booth",icon:[576,512,[],"f756","M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z"]},rf={prefix:"fas",iconName:"phone",icon:[512,512,[],"f095","M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"]},nf={prefix:"fas",iconName:"phone-alt",icon:[512,512,[],"f879","M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z"]},af={prefix:"fas",iconName:"phone-slash",icon:[640,512,[],"f3dd","M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"]},cf={prefix:"fas",iconName:"phone-square",icon:[448,512,[],"f098","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z"]},of={prefix:"fas",iconName:"phone-square-alt",icon:[448,512,[],"f87b","M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z"]},sf={prefix:"fas",iconName:"phone-volume",icon:[384,512,[],"f2a0","M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z"]},lf={prefix:"fas",iconName:"photo-video",icon:[640,512,[],"f87c","M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z"]},uf={prefix:"fas",iconName:"piggy-bank",icon:[576,512,[],"f4d3","M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z"]},ff={prefix:"fas",iconName:"pills",icon:[576,512,[],"f484","M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z"]},pf={prefix:"fas",iconName:"pizza-slice",icon:[512,512,[],"f818","M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"]},df={prefix:"fas",iconName:"place-of-worship",icon:[640,512,[],"f67f","M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z"]},hf={prefix:"fas",iconName:"plane",icon:[576,512,[],"f072","M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z"]},mf={prefix:"fas",iconName:"plane-arrival",icon:[640,512,[],"f5af","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z"]},vf={prefix:"fas",iconName:"plane-departure",icon:[640,512,[],"f5b0","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z"]},gf={prefix:"fas",iconName:"plane-slash",icon:[640,512,[],"e069","M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z"]},yf={prefix:"fas",iconName:"play",icon:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"]},bf={prefix:"fas",iconName:"play-circle",icon:[512,512,[],"f144","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"]},wf={prefix:"fas",iconName:"plug",icon:[384,512,[],"f1e6","M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z"]},xf={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},zf={prefix:"fas",iconName:"plus-circle",icon:[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"]},Sf={prefix:"fas",iconName:"plus-square",icon:[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"]},kf={prefix:"fas",iconName:"podcast",icon:[448,512,[],"f2ce","M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z"]},Mf={prefix:"fas",iconName:"poll",icon:[448,512,[],"f681","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z"]},Cf={prefix:"fas",iconName:"poll-h",icon:[448,512,[],"f682","M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z"]},Of={prefix:"fas",iconName:"poo",icon:[512,512,[],"f2fe","M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Lf={prefix:"fas",iconName:"poo-storm",icon:[448,512,[],"f75a","M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z"]},Hf={prefix:"fas",iconName:"poop",icon:[512,512,[],"f619","M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z"]},Nf={prefix:"fas",iconName:"portrait",icon:[384,512,[],"f3e0","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},Af={prefix:"fas",iconName:"pound-sign",icon:[320,512,[],"f154","M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z"]},Tf={prefix:"fas",iconName:"power-off",icon:[512,512,[],"f011","M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"]},Ef={prefix:"fas",iconName:"pray",icon:[384,512,[],"f683","M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z"]},Vf={prefix:"fas",iconName:"praying-hands",icon:[640,512,[],"f684","M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z"]},Pf={prefix:"fas",iconName:"prescription",icon:[384,512,[],"f5b1","M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z"]},_f={prefix:"fas",iconName:"prescription-bottle",icon:[384,512,[],"f485","M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z"]},jf={prefix:"fas",iconName:"prescription-bottle-alt",icon:[384,512,[],"f486","M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z"]},Df={prefix:"fas",iconName:"print",icon:[512,512,[],"f02f","M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},If={prefix:"fas",iconName:"procedures",icon:[640,512,[],"f487","M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z"]},Ff={prefix:"fas",iconName:"project-diagram",icon:[640,512,[],"f542","M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z"]},Rf={prefix:"fas",iconName:"pump-medical",icon:[384,512,[],"e06a","M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z"]},qf={prefix:"fas",iconName:"pump-soap",icon:[384,512,[],"e06b","M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z"]},Bf={prefix:"fas",iconName:"puzzle-piece",icon:[576,512,[],"f12e","M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z"]},Uf={prefix:"fas",iconName:"qrcode",icon:[448,512,[],"f029","M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z"]},Gf={prefix:"fas",iconName:"question",icon:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"]},Zf={prefix:"fas",iconName:"question-circle",icon:[512,512,[],"f059","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"]},Wf={prefix:"fas",iconName:"quidditch",icon:[640,512,[],"f458","M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z"]},Jf={prefix:"fas",iconName:"quote-left",icon:[512,512,[],"f10d","M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"]},$f={prefix:"fas",iconName:"quote-right",icon:[512,512,[],"f10e","M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"]},Qf={prefix:"fas",iconName:"quran",icon:[448,512,[],"f687","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},Yf={prefix:"fas",iconName:"radiation",icon:[496,512,[],"f7b9","M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z"]},Kf={prefix:"fas",iconName:"radiation-alt",icon:[496,512,[],"f7ba","M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"]},Xf={prefix:"fas",iconName:"rainbow",icon:[576,512,[],"f75b","M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z"]},ep={prefix:"fas",iconName:"random",icon:[512,512,[],"f074","M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"]},tp={prefix:"fas",iconName:"receipt",icon:[384,512,[],"f543","M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z"]},rp={prefix:"fas",iconName:"record-vinyl",icon:[512,512,[],"f8d9","M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z"]},np={prefix:"fas",iconName:"recycle",icon:[512,512,[],"f1b8","M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"]},ap={prefix:"fas",iconName:"redo",icon:[512,512,[],"f01e","M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"]},cp={prefix:"fas",iconName:"redo-alt",icon:[512,512,[],"f2f9","M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z"]},ip={prefix:"fas",iconName:"registered",icon:[512,512,[],"f25d","M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z"]},op={prefix:"fas",iconName:"remove-format",icon:[640,512,[],"f87d","M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z"]},sp={prefix:"fas",iconName:"reply",icon:[512,512,[],"f3e5","M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"]},lp={prefix:"fas",iconName:"reply-all",icon:[576,512,[],"f122","M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z"]},up={prefix:"fas",iconName:"republican",icon:[640,512,[],"f75e","M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z"]},fp={prefix:"fas",iconName:"restroom",icon:[640,512,[],"f7bd","M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z"]},pp={prefix:"fas",iconName:"retweet",icon:[640,512,[],"f079","M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z"]},dp={prefix:"fas",iconName:"ribbon",icon:[448,512,[],"f4d6","M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z"]},hp={prefix:"fas",iconName:"ring",icon:[512,512,[],"f70b","M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z"]},mp={prefix:"fas",iconName:"road",icon:[576,512,[],"f018","M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z"]},vp={prefix:"fas",iconName:"robot",icon:[640,512,[],"f544","M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z"]},gp={prefix:"fas",iconName:"rocket",icon:[512,512,[],"f135","M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z"]},yp={prefix:"fas",iconName:"route",icon:[512,512,[],"f4d7","M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},bp={prefix:"fas",iconName:"rss",icon:[448,512,[],"f09e","M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"]},wp={prefix:"fas",iconName:"rss-square",icon:[448,512,[],"f143","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z"]},xp={prefix:"fas",iconName:"ruble-sign",icon:[384,512,[],"f158","M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z"]},zp={prefix:"fas",iconName:"ruler",icon:[640,512,[],"f545","M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z"]},Sp={prefix:"fas",iconName:"ruler-combined",icon:[512,512,[],"f546","M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},kp={prefix:"fas",iconName:"ruler-horizontal",icon:[576,512,[],"f547","M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z"]},Mp={prefix:"fas",iconName:"ruler-vertical",icon:[256,512,[],"f548","M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z"]},Cp={prefix:"fas",iconName:"running",icon:[416,512,[],"f70c","M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"]},Op={prefix:"fas",iconName:"rupee-sign",icon:[320,512,[],"f156","M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z"]},Lp={prefix:"fas",iconName:"sad-cry",icon:[496,512,[],"f5b3","M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z"]},Hp={prefix:"fas",iconName:"sad-tear",icon:[496,512,[],"f5b4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z"]},Np={prefix:"fas",iconName:"satellite",icon:[512,512,[],"f7bf","M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z"]},Ap={prefix:"fas",iconName:"satellite-dish",icon:[512,512,[],"f7c0","M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z"]},Tp={prefix:"fas",iconName:"save",icon:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"]},Ep={prefix:"fas",iconName:"school",icon:[640,512,[],"f549","M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z"]},Vp={prefix:"fas",iconName:"screwdriver",icon:[512,512,[],"f54a","M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"]},Pp={prefix:"fas",iconName:"scroll",icon:[640,512,[],"f70e","M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z"]},_p={prefix:"fas",iconName:"sd-card",icon:[384,512,[],"f7c2","M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z"]},jp={prefix:"fas",iconName:"search",icon:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"]},Dp={prefix:"fas",iconName:"search-dollar",icon:[512,512,[],"f688","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z"]},Ip={prefix:"fas",iconName:"search-location",icon:[512,512,[],"f689","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Fp={prefix:"fas",iconName:"search-minus",icon:[512,512,[],"f010","M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"]},Rp={prefix:"fas",iconName:"search-plus",icon:[512,512,[],"f00e","M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"]},qp={prefix:"fas",iconName:"seedling",icon:[512,512,[],"f4d8","M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"]},Bp={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"]},Up={prefix:"fas",iconName:"shapes",icon:[512,512,[],"f61f","M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z"]},Gp={prefix:"fas",iconName:"share",icon:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"]},Zp={prefix:"fas",iconName:"share-alt",icon:[448,512,[],"f1e0","M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"]},Wp={prefix:"fas",iconName:"share-alt-square",icon:[448,512,[],"f1e1","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z"]},Jp={prefix:"fas",iconName:"share-square",icon:[576,512,[],"f14d","M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z"]},$p={prefix:"fas",iconName:"shekel-sign",icon:[448,512,[],"f20b","M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z"]},Qp={prefix:"fas",iconName:"shield-alt",icon:[512,512,[],"f3ed","M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z"]},Yp={prefix:"fas",iconName:"shield-virus",icon:[512,512,[],"e06c","M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z"]},Kp={prefix:"fas",iconName:"ship",icon:[640,512,[],"f21a","M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z"]},Xp={prefix:"fas",iconName:"shipping-fast",icon:[640,512,[],"f48b","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},ed={prefix:"fas",iconName:"shoe-prints",icon:[640,512,[],"f54b","M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z"]},td={prefix:"fas",iconName:"shopping-bag",icon:[448,512,[],"f290","M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z"]},rd={prefix:"fas",iconName:"shopping-basket",icon:[576,512,[],"f291","M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z"]},nd={prefix:"fas",iconName:"shopping-cart",icon:[576,512,[],"f07a","M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z"]},ad={prefix:"fas",iconName:"shower",icon:[512,512,[],"f2cc","M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z"]},cd={prefix:"fas",iconName:"shuttle-van",icon:[640,512,[],"f5b6","M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z"]},id={prefix:"fas",iconName:"sign",icon:[512,512,[],"f4d9","M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z"]},od={prefix:"fas",iconName:"sign-in-alt",icon:[512,512,[],"f2f6","M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"]},sd={prefix:"fas",iconName:"sign-language",icon:[448,512,[],"f2a7","M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z"]},ld={prefix:"fas",iconName:"sign-out-alt",icon:[512,512,[],"f2f5","M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z"]},ud={prefix:"fas",iconName:"signal",icon:[640,512,[],"f012","M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"]},fd={prefix:"fas",iconName:"signature",icon:[640,512,[],"f5b7","M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z"]},pd={prefix:"fas",iconName:"sim-card",icon:[384,512,[],"f7c4","M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z"]},dd={prefix:"fas",iconName:"sink",icon:[512,512,[],"e06d","M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z"]},hd={prefix:"fas",iconName:"sitemap",icon:[640,512,[],"f0e8","M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},md={prefix:"fas",iconName:"skating",icon:[448,512,[],"f7c5","M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z"]},vd={prefix:"fas",iconName:"skiing",icon:[512,512,[],"f7c9","M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z"]},gd={prefix:"fas",iconName:"skiing-nordic",icon:[576,512,[],"f7ca","M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z"]},yd={prefix:"fas",iconName:"skull",icon:[512,512,[],"f54c","M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"]},bd={prefix:"fas",iconName:"skull-crossbones",icon:[448,512,[],"f714","M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z"]},wd={prefix:"fas",iconName:"slash",icon:[640,512,[],"f715","M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z"]},xd={prefix:"fas",iconName:"sleigh",icon:[640,512,[],"f7cc","M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z"]},zd={prefix:"fas",iconName:"sliders-h",icon:[512,512,[],"f1de","M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"]},Sd={prefix:"fas",iconName:"smile",icon:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"]},kd={prefix:"fas",iconName:"smile-beam",icon:[496,512,[],"f5b8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z"]},Md={prefix:"fas",iconName:"smile-wink",icon:[496,512,[],"f4da","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z"]},Cd={prefix:"fas",iconName:"smog",icon:[640,512,[],"f75f","M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z"]},Od={prefix:"fas",iconName:"smoking",icon:[640,512,[],"f48d","M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z"]},Ld={prefix:"fas",iconName:"smoking-ban",icon:[512,512,[],"f54d","M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z"]},Hd={prefix:"fas",iconName:"sms",icon:[512,512,[],"f7cd","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z"]},Nd={prefix:"fas",iconName:"snowboarding",icon:[512,512,[],"f7ce","M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z"]},Ad={prefix:"fas",iconName:"snowflake",icon:[448,512,[],"f2dc","M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z"]},Td={prefix:"fas",iconName:"snowman",icon:[512,512,[],"f7d0","M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},Ed={prefix:"fas",iconName:"snowplow",icon:[640,512,[],"f7d2","M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z"]},Vd={prefix:"fas",iconName:"soap",icon:[512,512,[],"e06e","M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z"]},Pd={prefix:"fas",iconName:"socks",icon:[512,512,[],"f696","M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z"]},_d={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z"]},jd={prefix:"fas",iconName:"sort",icon:[320,512,[],"f0dc","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z"]},Dd={prefix:"fas",iconName:"sort-alpha-down",icon:[448,512,[],"f15d","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"]},Id={prefix:"fas",iconName:"sort-alpha-down-alt",icon:[448,512,[],"f881","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z"]},Fd={prefix:"fas",iconName:"sort-alpha-up",icon:[448,512,[],"f15e","M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"]},Rd={prefix:"fas",iconName:"sort-alpha-up-alt",icon:[448,512,[],"f882","M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z"]},qd={prefix:"fas",iconName:"sort-amount-down",icon:[512,512,[],"f160","M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Bd={prefix:"fas",iconName:"sort-amount-down-alt",icon:[512,512,[],"f884","M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z"]},Ud={prefix:"fas",iconName:"sort-amount-up",icon:[512,512,[],"f161","M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Gd={prefix:"fas",iconName:"sort-amount-up-alt",icon:[512,512,[],"f885","M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z"]},Zd={prefix:"fas",iconName:"sort-down",icon:[320,512,[],"f0dd","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"]},Wd={prefix:"fas",iconName:"sort-numeric-down",icon:[448,512,[],"f162","M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z"]},Jd={prefix:"fas",iconName:"sort-numeric-down-alt",icon:[448,512,[],"f886","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z"]},$d={prefix:"fas",iconName:"sort-numeric-up",icon:[448,512,[],"f163","M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z"]},Qd={prefix:"fas",iconName:"sort-numeric-up-alt",icon:[448,512,[],"f887","M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z"]},Yd={prefix:"fas",iconName:"sort-up",icon:[320,512,[],"f0de","M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z"]},Kd={prefix:"fas",iconName:"spa",icon:[576,512,[],"f5bb","M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z"]},Xd={prefix:"fas",iconName:"space-shuttle",icon:[640,512,[],"f197","M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z"]},eh={prefix:"fas",iconName:"spell-check",icon:[576,512,[],"f891","M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z"]},th={prefix:"fas",iconName:"spider",icon:[576,512,[],"f717","M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z"]},rh={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"]},nh={prefix:"fas",iconName:"splotch",icon:[512,512,[],"f5bc","M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z"]},ah={prefix:"fas",iconName:"spray-can",icon:[512,512,[],"f5bd","M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},ch={prefix:"fas",iconName:"square",icon:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},ih={prefix:"fas",iconName:"square-full",icon:[512,512,[],"f45c","M512 512H0V0h512v512z"]},oh={prefix:"fas",iconName:"square-root-alt",icon:[576,512,[],"f698","M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"]},sh={prefix:"fas",iconName:"stamp",icon:[512,512,[],"f5bf","M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z"]},lh={prefix:"fas",iconName:"star",icon:[576,512,[],"f005","M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"]},uh={prefix:"fas",iconName:"star-and-crescent",icon:[512,512,[],"f699","M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z"]},fh={prefix:"fas",iconName:"star-half",icon:[576,512,[],"f089","M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z"]},ph={prefix:"fas",iconName:"star-half-alt",icon:[536,512,[],"f5c0","M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z"]},dh={prefix:"fas",iconName:"star-of-david",icon:[464,512,[],"f69a","M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z"]},hh={prefix:"fas",iconName:"star-of-life",icon:[480,512,[],"f621","M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z"]},mh={prefix:"fas",iconName:"step-backward",icon:[448,512,[],"f048","M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z"]},vh={prefix:"fas",iconName:"step-forward",icon:[448,512,[],"f051","M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"]},gh={prefix:"fas",iconName:"stethoscope",icon:[512,512,[],"f0f1","M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},yh={prefix:"fas",iconName:"sticky-note",icon:[448,512,[],"f249","M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z"]},bh={prefix:"fas",iconName:"stop",icon:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},wh={prefix:"fas",iconName:"stop-circle",icon:[512,512,[],"f28d","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z"]},xh={prefix:"fas",iconName:"stopwatch",icon:[448,512,[],"f2f2","M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"]},zh={prefix:"fas",iconName:"stopwatch-20",icon:[448,512,[],"e06f","M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z"]},Sh={prefix:"fas",iconName:"store",icon:[616,512,[],"f54e","M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z"]},kh={prefix:"fas",iconName:"store-alt",icon:[640,512,[],"f54f","M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z"]},Mh={prefix:"fas",iconName:"store-alt-slash",icon:[640,512,[],"e070","M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z"]},Ch={prefix:"fas",iconName:"store-slash",icon:[640,512,[],"e071","M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z"]},Oh={prefix:"fas",iconName:"stream",icon:[512,512,[],"f550","M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z"]},Lh={prefix:"fas",iconName:"street-view",icon:[512,512,[],"f21d","M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"]},Hh={prefix:"fas",iconName:"strikethrough",icon:[512,512,[],"f0cc","M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z"]},Nh={prefix:"fas",iconName:"stroopwafel",icon:[512,512,[],"f551","M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z"]},Ah={prefix:"fas",iconName:"subscript",icon:[512,512,[],"f12c","M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z"]},Th={prefix:"fas",iconName:"subway",icon:[448,512,[],"f239","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"]},Eh={prefix:"fas",iconName:"suitcase",icon:[512,512,[],"f0f2","M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z"]},Vh={prefix:"fas",iconName:"suitcase-rolling",icon:[384,512,[],"f5c1","M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z"]},Ph={prefix:"fas",iconName:"sun",icon:[512,512,[],"f185","M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"]},_h={prefix:"fas",iconName:"superscript",icon:[512,512,[],"f12b","M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z"]},jh={prefix:"fas",iconName:"surprise",icon:[496,512,[],"f5c2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Dh={prefix:"fas",iconName:"swatchbook",icon:[512,512,[],"f5c3","M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z"]},Ih={prefix:"fas",iconName:"swimmer",icon:[640,512,[],"f5c4","M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z"]},Fh={prefix:"fas",iconName:"swimming-pool",icon:[640,512,[],"f5c5","M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z"]},Rh={prefix:"fas",iconName:"synagogue",icon:[640,512,[],"f69b","M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z"]},qh={prefix:"fas",iconName:"sync",icon:[512,512,[],"f021","M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z"]},Bh={prefix:"fas",iconName:"sync-alt",icon:[512,512,[],"f2f1","M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"]},Uh={prefix:"fas",iconName:"syringe",icon:[512,512,[],"f48e","M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z"]},Gh={prefix:"fas",iconName:"table",icon:[512,512,[],"f0ce","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"]},Zh={prefix:"fas",iconName:"table-tennis",icon:[512,512,[],"f45d","M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z"]},Wh={prefix:"fas",iconName:"tablet",icon:[448,512,[],"f10a","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Jh={prefix:"fas",iconName:"tablet-alt",icon:[448,512,[],"f3fa","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z"]},$h={prefix:"fas",iconName:"tablets",icon:[640,512,[],"f490","M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z"]},Qh={prefix:"fas",iconName:"tachometer-alt",icon:[576,512,[],"f3fd","M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Yh={prefix:"fas",iconName:"tag",icon:[512,512,[],"f02b","M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"]},Kh={prefix:"fas",iconName:"tags",icon:[640,512,[],"f02c","M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"]},Xh={prefix:"fas",iconName:"tape",icon:[640,512,[],"f4db","M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"]},em={prefix:"fas",iconName:"tasks",icon:[512,512,[],"f0ae","M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},tm={prefix:"fas",iconName:"taxi",icon:[512,512,[],"f1ba","M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},rm={prefix:"fas",iconName:"teeth",icon:[640,512,[],"f62e","M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z"]},nm={prefix:"fas",iconName:"teeth-open",icon:[640,512,[],"f62f","M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z"]},am={prefix:"fas",iconName:"temperature-high",icon:[512,512,[],"f769","M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z"]},cm={prefix:"fas",iconName:"temperature-low",icon:[512,512,[],"f76b","M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z"]},im={prefix:"fas",iconName:"tenge",icon:[384,512,[],"f7d7","M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z"]},om={prefix:"fas",iconName:"terminal",icon:[640,512,[],"f120","M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"]},sm={prefix:"fas",iconName:"text-height",icon:[576,512,[],"f034","M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z"]},lm={prefix:"fas",iconName:"text-width",icon:[448,512,[],"f035","M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z"]},um={prefix:"fas",iconName:"th",icon:[512,512,[],"f00a","M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"]},fm={prefix:"fas",iconName:"th-large",icon:[512,512,[],"f009","M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z"]},pm={prefix:"fas",iconName:"th-list",icon:[512,512,[],"f00b","M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"]},dm={prefix:"fas",iconName:"theater-masks",icon:[640,512,[],"f630","M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z"]},hm={prefix:"fas",iconName:"thermometer",icon:[512,512,[],"f491","M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z"]},mm={prefix:"fas",iconName:"thermometer-empty",icon:[256,512,[],"f2cb","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},vm={prefix:"fas",iconName:"thermometer-full",icon:[256,512,[],"f2c7","M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z"]},gm={prefix:"fas",iconName:"thermometer-half",icon:[256,512,[],"f2c9","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},ym={prefix:"fas",iconName:"thermometer-quarter",icon:[256,512,[],"f2ca","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},bm={prefix:"fas",iconName:"thermometer-three-quarters",icon:[256,512,[],"f2c8","M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},wm={prefix:"fas",iconName:"thumbs-down",icon:[512,512,[],"f165","M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z"]},xm={prefix:"fas",iconName:"thumbs-up",icon:[512,512,[],"f164","M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"]},zm={prefix:"fas",iconName:"thumbtack",icon:[384,512,[],"f08d","M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z"]},Sm={prefix:"fas",iconName:"ticket-alt",icon:[576,512,[],"f3ff","M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z"]},km={prefix:"fas",iconName:"times",icon:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"]},Mm={prefix:"fas",iconName:"times-circle",icon:[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"]},Cm={prefix:"fas",iconName:"tint",icon:[352,512,[],"f043","M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z"]},Om={prefix:"fas",iconName:"tint-slash",icon:[640,512,[],"f5c7","M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z"]},Lm={prefix:"fas",iconName:"tired",icon:[496,512,[],"f5c8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z"]},Hm={prefix:"fas",iconName:"toggle-off",icon:[576,512,[],"f204","M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z"]},Nm={prefix:"fas",iconName:"toggle-on",icon:[576,512,[],"f205","M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"]},Am={prefix:"fas",iconName:"toilet",icon:[384,512,[],"f7d8","M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z"]},Tm={prefix:"fas",iconName:"toilet-paper",icon:[576,512,[],"f71e","M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z"]},Em={prefix:"fas",iconName:"toilet-paper-slash",icon:[640,512,[],"e072","M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z"]},Vm={prefix:"fas",iconName:"toolbox",icon:[512,512,[],"f552","M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z"]},Pm={prefix:"fas",iconName:"tools",icon:[512,512,[],"f7d9","M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z"]},_m={prefix:"fas",iconName:"tooth",icon:[448,512,[],"f5c9","M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z"]},jm={prefix:"fas",iconName:"torah",icon:[640,512,[],"f6a0","M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z"]},Dm={prefix:"fas",iconName:"torii-gate",icon:[512,512,[],"f6a1","M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z"]},Im={prefix:"fas",iconName:"tractor",icon:[640,512,[],"f722","M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z"]},Fm={prefix:"fas",iconName:"trademark",icon:[640,512,[],"f25c","M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z"]},Rm={prefix:"fas",iconName:"traffic-light",icon:[384,512,[],"f637","M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"]},qm={prefix:"fas",iconName:"trailer",icon:[640,512,[],"e041","M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z"]},Bm={prefix:"fas",iconName:"train",icon:[448,512,[],"f238","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z"]},Um={prefix:"fas",iconName:"tram",icon:[512,512,[],"f7da","M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"]},Gm={prefix:"fas",iconName:"transgender",icon:[384,512,[],"f224","M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Zm={prefix:"fas",iconName:"transgender-alt",icon:[480,512,[],"f225","M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Wm={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"]},Jm={prefix:"fas",iconName:"trash-alt",icon:[448,512,[],"f2ed","M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},$m={prefix:"fas",iconName:"trash-restore",icon:[448,512,[],"f829","M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Qm={prefix:"fas",iconName:"trash-restore-alt",icon:[448,512,[],"f82a","M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Ym={prefix:"fas",iconName:"tree",icon:[384,512,[],"f1bb","M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z"]},Km={prefix:"fas",iconName:"trophy",icon:[576,512,[],"f091","M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z"]},Xm={prefix:"fas",iconName:"truck",icon:[640,512,[],"f0d1","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},ev={prefix:"fas",iconName:"truck-loading",icon:[640,512,[],"f4de","M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},tv={prefix:"fas",iconName:"truck-monster",icon:[640,512,[],"f63b","M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"]},rv={prefix:"fas",iconName:"truck-moving",icon:[640,512,[],"f4df","M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"]},nv={prefix:"fas",iconName:"truck-pickup",icon:[640,512,[],"f63c","M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"]},av={prefix:"fas",iconName:"tshirt",icon:[640,512,[],"f553","M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z"]},cv={prefix:"fas",iconName:"tty",icon:[512,512,[],"f1e4","M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"]},iv={prefix:"fas",iconName:"tv",icon:[640,512,[],"f26c","M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z"]},ov={prefix:"fas",iconName:"umbrella",icon:[576,512,[],"f0e9","M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z"]},sv={prefix:"fas",iconName:"umbrella-beach",icon:[640,512,[],"f5ca","M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z"]},lv={prefix:"fas",iconName:"underline",icon:[448,512,[],"f0cd","M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},uv={prefix:"fas",iconName:"undo",icon:[512,512,[],"f0e2","M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"]},fv={prefix:"fas",iconName:"undo-alt",icon:[512,512,[],"f2ea","M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z"]},pv={prefix:"fas",iconName:"universal-access",icon:[512,512,[],"f29a","M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z"]},dv={prefix:"fas",iconName:"university",icon:[512,512,[],"f19c","M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z"]},hv={prefix:"fas",iconName:"unlink",icon:[512,512,[],"f127","M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z"]},mv={prefix:"fas",iconName:"unlock",icon:[448,512,[],"f09c","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"]},vv={prefix:"fas",iconName:"unlock-alt",icon:[448,512,[],"f13e","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"]},gv={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},yv={prefix:"fas",iconName:"user",icon:[448,512,[],"f007","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},bv={prefix:"fas",iconName:"user-alt",icon:[512,512,[],"f406","M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z"]},wv={prefix:"fas",iconName:"user-alt-slash",icon:[640,512,[],"f4fa","M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z"]},xv={prefix:"fas",iconName:"user-astronaut",icon:[448,512,[],"f4fb","M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z"]},zv={prefix:"fas",iconName:"user-check",icon:[640,512,[],"f4fc","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z"]},Sv={prefix:"fas",iconName:"user-circle",icon:[496,512,[],"f2bd","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z"]},kv={prefix:"fas",iconName:"user-clock",icon:[640,512,[],"f4fd","M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z"]},Mv={prefix:"fas",iconName:"user-cog",icon:[640,512,[],"f4fe","M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z"]},Cv={prefix:"fas",iconName:"user-edit",icon:[640,512,[],"f4ff","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z"]},Ov={prefix:"fas",iconName:"user-friends",icon:[640,512,[],"f500","M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z"]},Lv={prefix:"fas",iconName:"user-graduate",icon:[448,512,[],"f501","M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z"]},Hv={prefix:"fas",iconName:"user-injured",icon:[448,512,[],"f728","M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z"]},Nv={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z"]},Av={prefix:"fas",iconName:"user-md",icon:[448,512,[],"f0f0","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z"]},Tv={prefix:"fas",iconName:"user-minus",icon:[640,512,[],"f503","M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},Ev={prefix:"fas",iconName:"user-ninja",icon:[448,512,[],"f504","M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z"]},Vv={prefix:"fas",iconName:"user-nurse",icon:[448,512,[],"f82f","M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z"]},Pv={prefix:"fas",iconName:"user-plus",icon:[640,512,[],"f234","M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},_v={prefix:"fas",iconName:"user-secret",icon:[448,512,[],"f21b","M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z"]},jv={prefix:"fas",iconName:"user-shield",icon:[640,512,[],"f505","M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z"]},Dv={prefix:"fas",iconName:"user-slash",icon:[640,512,[],"f506","M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z"]},Iv={prefix:"fas",iconName:"user-tag",icon:[640,512,[],"f507","M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z"]},Fv={prefix:"fas",iconName:"user-tie",icon:[448,512,[],"f508","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z"]},Rv={prefix:"fas",iconName:"user-times",icon:[640,512,[],"f235","M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},qv={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},Bv={prefix:"fas",iconName:"users-cog",icon:[640,512,[],"f509","M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},Uv={prefix:"fas",iconName:"users-slash",icon:[640,512,[],"e073","M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z"]},Gv={prefix:"fas",iconName:"utensil-spoon",icon:[512,512,[],"f2e5","M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z"]},Zv={prefix:"fas",iconName:"utensils",icon:[416,512,[],"f2e7","M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z"]},Wv={prefix:"fas",iconName:"vector-square",icon:[512,512,[],"f5cb","M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z"]},Jv={prefix:"fas",iconName:"venus",icon:[288,512,[],"f221","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"]},$v={prefix:"fas",iconName:"venus-double",icon:[512,512,[],"f226","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z"]},Qv={prefix:"fas",iconName:"venus-mars",icon:[576,512,[],"f228","M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Yv={prefix:"fas",iconName:"vest",icon:[448,512,[],"e085","M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z"]},Kv={prefix:"fas",iconName:"vest-patches",icon:[448,512,[],"e086","M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z"]},Xv={prefix:"fas",iconName:"vial",icon:[480,512,[],"f492","M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z"]},eg={prefix:"fas",iconName:"vials",icon:[640,512,[],"f493","M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z"]},tg={prefix:"fas",iconName:"video",icon:[576,512,[],"f03d","M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z"]},rg={prefix:"fas",iconName:"video-slash",icon:[640,512,[],"f4e2","M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z"]},ng={prefix:"fas",iconName:"vihara",icon:[640,512,[],"f6a7","M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z"]},ag={prefix:"fas",iconName:"virus",icon:[512,512,[],"e074","M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z"]},cg={prefix:"fas",iconName:"virus-slash",icon:[640,512,[],"e075","M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z"]},ig={prefix:"fas",iconName:"viruses",icon:[640,512,[],"e076","M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z"]},og={prefix:"fas",iconName:"voicemail",icon:[640,512,[],"f897","M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z"]},sg={prefix:"fas",iconName:"volleyball-ball",icon:[512,512,[],"f45f","M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z"]},lg={prefix:"fas",iconName:"volume-down",icon:[384,512,[],"f027","M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"]},ug={prefix:"fas",iconName:"volume-mute",icon:[512,512,[],"f6a9","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"]},fg={prefix:"fas",iconName:"volume-off",icon:[256,512,[],"f026","M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z"]},pg={prefix:"fas",iconName:"volume-up",icon:[576,512,[],"f028","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"]},dg={prefix:"fas",iconName:"vote-yea",icon:[640,512,[],"f772","M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z"]},hg={prefix:"fas",iconName:"vr-cardboard",icon:[640,512,[],"f729","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z"]},mg={prefix:"fas",iconName:"walking",icon:[320,512,[],"f554","M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z"]},vg={prefix:"fas",iconName:"wallet",icon:[512,512,[],"f555","M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},gg={prefix:"fas",iconName:"warehouse",icon:[640,512,[],"f494","M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z"]},yg={prefix:"fas",iconName:"water",icon:[576,512,[],"f773","M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z"]},bg={prefix:"fas",iconName:"wave-square",icon:[640,512,[],"f83e","M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z"]},wg={prefix:"fas",iconName:"weight",icon:[512,512,[],"f496","M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z"]},xg={prefix:"fas",iconName:"weight-hanging",icon:[512,512,[],"f5cd","M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"]},zg={prefix:"fas",iconName:"wheelchair",icon:[512,512,[],"f193","M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z"]},Sg={prefix:"fas",iconName:"wifi",icon:[640,512,[],"f1eb","M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z"]},kg={prefix:"fas",iconName:"wind",icon:[512,512,[],"f72e","M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z"]},Mg={prefix:"fas",iconName:"window-close",icon:[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z"]},Cg={prefix:"fas",iconName:"window-maximize",icon:[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z"]},Og={prefix:"fas",iconName:"window-minimize",icon:[512,512,[],"f2d1","M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z"]},Lg={prefix:"fas",iconName:"window-restore",icon:[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"]},Hg={prefix:"fas",iconName:"wine-bottle",icon:[512,512,[],"f72f","M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z"]},Ng={prefix:"fas",iconName:"wine-glass",icon:[288,512,[],"f4e3","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z"]},Ag={prefix:"fas",iconName:"wine-glass-alt",icon:[288,512,[],"f5ce","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z"]},Tg={prefix:"fas",iconName:"won-sign",icon:[576,512,[],"f159","M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z"]},Eg={prefix:"fas",iconName:"wrench",icon:[512,512,[],"f0ad","M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Vg={prefix:"fas",iconName:"x-ray",icon:[640,512,[],"f497","M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z"]},Pg={prefix:"fas",iconName:"yen-sign",icon:[384,512,[],"f157","M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z"]},_g={prefix:"fas",iconName:"yin-yang",icon:[496,512,[],"f6ad","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},jg={faAd:a,faAddressBook:c,faAddressCard:i,faAdjust:o,faAirFreshener:s,faAlignCenter:l,faAlignJustify:u,faAlignLeft:f,faAlignRight:p,faAllergies:d,faAmbulance:h,faAmericanSignLanguageInterpreting:m,faAnchor:v,faAngleDoubleDown:g,faAngleDoubleLeft:y,faAngleDoubleRight:b,faAngleDoubleUp:w,faAngleDown:x,faAngleLeft:z,faAngleRight:S,faAngleUp:k,faAngry:M,faAnkh:C,faAppleAlt:O,faArchive:L,faArchway:H,faArrowAltCircleDown:N,faArrowAltCircleLeft:A,faArrowAltCircleRight:T,faArrowAltCircleUp:E,faArrowCircleDown:V,faArrowCircleLeft:P,faArrowCircleRight:_,faArrowCircleUp:j,faArrowDown:D,faArrowLeft:I,faArrowRight:F,faArrowUp:R,faArrowsAlt:q,faArrowsAltH:B,faArrowsAltV:U,faAssistiveListeningSystems:G,faAsterisk:Z,faAt:W,faAtlas:J,faAtom:$,faAudioDescription:Q,faAward:Y,faBaby:K,faBabyCarriage:X,faBackspace:ee,faBackward:te,faBacon:re,faBacteria:ne,faBacterium:ae,faBahai:ce,faBalanceScale:ie,faBalanceScaleLeft:oe,faBalanceScaleRight:se,faBan:le,faBandAid:ue,faBarcode:fe,faBars:pe,faBaseballBall:de,faBasketballBall:he,faBath:me,faBatteryEmpty:ve,faBatteryFull:ge,faBatteryHalf:ye,faBatteryQuarter:be,faBatteryThreeQuarters:we,faBed:xe,faBeer:ze,faBell:Se,faBellSlash:ke,faBezierCurve:Me,faBible:Ce,faBicycle:Oe,faBiking:Le,faBinoculars:He,faBiohazard:Ne,faBirthdayCake:Ae,faBlender:Te,faBlenderPhone:Ee,faBlind:Ve,faBlog:Pe,faBold:_e,faBolt:je,faBomb:De,faBone:Ie,faBong:Fe,faBook:Re,faBookDead:qe,faBookMedical:Be,faBookOpen:Ue,faBookReader:Ge,faBookmark:Ze,faBorderAll:We,faBorderNone:Je,faBorderStyle:$e,faBowlingBall:Qe,faBox:Ye,faBoxOpen:Ke,faBoxTissue:Xe,faBoxes:et,faBraille:tt,faBrain:rt,faBreadSlice:nt,faBriefcase:at,faBriefcaseMedical:ct,faBroadcastTower:it,faBroom:ot,faBrush:st,faBug:lt,faBuilding:ut,faBullhorn:ft,faBullseye:pt,faBurn:dt,faBus:ht,faBusAlt:mt,faBusinessTime:vt,faCalculator:gt,faCalendar:yt,faCalendarAlt:bt,faCalendarCheck:wt,faCalendarDay:xt,faCalendarMinus:zt,faCalendarPlus:St,faCalendarTimes:kt,faCalendarWeek:Mt,faCamera:Ct,faCameraRetro:Ot,faCampground:Lt,faCandyCane:Ht,faCannabis:Nt,faCapsules:At,faCar:Tt,faCarAlt:Et,faCarBattery:Vt,faCarCrash:Pt,faCarSide:_t,faCaravan:jt,faCaretDown:Dt,faCaretLeft:It,faCaretRight:Ft,faCaretSquareDown:Rt,faCaretSquareLeft:qt,faCaretSquareRight:Bt,faCaretSquareUp:Ut,faCaretUp:Gt,faCarrot:Zt,faCartArrowDown:Wt,faCartPlus:Jt,faCashRegister:$t,faCat:Qt,faCertificate:Yt,faChair:Kt,faChalkboard:Xt,faChalkboardTeacher:er,faChargingStation:tr,faChartArea:rr,faChartBar:nr,faChartLine:ar,faChartPie:cr,faCheck:ir,faCheckCircle:or,faCheckDouble:sr,faCheckSquare:lr,faCheese:ur,faChess:fr,faChessBishop:pr,faChessBoard:dr,faChessKing:hr,faChessKnight:mr,faChessPawn:vr,faChessQueen:gr,faChessRook:yr,faChevronCircleDown:br,faChevronCircleLeft:wr,faChevronCircleRight:xr,faChevronCircleUp:zr,faChevronDown:Sr,faChevronLeft:kr,faChevronRight:Mr,faChevronUp:Cr,faChild:Or,faChurch:Lr,faCircle:Hr,faCircleNotch:Nr,faCity:Ar,faClinicMedical:Tr,faClipboard:Er,faClipboardCheck:Vr,faClipboardList:Pr,faClock:_r,faClone:jr,faClosedCaptioning:Dr,faCloud:Ir,faCloudDownloadAlt:Fr,faCloudMeatball:Rr,faCloudMoon:qr,faCloudMoonRain:Br,faCloudRain:Ur,faCloudShowersHeavy:Gr,faCloudSun:Zr,faCloudSunRain:Wr,faCloudUploadAlt:Jr,faCocktail:$r,faCode:Qr,faCodeBranch:Yr,faCoffee:Kr,faCog:Xr,faCogs:en,faCoins:tn,faColumns:rn,faComment:nn,faCommentAlt:an,faCommentDollar:cn,faCommentDots:on,faCommentMedical:sn,faCommentSlash:ln,faComments:un,faCommentsDollar:fn,faCompactDisc:pn,faCompass:dn,faCompress:hn,faCompressAlt:mn,faCompressArrowsAlt:vn,faConciergeBell:gn,faCookie:yn,faCookieBite:bn,faCopy:wn,faCopyright:xn,faCouch:zn,faCreditCard:Sn,faCrop:kn,faCropAlt:Mn,faCross:Cn,faCrosshairs:On,faCrow:Ln,faCrown:Hn,faCrutch:Nn,faCube:An,faCubes:Tn,faCut:En,faDatabase:Vn,faDeaf:Pn,faDemocrat:_n,faDesktop:jn,faDharmachakra:Dn,faDiagnoses:In,faDice:Fn,faDiceD20:Rn,faDiceD6:qn,faDiceFive:Bn,faDiceFour:Un,faDiceOne:Gn,faDiceSix:Zn,faDiceThree:Wn,faDiceTwo:Jn,faDigitalTachograph:$n,faDirections:Qn,faDisease:Yn,faDivide:Kn,faDizzy:Xn,faDna:ea,faDog:ta,faDollarSign:ra,faDolly:na,faDollyFlatbed:aa,faDonate:ca,faDoorClosed:ia,faDoorOpen:oa,faDotCircle:sa,faDove:la,faDownload:ua,faDraftingCompass:fa,faDragon:pa,faDrawPolygon:da,faDrum:ha,faDrumSteelpan:ma,faDrumstickBite:va,faDumbbell:ga,faDumpster:ya,faDumpsterFire:ba,faDungeon:wa,faEdit:xa,faEgg:za,faEject:Sa,faEllipsisH:ka,faEllipsisV:Ma,faEnvelope:Ca,faEnvelopeOpen:Oa,faEnvelopeOpenText:La,faEnvelopeSquare:Ha,faEquals:Na,faEraser:Aa,faEthernet:Ta,faEuroSign:Ea,faExchangeAlt:Va,faExclamation:Pa,faExclamationCircle:_a,faExclamationTriangle:ja,faExpand:Da,faExpandAlt:Ia,faExpandArrowsAlt:Fa,faExternalLinkAlt:Ra,faExternalLinkSquareAlt:qa,faEye:Ba,faEyeDropper:Ua,faEyeSlash:Ga,faFan:Za,faFastBackward:Wa,faFastForward:Ja,faFaucet:$a,faFax:Qa,faFeather:Ya,faFeatherAlt:Ka,faFemale:Xa,faFighterJet:ec,faFile:tc,faFileAlt:rc,faFileArchive:nc,faFileAudio:ac,faFileCode:cc,faFileContract:ic,faFileCsv:oc,faFileDownload:sc,faFileExcel:lc,faFileExport:uc,faFileImage:fc,faFileImport:pc,faFileInvoice:dc,faFileInvoiceDollar:hc,faFileMedical:mc,faFileMedicalAlt:vc,faFilePdf:gc,faFilePowerpoint:yc,faFilePrescription:bc,faFileSignature:wc,faFileUpload:xc,faFileVideo:zc,faFileWord:Sc,faFill:kc,faFillDrip:Mc,faFilm:Cc,faFilter:Oc,faFingerprint:Lc,faFire:Hc,faFireAlt:Nc,faFireExtinguisher:Ac,faFirstAid:Tc,faFish:Ec,faFistRaised:Vc,faFlag:Pc,faFlagCheckered:_c,faFlagUsa:jc,faFlask:Dc,faFlushed:Ic,faFolder:Fc,faFolderMinus:Rc,faFolderOpen:qc,faFolderPlus:Bc,faFont:Uc,faFontAwesomeLogoFull:Gc,faFootballBall:Zc,faForward:Wc,faFrog:Jc,faFrown:$c,faFrownOpen:Qc,faFunnelDollar:Yc,faFutbol:Kc,faGamepad:Xc,faGasPump:ei,faGavel:ti,faGem:ri,faGenderless:ni,faGhost:ai,faGift:ci,faGifts:ii,faGlassCheers:oi,faGlassMartini:si,faGlassMartiniAlt:li,faGlassWhiskey:ui,faGlasses:fi,faGlobe:pi,faGlobeAfrica:di,faGlobeAmericas:hi,faGlobeAsia:mi,faGlobeEurope:vi,faGolfBall:gi,faGopuram:yi,faGraduationCap:bi,faGreaterThan:wi,faGreaterThanEqual:xi,faGrimace:zi,faGrin:Si,faGrinAlt:ki,faGrinBeam:Mi,faGrinBeamSweat:Ci,faGrinHearts:Oi,faGrinSquint:Li,faGrinSquintTears:Hi,faGrinStars:Ni,faGrinTears:Ai,faGrinTongue:Ti,faGrinTongueSquint:Ei,faGrinTongueWink:Vi,faGrinWink:Pi,faGripHorizontal:_i,faGripLines:ji,faGripLinesVertical:Di,faGripVertical:Ii,faGuitar:Fi,faHSquare:Ri,faHamburger:qi,faHammer:Bi,faHamsa:Ui,faHandHolding:Gi,faHandHoldingHeart:Zi,faHandHoldingMedical:Wi,faHandHoldingUsd:Ji,faHandHoldingWater:$i,faHandLizard:Qi,faHandMiddleFinger:Yi,faHandPaper:Ki,faHandPeace:Xi,faHandPointDown:eo,faHandPointLeft:to,faHandPointRight:ro,faHandPointUp:no,faHandPointer:ao,faHandRock:co,faHandScissors:io,faHandSparkles:oo,faHandSpock:so,faHands:lo,faHandsHelping:uo,faHandsWash:fo,faHandshake:po,faHandshakeAltSlash:ho,faHandshakeSlash:mo,faHanukiah:vo,faHardHat:go,faHashtag:yo,faHatCowboy:bo,faHatCowboySide:wo,faHatWizard:xo,faHdd:zo,faHeadSideCough:So,faHeadSideCoughSlash:ko,faHeadSideMask:Mo,faHeadSideVirus:Co,faHeading:Oo,faHeadphones:Lo,faHeadphonesAlt:Ho,faHeadset:No,faHeart:Ao,faHeartBroken:To,faHeartbeat:Eo,faHelicopter:Vo,faHighlighter:Po,faHiking:_o,faHippo:jo,faHistory:Do,faHockeyPuck:Io,faHollyBerry:Fo,faHome:Ro,faHorse:qo,faHorseHead:Bo,faHospital:Uo,faHospitalAlt:Go,faHospitalSymbol:Zo,faHospitalUser:Wo,faHotTub:Jo,faHotdog:$o,faHotel:Qo,faHourglass:Yo,faHourglassEnd:Ko,faHourglassHalf:Xo,faHourglassStart:es,faHouseDamage:ts,faHouseUser:rs,faHryvnia:ns,faICursor:as,faIceCream:cs,faIcicles:is,faIcons:os,faIdBadge:ss,faIdCard:ls,faIdCardAlt:us,faIgloo:fs,faImage:ps,faImages:ds,faInbox:hs,faIndent:ms,faIndustry:vs,faInfinity:gs,faInfo:ys,faInfoCircle:bs,faItalic:ws,faJedi:xs,faJoint:zs,faJournalWhills:Ss,faKaaba:ks,faKey:Ms,faKeyboard:Cs,faKhanda:Os,faKiss:Ls,faKissBeam:Hs,faKissWinkHeart:Ns,faKiwiBird:As,faLandmark:Ts,faLanguage:Es,faLaptop:Vs,faLaptopCode:Ps,faLaptopHouse:_s,faLaptopMedical:js,faLaugh:Ds,faLaughBeam:Is,faLaughSquint:Fs,faLaughWink:Rs,faLayerGroup:qs,faLeaf:Bs,faLemon:Us,faLessThan:Gs,faLessThanEqual:Zs,faLevelDownAlt:Ws,faLevelUpAlt:Js,faLifeRing:$s,faLightbulb:Qs,faLink:Ys,faLiraSign:Ks,faList:Xs,faListAlt:el,faListOl:tl,faListUl:rl,faLocationArrow:nl,faLock:al,faLockOpen:cl,faLongArrowAltDown:il,faLongArrowAltLeft:ol,faLongArrowAltRight:sl,faLongArrowAltUp:ll,faLowVision:ul,faLuggageCart:fl,faLungs:pl,faLungsVirus:dl,faMagic:hl,faMagnet:ml,faMailBulk:vl,faMale:gl,faMap:yl,faMapMarked:bl,faMapMarkedAlt:wl,faMapMarker:xl,faMapMarkerAlt:zl,faMapPin:Sl,faMapSigns:kl,faMarker:Ml,faMars:Cl,faMarsDouble:Ol,faMarsStroke:Ll,faMarsStrokeH:Hl,faMarsStrokeV:Nl,faMask:Al,faMedal:Tl,faMedkit:El,faMeh:Vl,faMehBlank:Pl,faMehRollingEyes:_l,faMemory:jl,faMenorah:Dl,faMercury:Il,faMeteor:Fl,faMicrochip:Rl,faMicrophone:ql,faMicrophoneAlt:Bl,faMicrophoneAltSlash:Ul,faMicrophoneSlash:Gl,faMicroscope:Zl,faMinus:Wl,faMinusCircle:Jl,faMinusSquare:$l,faMitten:Ql,faMobile:Yl,faMobileAlt:Kl,faMoneyBill:Xl,faMoneyBillAlt:eu,faMoneyBillWave:tu,faMoneyBillWaveAlt:ru,faMoneyCheck:nu,faMoneyCheckAlt:au,faMonument:cu,faMoon:iu,faMortarPestle:ou,faMosque:su,faMotorcycle:lu,faMountain:uu,faMouse:fu,faMousePointer:pu,faMugHot:du,faMusic:hu,faNetworkWired:mu,faNeuter:vu,faNewspaper:gu,faNotEqual:yu,faNotesMedical:bu,faObjectGroup:wu,faObjectUngroup:xu,faOilCan:zu,faOm:Su,faOtter:ku,faOutdent:Mu,faPager:Cu,faPaintBrush:Ou,faPaintRoller:Lu,faPalette:Hu,faPallet:Nu,faPaperPlane:Au,faPaperclip:Tu,faParachuteBox:Eu,faParagraph:Vu,faParking:Pu,faPassport:_u,faPastafarianism:ju,faPaste:Du,faPause:Iu,faPauseCircle:Fu,faPaw:Ru,faPeace:qu,faPen:Bu,faPenAlt:Uu,faPenFancy:Gu,faPenNib:Zu,faPenSquare:Wu,faPencilAlt:Ju,faPencilRuler:$u,faPeopleArrows:Qu,faPeopleCarry:Yu,faPepperHot:Ku,faPercent:Xu,faPercentage:ef,faPersonBooth:tf,faPhone:rf,faPhoneAlt:nf,faPhoneSlash:af,faPhoneSquare:cf,faPhoneSquareAlt:of,faPhoneVolume:sf,faPhotoVideo:lf,faPiggyBank:uf,faPills:ff,faPizzaSlice:pf,faPlaceOfWorship:df,faPlane:hf,faPlaneArrival:mf,faPlaneDeparture:vf,faPlaneSlash:gf,faPlay:yf,faPlayCircle:bf,faPlug:wf,faPlus:xf,faPlusCircle:zf,faPlusSquare:Sf,faPodcast:kf,faPoll:Mf,faPollH:Cf,faPoo:Of,faPooStorm:Lf,faPoop:Hf,faPortrait:Nf,faPoundSign:Af,faPowerOff:Tf,faPray:Ef,faPrayingHands:Vf,faPrescription:Pf,faPrescriptionBottle:_f,faPrescriptionBottleAlt:jf,faPrint:Df,faProcedures:If,faProjectDiagram:Ff,faPumpMedical:Rf,faPumpSoap:qf,faPuzzlePiece:Bf,faQrcode:Uf,faQuestion:Gf,faQuestionCircle:Zf,faQuidditch:Wf,faQuoteLeft:Jf,faQuoteRight:$f,faQuran:Qf,faRadiation:Yf,faRadiationAlt:Kf,faRainbow:Xf,faRandom:ep,faReceipt:tp,faRecordVinyl:rp,faRecycle:np,faRedo:ap,faRedoAlt:cp,faRegistered:ip,faRemoveFormat:op,faReply:sp,faReplyAll:lp,faRepublican:up,faRestroom:fp,faRetweet:pp,faRibbon:dp,faRing:hp,faRoad:mp,faRobot:vp,faRocket:gp,faRoute:yp,faRss:bp,faRssSquare:wp,faRubleSign:xp,faRuler:zp,faRulerCombined:Sp,faRulerHorizontal:kp,faRulerVertical:Mp,faRunning:Cp,faRupeeSign:Op,faSadCry:Lp,faSadTear:Hp,faSatellite:Np,faSatelliteDish:Ap,faSave:Tp,faSchool:Ep,faScrewdriver:Vp,faScroll:Pp,faSdCard:_p,faSearch:jp,faSearchDollar:Dp,faSearchLocation:Ip,faSearchMinus:Fp,faSearchPlus:Rp,faSeedling:qp,faServer:Bp,faShapes:Up,faShare:Gp,faShareAlt:Zp,faShareAltSquare:Wp,faShareSquare:Jp,faShekelSign:$p,faShieldAlt:Qp,faShieldVirus:Yp,faShip:Kp,faShippingFast:Xp,faShoePrints:ed,faShoppingBag:td,faShoppingBasket:rd,faShoppingCart:nd,faShower:ad,faShuttleVan:cd,faSign:id,faSignInAlt:od,faSignLanguage:sd,faSignOutAlt:ld,faSignal:ud,faSignature:fd,faSimCard:pd,faSink:dd,faSitemap:hd,faSkating:md,faSkiing:vd,faSkiingNordic:gd,faSkull:yd,faSkullCrossbones:bd,faSlash:wd,faSleigh:xd,faSlidersH:zd,faSmile:Sd,faSmileBeam:kd,faSmileWink:Md,faSmog:Cd,faSmoking:Od,faSmokingBan:Ld,faSms:Hd,faSnowboarding:Nd,faSnowflake:Ad,faSnowman:Td,faSnowplow:Ed,faSoap:Vd,faSocks:Pd,faSolarPanel:_d,faSort:jd,faSortAlphaDown:Dd,faSortAlphaDownAlt:Id,faSortAlphaUp:Fd,faSortAlphaUpAlt:Rd,faSortAmountDown:qd,faSortAmountDownAlt:Bd,faSortAmountUp:Ud,faSortAmountUpAlt:Gd,faSortDown:Zd,faSortNumericDown:Wd,faSortNumericDownAlt:Jd,faSortNumericUp:$d,faSortNumericUpAlt:Qd,faSortUp:Yd,faSpa:Kd,faSpaceShuttle:Xd,faSpellCheck:eh,faSpider:th,faSpinner:rh,faSplotch:nh,faSprayCan:ah,faSquare:ch,faSquareFull:ih,faSquareRootAlt:oh,faStamp:sh,faStar:lh,faStarAndCrescent:uh,faStarHalf:fh,faStarHalfAlt:ph,faStarOfDavid:dh,faStarOfLife:hh,faStepBackward:mh,faStepForward:vh,faStethoscope:gh,faStickyNote:yh,faStop:bh,faStopCircle:wh,faStopwatch:xh,faStopwatch20:zh,faStore:Sh,faStoreAlt:kh,faStoreAltSlash:Mh,faStoreSlash:Ch,faStream:Oh,faStreetView:Lh,faStrikethrough:Hh,faStroopwafel:Nh,faSubscript:Ah,faSubway:Th,faSuitcase:Eh,faSuitcaseRolling:Vh,faSun:Ph,faSuperscript:_h,faSurprise:jh,faSwatchbook:Dh,faSwimmer:Ih,faSwimmingPool:Fh,faSynagogue:Rh,faSync:qh,faSyncAlt:Bh,faSyringe:Uh,faTable:Gh,faTableTennis:Zh,faTablet:Wh,faTabletAlt:Jh,faTablets:$h,faTachometerAlt:Qh,faTag:Yh,faTags:Kh,faTape:Xh,faTasks:em,faTaxi:tm,faTeeth:rm,faTeethOpen:nm,faTemperatureHigh:am,faTemperatureLow:cm,faTenge:im,faTerminal:om,faTextHeight:sm,faTextWidth:lm,faTh:um,faThLarge:fm,faThList:pm,faTheaterMasks:dm,faThermometer:hm,faThermometerEmpty:mm,faThermometerFull:vm,faThermometerHalf:gm,faThermometerQuarter:ym,faThermometerThreeQuarters:bm,faThumbsDown:wm,faThumbsUp:xm,faThumbtack:zm,faTicketAlt:Sm,faTimes:km,faTimesCircle:Mm,faTint:Cm,faTintSlash:Om,faTired:Lm,faToggleOff:Hm,faToggleOn:Nm,faToilet:Am,faToiletPaper:Tm,faToiletPaperSlash:Em,faToolbox:Vm,faTools:Pm,faTooth:_m,faTorah:jm,faToriiGate:Dm,faTractor:Im,faTrademark:Fm,faTrafficLight:Rm,faTrailer:qm,faTrain:Bm,faTram:Um,faTransgender:Gm,faTransgenderAlt:Zm,faTrash:Wm,faTrashAlt:Jm,faTrashRestore:$m,faTrashRestoreAlt:Qm,faTree:Ym,faTrophy:Km,faTruck:Xm,faTruckLoading:ev,faTruckMonster:tv,faTruckMoving:rv,faTruckPickup:nv,faTshirt:av,faTty:cv,faTv:iv,faUmbrella:ov,faUmbrellaBeach:sv,faUnderline:lv,faUndo:uv,faUndoAlt:fv,faUniversalAccess:pv,faUniversity:dv,faUnlink:hv,faUnlock:mv,faUnlockAlt:vv,faUpload:gv,faUser:yv,faUserAlt:bv,faUserAltSlash:wv,faUserAstronaut:xv,faUserCheck:zv,faUserCircle:Sv,faUserClock:kv,faUserCog:Mv,faUserEdit:Cv,faUserFriends:Ov,faUserGraduate:Lv,faUserInjured:Hv,faUserLock:Nv,faUserMd:Av,faUserMinus:Tv,faUserNinja:Ev,faUserNurse:Vv,faUserPlus:Pv,faUserSecret:_v,faUserShield:jv,faUserSlash:Dv,faUserTag:Iv,faUserTie:Fv,faUserTimes:Rv,faUsers:qv,faUsersCog:Bv,faUsersSlash:Uv,faUtensilSpoon:Gv,faUtensils:Zv,faVectorSquare:Wv,faVenus:Jv,faVenusDouble:$v,faVenusMars:Qv,faVest:Yv,faVestPatches:Kv,faVial:Xv,faVials:eg,faVideo:tg,faVideoSlash:rg,faVihara:ng,faVirus:ag,faVirusSlash:cg,faViruses:ig,faVoicemail:og,faVolleyballBall:sg,faVolumeDown:lg,faVolumeMute:ug,faVolumeOff:fg,faVolumeUp:pg,faVoteYea:dg,faVrCardboard:hg,faWalking:mg,faWallet:vg,faWarehouse:gg,faWater:yg,faWaveSquare:bg,faWeight:wg,faWeightHanging:xg,faWheelchair:zg,faWifi:Sg,faWind:kg,faWindowClose:Mg,faWindowMaximize:Cg,faWindowMinimize:Og,faWindowRestore:Lg,faWineBottle:Hg,faWineGlass:Ng,faWineGlassAlt:Ag,faWonSign:Tg,faWrench:Eg,faXRay:Vg,faYenSign:Pg,faYinYang:_g}},9530:(e,t,r)=>{"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;rDe});var s=function(){},l={},u={},f={mark:s,measure:s};try{"undefined"!=typeof window&&(l=window),"undefined"!=typeof document&&(u=document),"undefined"!=typeof MutationObserver&&MutationObserver,"undefined"!=typeof performance&&(f=performance)}catch(e){}var p=(l.navigator||{}).userAgent,d=void 0===p?"":p,h=l,m=u,v=f,g=(h.document,!!m.documentElement&&!!m.head&&"function"==typeof m.addEventListener&&"function"==typeof m.createElement),y=(~d.indexOf("MSIE")||d.indexOf("Trident/"),"svg-inline--fa"),b=[1,2,3,4,5,6,7,8,9,10],w=b.concat([11,12,13,14,15,16,17,18,19,20]),x={GROUP:"group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},z=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","flip-both","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter",x.GROUP,x.SWAP_OPACITY,x.PRIMARY,x.SECONDARY].concat(b.map((function(e){return"".concat(e,"x")}))).concat(w.map((function(e){return"w-".concat(e)}))),h.FontAwesomeConfig||{});m&&"function"==typeof m.querySelector&&[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach((function(e){var t=o(e,2),r=t[0],n=t[1],a=function(e){return""===e||"false"!==e&&("true"===e||e)}(function(e){var t=m.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}(r));null!=a&&(z[n]=a)}));var S=i({},{familyPrefix:"fa",replacementClass:y,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},z);S.autoReplaceSvg||(S.observeMutations=!1);var k=i({},S);h.FontAwesomeConfig=k;var M=h||{};M.___FONT_AWESOME___||(M.___FONT_AWESOME___={}),M.___FONT_AWESOME___.styles||(M.___FONT_AWESOME___.styles={}),M.___FONT_AWESOME___.hooks||(M.___FONT_AWESOME___.hooks={}),M.___FONT_AWESOME___.shims||(M.___FONT_AWESOME___.shims=[]);var C=M.___FONT_AWESOME___,O=[];g&&((m.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(m.readyState)||m.addEventListener("DOMContentLoaded",(function e(){m.removeEventListener("DOMContentLoaded",e),O.map((function(e){return e()}))})));var L,H="pending",N="settled",A="fulfilled",T="rejected",E=function(){},V=void 0!==r.g&&void 0!==r.g.process&&"function"==typeof r.g.process.emit,P="undefined"==typeof setImmediate?setTimeout:setImmediate,_=[];function j(){for(var e=0;e<_.length;e++)_[e][0](_[e][1]);_=[],L=!1}function D(e,t){_.push([e,t]),L||(L=!0,P(j,0))}function I(e){var t=e.owner,r=t._state,n=t._data,a=e[r],c=e.then;if("function"==typeof a){r=A;try{n=a(n)}catch(e){B(c,e)}}F(c,n)||(r===A&&R(c,n),r===T&&B(c,n))}function F(e,t){var r;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(t&&("function"==typeof t||"object"===n(t))){var a=t.then;if("function"==typeof a)return a.call(t,(function(n){r||(r=!0,t===n?q(e,n):R(e,n))}),(function(t){r||(r=!0,B(e,t))})),!0}}catch(t){return r||B(e,t),!0}return!1}function R(e,t){e!==t&&F(e,t)||q(e,t)}function q(e,t){e._state===H&&(e._state=N,e._data=t,D(G,e))}function B(e,t){e._state===H&&(e._state=N,e._data=t,D(Z,e))}function U(e){e._then=e._then.forEach(I)}function G(e){e._state=A,U(e)}function Z(e){e._state=T,U(e),!e._handled&&V&&r.g.process.emit("unhandledRejection",e._data,e)}function W(e){r.g.process.emit("rejectionHandled",e)}function J(e){if("function"!=typeof e)throw new TypeError("Promise resolver "+e+" is not a function");if(this instanceof J==0)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._then=[],function(e,t){function r(e){B(t,e)}try{e((function(e){R(t,e)}),r)}catch(e){r(e)}}(e,this)}J.prototype={constructor:J,_state:H,_then:null,_data:void 0,_handled:!1,then:function(e,t){var r={owner:this,then:new this.constructor(E),fulfilled:e,rejected:t};return!t&&!e||this._handled||(this._handled=!0,this._state===T&&V&&D(W,this)),this._state===A||this._state===T?D(I,r):this._then.push(r),r.then},catch:function(e){return this.then(null,e)}},J.all=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.all().");return new J((function(t,r){var n=[],a=0;function c(e){return a++,function(r){n[e]=r,--a||t(n)}}for(var i,o=0;o0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function Y(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function K(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,": ").concat(e[r],";")}),"")}function X(e){return e.size!==$.size||e.x!==$.x||e.y!==$.y||e.rotate!==$.rotate||e.flipX||e.flipY}function ee(e){var t=e.transform,r=e.containerWidth,n=e.iconWidth,a={transform:"translate(".concat(r/2," 256)")},c="translate(".concat(32*t.x,", ").concat(32*t.y,") "),i="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),o="rotate(".concat(t.rotate," 0 0)");return{outer:a,inner:{transform:"".concat(c," ").concat(i," ").concat(o)},path:{transform:"translate(".concat(n/2*-1," -256)")}}}var te={x:0,y:0,width:"100%",height:"100%"};function re(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function ne(e){var t=e.icons,r=t.main,n=t.mask,a=e.prefix,c=e.iconName,o=e.transform,s=e.symbol,l=e.title,u=e.maskId,f=e.titleId,p=e.extra,d=e.watchable,h=void 0!==d&&d,m=n.found?n:r,v=m.width,g=m.height,y="fak"===a,b=y?"":"fa-w-".concat(Math.ceil(v/g*16)),w=[k.replacementClass,c?"".concat(k.familyPrefix,"-").concat(c):"",b].filter((function(e){return-1===p.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(p.classes).join(" "),x={children:[],attributes:i({},p.attributes,{"data-prefix":a,"data-icon":c,class:w,role:p.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(v," ").concat(g)})},z=y&&!~p.classes.indexOf("fa-fw")?{width:"".concat(v/g*16*.0625,"em")}:{};h&&(x.attributes["data-fa-i2svg"]=""),l&&x.children.push({tag:"title",attributes:{id:x.attributes["aria-labelledby"]||"title-".concat(f||Q())},children:[l]});var S=i({},x,{prefix:a,iconName:c,main:r,mask:n,maskId:u,transform:o,symbol:s,styles:i({},z,p.styles)}),M=n.found&&r.found?function(e){var t,r=e.children,n=e.attributes,a=e.main,c=e.mask,o=e.maskId,s=e.transform,l=a.width,u=a.icon,f=c.width,p=c.icon,d=ee({transform:s,containerWidth:f,iconWidth:l}),h={tag:"rect",attributes:i({},te,{fill:"white"})},m=u.children?{children:u.children.map(re)}:{},v={tag:"g",attributes:i({},d.inner),children:[re(i({tag:u.tag,attributes:i({},u.attributes,d.path)},m))]},g={tag:"g",attributes:i({},d.outer),children:[v]},y="mask-".concat(o||Q()),b="clip-".concat(o||Q()),w={tag:"mask",attributes:i({},te,{id:y,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,g]},x={tag:"defs",children:[{tag:"clipPath",attributes:{id:b},children:(t=p,"g"===t.tag?t.children:[t])},w]};return r.push(x,{tag:"rect",attributes:i({fill:"currentColor","clip-path":"url(#".concat(b,")"),mask:"url(#".concat(y,")")},te)}),{children:r,attributes:n}}(S):function(e){var t=e.children,r=e.attributes,n=e.main,a=e.transform,c=K(e.styles);if(c.length>0&&(r.style=c),X(a)){var o=ee({transform:a,containerWidth:n.width,iconWidth:n.width});t.push({tag:"g",attributes:i({},o.outer),children:[{tag:"g",attributes:i({},o.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:i({},n.icon.attributes,o.path)}]}]})}else t.push(n.icon);return{children:t,attributes:r}}(S),C=M.children,O=M.attributes;return S.children=C,S.attributes=O,s?function(e){var t=e.prefix,r=e.iconName,n=e.children,a=e.attributes,c=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:i({},a,{id:!0===c?"".concat(t,"-").concat(k.familyPrefix,"-").concat(r):c}),children:n}]}]}(S):function(e){var t=e.children,r=e.main,n=e.mask,a=e.attributes,c=e.styles,o=e.transform;if(X(o)&&r.found&&!n.found){var s={x:r.width/r.height/2,y:.5};a.style=K(i({},c,{"transform-origin":"".concat(s.x+o.x/16,"em ").concat(s.y+o.y/16,"em")}))}return[{tag:"svg",attributes:a,children:t}]}(S)}var ae=(k.measurePerformance&&v&&v.mark&&v.measure,function(e,t,r,n){var a,c,i,o=Object.keys(e),s=o.length,l=void 0!==n?function(e,t){return function(r,n,a,c){return e.call(t,r,n,a,c)}}(t,n):t;for(void 0===r?(a=1,i=e[o[0]]):(a=0,i=r);a2&&void 0!==arguments[2]?arguments[2]:{},n=r.skipHooks,a=void 0!==n&&n,c=Object.keys(t).reduce((function(e,r){var n=t[r];return n.icon?e[n.iconName]=n.icon:e[r]=n,e}),{});"function"!=typeof C.hooks.addPack||a?C.styles[e]=i({},C.styles[e]||{},c):C.hooks.addPack(e,c),"fas"===e&&ce("fa",t)}var ie=C.styles,oe=C.shims,se=function(){var e=function(e){return ae(ie,(function(t,r,n){return t[n]=ae(r,e,{}),t}),{})};e((function(e,t,r){return t[3]&&(e[t[3]]=r),e})),e((function(e,t,r){var n=t[2];return e[r]=r,n.forEach((function(t){e[t]=r})),e}));var t="far"in ie;ae(oe,(function(e,r){var n=r[0],a=r[1],c=r[2];return"far"!==a||t||(a="fas"),e[n]={prefix:a,iconName:c},e}),{})};function le(e,t,r){if(e&&e[t]&&e[t][r])return{prefix:t,iconName:r,icon:e[t][r]}}function ue(e){var t=e.tag,r=e.attributes,n=void 0===r?{}:r,a=e.children,c=void 0===a?[]:a;return"string"==typeof e?Y(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,'="').concat(Y(e[r]),'" ')}),"").trim()}(n),">").concat(c.map(ue).join(""),"")}se(),C.styles;function fe(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}fe.prototype=Object.create(Error.prototype),fe.prototype.constructor=fe;var pe={fill:"currentColor"},de={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},he=(i({},pe,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}),i({},de,{attributeName:"opacity"}));function me(e){var t=e[0],r=e[1],n=o(e.slice(4),1)[0];return{found:!0,width:t,height:r,icon:Array.isArray(n)?{tag:"g",attributes:{class:"".concat(k.familyPrefix,"-").concat(x.GROUP)},children:[{tag:"path",attributes:{class:"".concat(k.familyPrefix,"-").concat(x.SECONDARY),fill:"currentColor",d:n[0]}},{tag:"path",attributes:{class:"".concat(k.familyPrefix,"-").concat(x.PRIMARY),fill:"currentColor",d:n[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:n}}}}function ve(){k.autoAddCss&&!xe&&(function(e){if(e&&g){var t=m.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var r=m.head.childNodes,n=null,a=r.length-1;a>-1;a--){var c=r[a],i=(c.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(i)>-1&&(n=c)}m.head.insertBefore(t,n)}}(function(){var e="fa",t=y,r=k.familyPrefix,n=k.replacementClass,a='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';if(r!==e||n!==t){var c=new RegExp("\\.".concat(e,"\\-"),"g"),i=new RegExp("\\--".concat(e,"\\-"),"g"),o=new RegExp("\\.".concat(t),"g");a=a.replace(c,".".concat(r,"-")).replace(i,"--".concat(r,"-")).replace(o,".".concat(n))}return a}()),xe=!0)}function ge(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return ue(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(g){var t=m.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function ye(e){var t=e.prefix,r=void 0===t?"fa":t,n=e.iconName;if(n)return le(we.definitions,r,n)||le(C.styles,r,n)}i({},pe,{cx:"256",cy:"364",r:"28"}),i({},de,{attributeName:"r",values:"28;14;28;28;14;28;"}),i({},he,{values:"1;0;1;1;0;1;"}),i({},pe,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),i({},he,{values:"1;0;0;0;0;1;"}),i({},pe,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),i({},he,{values:"0;0;1;1;0;0;"}),C.styles,C.styles;var be,we=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,r;return t=e,(r=[{key:"add",value:function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=t.transform,n=void 0===r?$:r,a=t.symbol,c=void 0!==a&&a,o=t.mask,s=void 0===o?null:o,l=t.maskId,u=void 0===l?null:l,f=t.title,p=void 0===f?null:f,d=t.titleId,h=void 0===d?null:d,m=t.classes,v=void 0===m?[]:m,g=t.attributes,y=void 0===g?{}:g,b=t.styles,w=void 0===b?{}:b;if(e){var x=e.prefix,z=e.iconName,S=e.icon;return ge(i({type:"icon"},e),(function(){return ve(),k.autoA11y&&(p?y["aria-labelledby"]="".concat(k.replacementClass,"-title-").concat(h||Q()):(y["aria-hidden"]="true",y.focusable="false")),ne({icons:{main:me(S),mask:s?me(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:x,iconName:z,transform:i({},$,n),symbol:c,title:p,maskId:u,titleId:h,extra:{attributes:y,styles:w,classes:v}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(e||{}).icon?e:ye(e||{}),n=t.mask;return n&&(n=(n||{}).icon?n:ye(n||{})),be(r,i({},t,{mask:n}))}),ke=r(3980),Me=r.n(ke),Ce=r(2784);function Oe(e){return(Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Le(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function He(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ne(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function Te(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t0||!Array.isArray(t)&&t?Le({},e,t):{}}function De(e){var t=e.forwardedRef,r=Ae(e,["forwardedRef"]),n=r.icon,a=r.mask,c=r.symbol,i=r.className,o=r.title,s=r.titleId,l=_e(n),u=je("classes",[].concat(Te(function(e){var t,r=e.spin,n=e.pulse,a=e.fixedWidth,c=e.inverse,i=e.border,o=e.listItem,s=e.flip,l=e.size,u=e.rotation,f=e.pull,p=(Le(t={"fa-spin":r,"fa-pulse":n,"fa-fw":a,"fa-inverse":c,"fa-border":i,"fa-li":o,"fa-flip-horizontal":"horizontal"===s||"both"===s,"fa-flip-vertical":"vertical"===s||"both"===s},"fa-".concat(l),null!=l),Le(t,"fa-rotate-".concat(u),null!=u&&0!==u),Le(t,"fa-pull-".concat(f),null!=f),Le(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(p).map((function(e){return p[e]?e:null})).filter((function(e){return e}))}(r)),Te(i.split(" ")))),f=je("transform","string"==typeof r.transform?ze.transform(r.transform):r.transform),p=je("mask",_e(a)),d=Se(l,Ne({},u,{},f,{},p,{symbol:c,title:o,titleId:s}));if(!d)return function(){var e;!Pe&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",l),null;var h=d.abstract,m={ref:t};return Object.keys(r).forEach((function(e){De.defaultProps.hasOwnProperty(e)||(m[e]=r[e])})),Ie(h[0],m)}De.displayName="FontAwesomeIcon",De.propTypes={border:Me().bool,className:Me().string,mask:Me().oneOfType([Me().object,Me().array,Me().string]),fixedWidth:Me().bool,inverse:Me().bool,flip:Me().oneOf(["horizontal","vertical","both"]),icon:Me().oneOfType([Me().object,Me().array,Me().string]),listItem:Me().bool,pull:Me().oneOf(["right","left"]),pulse:Me().bool,rotation:Me().oneOf([0,90,180,270]),size:Me().oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:Me().bool,symbol:Me().oneOfType([Me().bool,Me().string]),title:Me().string,transform:Me().oneOfType([Me().string,Me().object]),swapOpacity:Me().bool},De.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null,swapOpacity:!1};var Ie=function e(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof r)return r;var a=(r.children||[]).map((function(r){return e(t,r)})),c=Object.keys(r.attributes||{}).reduce((function(e,t){var n=r.attributes[t];switch(t){case"class":e.attrs.className=n,delete r.attributes.class;break;case"style":e.attrs.style=Ve(n);break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=n:e.attrs[Ee(t)]=n}return e}),{attrs:{}}),i=n.style,o=void 0===i?{}:i,s=Ae(n,["style"]);return c.attrs.style=Ne({},c.attrs.style,{},o),t.apply(void 0,[r.tag,Ne({},c.attrs,{},s)].concat(Te(a)))}.bind(null,Ce.createElement)},6781:e=>{"use strict";e.exports=function(e,t){for(var r=new Array(arguments.length-1),n=0,a=2,c=!0;a{"use strict";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var r=0;--t%4>1&&"="===e.charAt(t);)++r;return Math.ceil(3*e.length)/4-r};for(var n=new Array(64),a=new Array(123),c=0;c<64;)a[n[c]=c<26?c+65:c<52?c+71:c<62?c-4:c-59|43]=c++;r.encode=function(e,t,r){for(var a,c=null,i=[],o=0,s=0;t>2],a=(3&l)<<4,s=1;break;case 1:i[o++]=n[a|l>>4],a=(15&l)<<2,s=2;break;case 2:i[o++]=n[a|l>>6],i[o++]=n[63&l],s=0}o>8191&&((c||(c=[])).push(String.fromCharCode.apply(String,i)),o=0)}return s&&(i[o++]=n[a],i[o++]=61,1===s&&(i[o++]=61)),c?(o&&c.push(String.fromCharCode.apply(String,i.slice(0,o))),c.join("")):String.fromCharCode.apply(String,i.slice(0,o))};var i="invalid encoding";r.decode=function(e,t,r){for(var n,c=r,o=0,s=0;s1)break;if(void 0===(l=a[l]))throw Error(i);switch(o){case 0:n=l,o=1;break;case 1:t[r++]=n<<2|(48&l)>>4,n=l,o=2;break;case 2:t[r++]=(15&n)<<4|(60&l)>>2,n=l,o=3;break;case 3:t[r++]=(3&n)<<6|l,o=0}}if(1===o)throw Error(i);return r-c},r.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},1706:e=>{"use strict";function t(e,r){"string"==typeof e&&(r=e,e=void 0);var n=[];function a(e){if("string"!=typeof e){var r=c();if(t.verbose&&console.log("codegen: "+r),r="return "+r,e){for(var i=Object.keys(e),o=new Array(i.length+1),s=new Array(i.length),l=0;l{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:r||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var r=this._listeners[e],n=0;n{"use strict";e.exports=c;var n=r(6781),a=r(6116)("fs");function c(e,t,r){return"function"==typeof t?(r=t,t={}):t||(t={}),r?!t.xhr&&a&&a.readFile?a.readFile(e,(function(n,a){return n&&"undefined"!=typeof XMLHttpRequest?c.xhr(e,t,r):n?r(n):r(null,t.binary?a:a.toString("utf8"))})):c.xhr(e,t,r):n(c,this,e,t)}c.xhr=function(e,t,r){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===n.readyState){if(0!==n.status&&200!==n.status)return r(Error("status "+n.status));if(t.binary){var e=n.response;if(!e){e=[];for(var a=0;a{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=128===r[3];function a(e,n,a){t[0]=e,n[a]=r[0],n[a+1]=r[1],n[a+2]=r[2],n[a+3]=r[3]}function c(e,n,a){t[0]=e,n[a]=r[3],n[a+1]=r[2],n[a+2]=r[1],n[a+3]=r[0]}function i(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],t[0]}function o(e,n){return r[3]=e[n],r[2]=e[n+1],r[1]=e[n+2],r[0]=e[n+3],t[0]}e.writeFloatLE=n?a:c,e.writeFloatBE=n?c:a,e.readFloatLE=n?i:o,e.readFloatBE=n?o:i}():function(){function t(e,t,r,n){var a=t<0?1:0;if(a&&(t=-t),0===t)e(1/t>0?0:2147483648,r,n);else if(isNaN(t))e(2143289344,r,n);else if(t>34028234663852886e22)e((a<<31|2139095040)>>>0,r,n);else if(t<11754943508222875e-54)e((a<<31|Math.round(t/1401298464324817e-60))>>>0,r,n);else{var c=Math.floor(Math.log(t)/Math.LN2);e((a<<31|c+127<<23|8388607&Math.round(t*Math.pow(2,-c)*8388608))>>>0,r,n)}}function i(e,t,r){var n=e(t,r),a=2*(n>>31)+1,c=n>>>23&255,i=8388607&n;return 255===c?i?NaN:a*(1/0):0===c?1401298464324817e-60*a*i:a*Math.pow(2,c-150)*(i+8388608)}e.writeFloatLE=t.bind(null,r),e.writeFloatBE=t.bind(null,n),e.readFloatLE=i.bind(null,a),e.readFloatBE=i.bind(null,c)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=128===r[7];function a(e,n,a){t[0]=e,n[a]=r[0],n[a+1]=r[1],n[a+2]=r[2],n[a+3]=r[3],n[a+4]=r[4],n[a+5]=r[5],n[a+6]=r[6],n[a+7]=r[7]}function c(e,n,a){t[0]=e,n[a]=r[7],n[a+1]=r[6],n[a+2]=r[5],n[a+3]=r[4],n[a+4]=r[3],n[a+5]=r[2],n[a+6]=r[1],n[a+7]=r[0]}function i(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],r[4]=e[n+4],r[5]=e[n+5],r[6]=e[n+6],r[7]=e[n+7],t[0]}function o(e,n){return r[7]=e[n],r[6]=e[n+1],r[5]=e[n+2],r[4]=e[n+3],r[3]=e[n+4],r[2]=e[n+5],r[1]=e[n+6],r[0]=e[n+7],t[0]}e.writeDoubleLE=n?a:c,e.writeDoubleBE=n?c:a,e.readDoubleLE=n?i:o,e.readDoubleBE=n?o:i}():function(){function t(e,t,r,n,a,c){var i=n<0?1:0;if(i&&(n=-n),0===n)e(0,a,c+t),e(1/n>0?0:2147483648,a,c+r);else if(isNaN(n))e(0,a,c+t),e(2146959360,a,c+r);else if(n>17976931348623157e292)e(0,a,c+t),e((i<<31|2146435072)>>>0,a,c+r);else{var o;if(n<22250738585072014e-324)e((o=n/5e-324)>>>0,a,c+t),e((i<<31|o/4294967296)>>>0,a,c+r);else{var s=Math.floor(Math.log(n)/Math.LN2);1024===s&&(s=1023),e(4503599627370496*(o=n*Math.pow(2,-s))>>>0,a,c+t),e((i<<31|s+1023<<20|1048576*o&1048575)>>>0,a,c+r)}}}function i(e,t,r,n,a){var c=e(n,a+t),i=e(n,a+r),o=2*(i>>31)+1,s=i>>>20&2047,l=4294967296*(1048575&i)+c;return 2047===s?l?NaN:o*(1/0):0===s?5e-324*o*l:o*Math.pow(2,s-1075)*(l+4503599627370496)}e.writeDoubleLE=t.bind(null,r,0,4),e.writeDoubleBE=t.bind(null,n,4,0),e.readDoubleLE=i.bind(null,a,0,4),e.readDoubleBE=i.bind(null,c,4,0)}(),e}function r(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function n(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=255&e}function a(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function c(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},6116:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},2659:(e,t)=>{"use strict";var r=t,n=r.isAbsolute=function(e){return/^(?:\/|\w+:)/.test(e)},a=r.normalize=function(e){var t=(e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/")).split("/"),r=n(e),a="";r&&(a=t.shift()+"/");for(var c=0;c0&&".."!==t[c-1]?t.splice(--c,2):r?t.splice(c,1):++c:"."===t[c]?t.splice(c,1):++c;return a+t.join("/")};r.resolve=function(e,t,r){return r||(t=a(t)),n(t)?t:(r||(e=a(e)),(e=e.replace(/(?:\/|^)[^/]+$/,"")).length?a(e+"/"+t):t)}},804:e=>{"use strict";e.exports=function(e,t,r){var n=r||8192,a=n>>>1,c=null,i=n;return function(r){if(r<1||r>a)return e(r);i+r>n&&(c=e(n),i=0);var o=t.call(c,i,i+=r);return 7&i&&(i=1+(7|i)),o}}},7958:(e,t)=>{"use strict";var r=t;r.length=function(e){for(var t=0,r=0,n=0;n191&&n<224?c[i++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,c[i++]=55296+(n>>10),c[i++]=56320+(1023&n)):c[i++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],i>8191&&((a||(a=[])).push(String.fromCharCode.apply(String,c)),i=0);return a?(i&&a.push(String.fromCharCode.apply(String,c.slice(0,i))),a.join("")):String.fromCharCode.apply(String,c.slice(0,i))},r.write=function(e,t,r){for(var n,a,c=r,i=0;i>6|192,t[r++]=63&n|128):55296==(64512&n)&&56320==(64512&(a=e.charCodeAt(i+1)))?(n=65536+((1023&n)<<10)+(1023&a),++i,t[r++]=n>>18|240,t[r++]=n>>12&63|128,t[r++]=n>>6&63|128,t[r++]=63&n|128):(t[r++]=n>>12|224,t[r++]=n>>6&63|128,t[r++]=63&n|128);return r-c}},1529:function(e,t,r){"use strict";var n,a=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayMultimap=void 0;var c=function(e){function t(t){return e.call(this,new i,t)||this}return a(t,e),Object.defineProperty(t.prototype,Symbol.toStringTag,{get:function(){return"ArrayMultimap"},enumerable:!1,configurable:!0}),t}(r(9429).Multimap);t.ArrayMultimap=c;var i=function(){function e(){}return e.prototype.create=function(){return[]},e.prototype.clone=function(e){return e.slice()},e.prototype.add=function(e,t){return t.push(e),!0},e.prototype.size=function(e){return e.length},e.prototype.delete=function(e,t){var r=t.indexOf(e);return r>-1&&(t.splice(r,1),!0)},e.prototype.has=function(e,t){return t.includes(e)},e}()},4575:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetMultimap=t.ArrayMultimap=void 0;var n=r(1529);Object.defineProperty(t,"ArrayMultimap",{enumerable:!0,get:function(){return n.ArrayMultimap}});var a=r(9267);Object.defineProperty(t,"SetMultimap",{enumerable:!0,get:function(){return a.SetMultimap}})},9429:function(e,t){"use strict";var r=this&&this.__generator||function(e,t){var r,n,a,c,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return c={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function o(c){return function(o){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,n=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!((a=(a=i.trys).length>0&&a[a.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,c=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=c.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=c.return)&&r.call(c)}finally{if(a)throw a.error}}return i};Object.defineProperty(t,"__esModule",{value:!0}),t.Multimap=void 0;var c=function(){function e(e,t){var r,c;if(this.size_=0,this.map=new Map,this.operator=e,t)try{for(var i=n(t),o=i.next();!o.done;o=i.next()){var s=a(o.value,2),l=s[0],u=s[1];this.put(l,u)}}catch(e){r={error:e}}finally{try{o&&!o.done&&(c=i.return)&&c.call(i)}finally{if(r)throw r.error}}return this}return Object.defineProperty(e.prototype,"size",{get:function(){return this.size_},enumerable:!1,configurable:!0}),e.prototype.get=function(e){var t=this.map.get(e);return t?this.operator.clone(t):this.operator.create()},e.prototype.put=function(e,t){var r=this.map.get(e);return r||(r=this.operator.create()),!!this.operator.add(t,r)&&(this.map.set(e,r),this.size_++,!0)},e.prototype.putAll=function(t,r){var c,i,o,s,l=0;if(r){var u=t,f=r;try{for(var p=n(f),d=p.next();!d.done;d=p.next()){var h=d.value;this.put(u,h),l++}}catch(e){c={error:e}}finally{try{d&&!d.done&&(i=p.return)&&i.call(p)}finally{if(c)throw c.error}}}else{if(!(t instanceof e))throw new TypeError("unexpected arguments");try{for(var m=n(t.entries()),v=m.next();!v.done;v=m.next()){var g=a(v.value,2);u=g[0],h=g[1],this.put(u,h),l++}}catch(e){o={error:e}}finally{try{v&&!v.done&&(s=m.return)&&s.call(m)}finally{if(o)throw o.error}}}return l>0},e.prototype.has=function(e){return this.map.has(e)},e.prototype.hasEntry=function(e,t){return this.operator.has(t,this.get(e))},e.prototype.delete=function(e){return this.size_-=this.operator.size(this.get(e)),this.map.delete(e)},e.prototype.deleteEntry=function(e,t){var r=this.get(e);return!!this.operator.delete(t,r)&&(this.map.set(e,r),this.size_--,!0)},e.prototype.clear=function(){this.map.clear(),this.size_=0},e.prototype.keys=function(){return this.map.keys()},e.prototype.entries=function(){var e=this;return function(){var t,c,i,o,s,l,u,f,p,d,h,m,v,g;return r(this,(function(r){switch(r.label){case 0:r.trys.push([0,11,12,13]),t=n(e.map.entries()),c=t.next(),r.label=1;case 1:if(c.done)return[3,10];i=a(c.value,2),o=i[0],s=i[1],r.label=2;case 2:r.trys.push([2,7,8,9]),v=void 0,l=n(s),u=l.next(),r.label=3;case 3:return u.done?[3,6]:(f=u.value,[4,[o,f]]);case 4:r.sent(),r.label=5;case 5:return u=l.next(),[3,3];case 6:return[3,9];case 7:return p=r.sent(),v={error:p},[3,9];case 8:try{u&&!u.done&&(g=l.return)&&g.call(l)}finally{if(v)throw v.error}return[7];case 9:return c=t.next(),[3,1];case 10:return[3,13];case 11:return d=r.sent(),h={error:d},[3,13];case 12:try{c&&!c.done&&(m=t.return)&&m.call(t)}finally{if(h)throw h.error}return[7];case 13:return[2]}}))}()},e.prototype.values=function(){var e=this;return function(){var t,c,i,o,s;return r(this,(function(r){switch(r.label){case 0:r.trys.push([0,5,6,7]),t=n(e.entries()),c=t.next(),r.label=1;case 1:return c.done?[3,4]:[4,a(c.value,2)[1]];case 2:r.sent(),r.label=3;case 3:return c=t.next(),[3,1];case 4:return[3,7];case 5:return i=r.sent(),o={error:i},[3,7];case 6:try{c&&!c.done&&(s=t.return)&&s.call(t)}finally{if(o)throw o.error}return[7];case 7:return[2]}}))}()},e.prototype.forEach=function(e,t){var r,c;try{for(var i=n(this.entries()),o=i.next();!o.done;o=i.next()){var s=a(o.value,2),l=s[0],u=s[1];e.call(void 0===t?this:t,u,l,this)}}catch(e){r={error:e}}finally{try{o&&!o.done&&(c=i.return)&&c.call(i)}finally{if(r)throw r.error}}},e.prototype[Symbol.iterator]=function(){return this.entries()},e.prototype.asMap=function(){var e,t,r=new Map;try{for(var a=n(this.keys()),c=a.next();!c.done;c=a.next()){var i=c.value;r.set(i,this.operator.clone(this.get(i)))}}catch(t){e={error:t}}finally{try{c&&!c.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}return r},e}();t.Multimap=c},9267:function(e,t,r){"use strict";var n,a=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.SetMultimap=void 0;var c=function(e){function t(t){return e.call(this,new i,t)||this}return a(t,e),Object.defineProperty(t.prototype,Symbol.toStringTag,{get:function(){return"SetMultimap"},enumerable:!1,configurable:!0}),t}(r(9429).Multimap);t.SetMultimap=c;var i=function(){function e(){}return e.prototype.create=function(){return new Set},e.prototype.clone=function(e){return new Set(e)},e.prototype.add=function(e,t){var r=t.size;return t.add(e),r!==t.size},e.prototype.size=function(e){return e.size},e.prototype.delete=function(e,t){return t.delete(e)},e.prototype.has=function(e,t){return t.has(e)},e}()},4486:(e,t,r)=>{"use strict";function n(e,t){for(var r=0;r0?40*e+55:0,c=t>0?40*t+55:0,i=r>0?40*r+55:0;n[16+36*e+6*t+r]=function(e){var t=[],r=!0,n=!1,a=void 0;try{for(var c,i=e[Symbol.iterator]();!(r=(c=i.next()).done);r=!0){var s=c.value;t.push(o(s))}}catch(e){n=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(n)throw a}}return"#"+t.join("")}([a,c,i])}(e,t,r,a)}))}))})),u(0,23).forEach((function(e){var t=e+232,r=o(10*e+8);a[t]="#"+r+r+r})),a)};function o(e){for(var t=e.toString(16);t.length<2;)t="0"+t;return t}function s(e,t,r,n){var a;return"text"===t?a=function(e,t){return t.escapeXML?c.encodeXML(e):e}(r,n):"display"===t?a=function(e,t,r){var n,a={"-1":function(){return"
"},0:function(){return e.length&&l(e)},1:function(){return p(e,"b")},3:function(){return p(e,"i")},4:function(){return p(e,"u")},8:function(){return d(e,"display:none")},9:function(){return p(e,"strike")},22:function(){return d(e,"font-weight:normal;text-decoration:none;font-style:normal")},23:function(){return v(e,"i")},24:function(){return v(e,"u")},39:function(){return h(e,r.fg)},49:function(){return m(e,r.bg)},53:function(){return d(e,"text-decoration:overline")}};return a[t=parseInt(t,10)]?n=a[t]():4"})).join("")}function u(e,t){for(var r=[],n=e;n<=t;n++)r.push(n);return r}function f(e){var t=null;return 0===(e=parseInt(e,10))?t="all":1===e?t="bold":2"].join("")}function d(e,t){return p(e,"span",t)}function h(e,t){return p(e,"span","color:"+t)}function m(e,t){return p(e,"span","background-color:"+t)}function v(e,t){var r;if(e.slice(-1)[0]===t&&(r=e.pop()),r)return""}var g=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),(t=t||{}).colors&&(t.colors=Object.assign({},i.colors,t.colors)),this.options=Object.assign({},i,t),this.stack=[],this.stickyStack=[]}var t,r;return t=e,(r=[{key:"toHtml",value:function(e){var t=this;e="string"==typeof e?[e]:e;var r=this.stack,n=this.options,a=[];return this.stickyStack.forEach((function(e){var t=s(r,e.token,e.data,n);t&&a.push(t)})),function(e,t,r){var n=!1;function a(){return""}function c(e){return t.newline?r("display",-1):r("text",e),""}var i=[{pattern:/^\x08+/,sub:a},{pattern:/^\x1b\[[012]?K/,sub:a},{pattern:/^\x1b\[\(B/,sub:a},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:function(e){return r("rgb",e),""}},{pattern:/^\x1b\[38;5;(\d+)m/,sub:function(e,t){return r("xterm256",t),""}},{pattern:/^\n/,sub:c},{pattern:/^\r+\n/,sub:c},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:function(e,t){n=!0,0===t.trim().length&&(t="0"),t=t.trimRight(";").split(";");var a=!0,c=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done);a=!0){var l=o.value;r("display",l)}}catch(e){c=!0,i=e}finally{try{a||null==s.return||s.return()}finally{if(c)throw i}}return""}},{pattern:/^\x1b\[\d?J/,sub:a},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:a},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:a},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:function(e){return r("text",e),""}}];function o(t,r){r>3&&n||(n=!1,e=e.replace(t.pattern,t.sub))}var s=[],l=e.length;e:for(;l>0;){for(var u=0,f=0,p=i.length;f{"use strict";e.exports=function(e){if(e)throw e}},6594:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]),t.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]])},606:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r";case o.Comment:return"\x3c!--"+e.data+"--\x3e";case o.CDATA:return function(e){return""}(e);case o.Script:case o.Style:case o.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=l.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&h.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&m.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var a="<"+e.name,c=function(e,t){if(e)return Object.keys(e).map((function(r){var n,a,c=null!==(n=e[r])&&void 0!==n?n:"";return"foreign"===t.xmlMode&&(r=null!==(a=l.attributeNames.get(r))&&void 0!==a?a:r),t.emptyAttrs||t.xmlMode||""!==c?r+'="'+(t.decodeEntities?s.encodeXML(c):c.replace(/"/g,"""))+'"':r})).join(" ")}(e.attribs,t);return c&&(a+=" "+c),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&f.has(e.name))?(t.xmlMode||(a+=" "),a+="/>"):(a+=">",e.children.length>0&&(a+=p(e.children,t)),!t.xmlMode&&f.has(e.name)||(a+="")),a}(e,t);case o.Text:return function(e,t){var r=e.data||"";return!t.decodeEntities||e.parent&&u.has(e.parent.name)||(r=s.encodeXML(r)),r}(e,t)}}t.default=p;var h=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),m=new Set(["svg","math"])},6376:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeHTML=t.decodeHTMLStrict=t.decodeXML=void 0;var a=n(r(5109)),c=n(r(6029)),i=n(r(6152)),o=n(r(7994)),s=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function l(e){var t=f(e);return function(e){return String(e).replace(s,t)}}t.decodeXML=l(i.default),t.decodeHTMLStrict=l(a.default);var u=function(e,t){return e65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in a.default&&(e=a.default[e]),c(e))}},342:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var a=u(n(r(6152)).default),c=f(a);t.encodeXML=v(a);var i,o,s=u(n(r(5109)).default),l=f(s);function u(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]="&"+r+";",t}),{})}function f(e){for(var t=[],r=[],n=0,a=Object.keys(e);n1?d(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var m=new RegExp(c.source+"|"+p.source,"g");function v(e){return function(t){return t.replace(m,(function(t){return e[t]||h(t)}))}}t.escape=function(e){return e.replace(m,h)},t.escapeUTF8=function(e){return e.replace(c,h)}},7187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=r(6376),a=r(342);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?a.encodeXML:a.encodeHTML)(e)};var c=r(342);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return c.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return c.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return c.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return c.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return c.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return c.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return c.encodeHTML}});var i=r(6376);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return i.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return i.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return i.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return i.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return i.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return i.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return i.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return i.decodeXML}})},680:e=>{"use strict";e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},5109:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},6029:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},6152:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},4821:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=void 0,t.isTag=function(e){return"tag"===e.type||"script"===e.type||"style"===e.type},t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"},9959:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.DomHandler=void 0;var c=r(5538);a(r(5538),t);var i=/\s+/g,o={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1},s=function(){function e(e,t,r){this.dom=[],this._done=!1,this._tagStack=[],this._lastNode=null,this._parser=null,"function"==typeof t&&(r=t,t=o),"object"==typeof e&&(t=e,e=void 0),this._callback=null!=e?e:null,this._options=null!=t?t:o,this._elementCB=null!=r?r:null}return e.prototype.onparserinit=function(e){this._parser=e},e.prototype.onreset=function(){var e;this.dom=[],this._done=!1,this._tagStack=[],this._lastNode=null,this._parser=null!==(e=this._parser)&&void 0!==e?e:null},e.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this.handleCallback(null))},e.prototype.onerror=function(e){this.handleCallback(e)},e.prototype.onclosetag=function(){this._lastNode=null;var e=this._tagStack.pop();e&&this._parser&&(this._options.withEndIndices&&(e.endIndex=this._parser.endIndex),this._elementCB&&this._elementCB(e))},e.prototype.onopentag=function(e,t){var r=new c.Element(e,t);this.addNode(r),this._tagStack.push(r)},e.prototype.ontext=function(e){var t=this._options.normalizeWhitespace,r=this._lastNode;if(r&&"text"===r.type)t?r.data=(r.data+e).replace(i," "):r.data+=e;else{t&&(e=e.replace(i," "));var n=new c.Text(e);this.addNode(n),this._lastNode=n}},e.prototype.oncomment=function(e){if(this._lastNode&&"comment"===this._lastNode.type)this._lastNode.data+=e;else{var t=new c.Comment(e);this.addNode(t),this._lastNode=t}},e.prototype.oncommentend=function(){this._lastNode=null},e.prototype.oncdatastart=function(){var e=new c.Text(""),t=new c.NodeWithChildren("cdata",[e]);this.addNode(t),e.parent=t,this._lastNode=e},e.prototype.oncdataend=function(){this._lastNode=null},e.prototype.onprocessinginstruction=function(e,t){var r=new c.ProcessingInstruction(e,t);this.addNode(r)},e.prototype.handleCallback=function(e){if("function"==typeof this._callback)this._callback(e,this.dom);else if(e)throw e},e.prototype.addNode=function(e){var t=this._tagStack[this._tagStack.length-1],r=t?t.children:this.dom,n=r[r.length-1];this._parser&&(this._options.withStartIndices&&(e.startIndex=this._parser.startIndex),this._options.withEndIndices&&(e.endIndex=this._parser.endIndex)),r.push(e),n&&(e.prev=n,n.next=e),t&&(e.parent=t),this._lastNode=null},e.prototype.addDataNode=function(e){this.addNode(e),this._lastNode=e},e}();t.DomHandler=s,t.default=s},5538:function(e,t){"use strict";var r,n=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(i);t.NodeWithChildren=f;var p=function(e){function t(t,r,n){void 0===n&&(n=[]);var a=e.call(this,"script"===t?"script":"style"===t?"style":"tag",n)||this;return a.name=t,a.attribs=r,a.attribs=r,a}return n(t,e),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){return{name:t,value:e.attribs[t]}}))},enumerable:!1,configurable:!0}),t}(f);function d(e,t){switch(void 0===t&&(t=!1),e.type){case"text":return new s(e.data);case"directive":var r=e;return new u(r.name,r.data);case"comment":return new l(e.data);case"tag":case"script":case"style":var n=e,c=t?h(n.children):[],i=new p(n.name,a({},n.attribs),c);return c.forEach((function(e){return e.parent=i})),i;case"cdata":c=t?h(e.children):[];var o=new f("cdata",c);return c.forEach((function(e){return e.parent=o})),o;case"doctype":throw new Error("Not implemented yet: ElementType.Doctype case")}}function h(e){for(var t=e.map((function(e){return d(e,!0)})),r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSort=t.compareDocumentPosition=t.removeSubsets=void 0;var n=r(9674);function a(e,t){var r=[],a=[];if(e===t)return 0;for(var c=n.hasChildren(e)?e:e.parent;c;)r.unshift(c),c=c.parent;for(c=n.hasChildren(t)?t:t.parent;c;)a.unshift(c),c=c.parent;for(var i=Math.min(r.length,a.length),o=0;ol.indexOf(f)?s===t?20:4:s===e?10:2}t.removeSubsets=function(e){for(var t=e.length;--t>=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=a,t.uniqueSort=function(e){return(e=e.filter((function(e,t,r){return!r.includes(e,t+1)}))).sort((function(e,t){var r=a(e,t);return 2&r?-1:4&r?1:0})),e}},4622:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),a(r(7559),t),a(r(6304),t),a(r(7427),t),a(r(7853),t),a(r(5310),t),a(r(2880),t),a(r(9674),t)},5310:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getElementsByTagType=t.getElementsByTagName=t.getElementById=t.getElements=t.testElement=void 0;var n=r(7853),a=r(9674),c={tag_name:function(e){return"function"==typeof e?function(t){return a.isTag(t)&&e(t.name)}:"*"===e?a.isTag:function(t){return a.isTag(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return a.isText(t)&&e(t.data)}:function(t){return a.isText(t)&&t.data===e}}};function i(e,t){return"function"==typeof t?function(r){return a.isTag(r)&&t(r.attribs[e])}:function(r){return a.isTag(r)&&r.attribs[e]===t}}function o(e,t){return function(r){return e(r)||t(r)}}function s(e){var t=Object.keys(e).map((function(t){var r=e[t];return t in c?c[t](r):i(t,r)}));return 0===t.length?null:t.reduce(o)}t.testElement=function(e,t){var r=s(e);return!r||r(t)},t.getElements=function(e,t,r,a){void 0===a&&(a=1/0);var c=s(e);return c?n.filter(c,t,r,a):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),n.findOne(i("id",e),t,r)},t.getElementsByTagName=function(e,t,r,a){return void 0===r&&(r=!0),void 0===a&&(a=1/0),n.filter(c.tag_name(e),t,r,a)},t.getElementsByTagType=function(e,t,r,a){return void 0===r&&(r=!0),void 0===a&&(a=1/0),n.filter(c.tag_type(e),t,r,a)}},7427:(e,t)=>{"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}Object.defineProperty(t,"__esModule",{value:!0}),t.prepend=t.prependChild=t.append=t.appendChild=t.replaceElement=t.removeElement=void 0,t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var a=t.parent=e.parent;if(a){var c=a.children;c[c.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,a=e.next;if(t.next=a,t.prev=e,e.next=t,t.parent=n,a){if(a.prev=t,n){var c=n.children;c.splice(c.lastIndexOf(a),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var a=n.children;a.splice(a.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},7853:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findAll=t.existsOne=t.findOne=t.findOneChild=t.find=t.filter=void 0;var n=r(9674);function a(e,t,r,c){for(var i=[],o=0,s=t;o0){var u=a(e,l.children,r,c);if(i.push.apply(i,u),(c-=u.length)<=0)break}}return i}t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),Array.isArray(t)||(t=[t]),a(e,t,r,n)},t.find=a,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,a){void 0===a&&(a=!0);for(var c=null,i=0;i0&&(c=e(t,o.children)))}return c},t.existsOne=function e(t,r){return r.some((function(r){return n.isTag(r)&&(t(r)||r.children.length>0&&e(t,r.children))}))},t.findAll=function(e,t){for(var r,a,c=[],i=t.filter(n.isTag);a=i.shift();){var o=null===(r=a.children)||void 0===r?void 0:r.filter(n.isTag);o&&o.length>0&&i.unshift.apply(i,o),e(a)&&c.push(a)}return c}},7559:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getText=t.getInnerHTML=t.getOuterHTML=void 0;var a=r(9674),c=n(r(606));function i(e,t){return c.default(e,t)}t.getOuterHTML=i,t.getInnerHTML=function(e,t){return a.hasChildren(e)?e.children.map((function(e){return i(e,t)})).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):a.isTag(t)?"br"===t.name?"\n":e(t.children):a.isCDATA(t)?e(t.children):a.isText(t)?t.data:""}},9674:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isComment=t.isText=t.isCDATA=t.isTag=void 0;var n=r(4821);t.isTag=function(e){return n.isTag(e)},t.isCDATA=function(e){return"cdata"===e.type},t.isText=function(e){return"text"===e.type},t.isComment=function(e){return"comment"===e.type},t.hasChildren=function(e){return Object.prototype.hasOwnProperty.call(e,"children")}},6304:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prevElementSibling=t.nextElementSibling=t.getName=t.hasAttrib=t.getAttributeValue=t.getSiblings=t.getParent=t.getChildren=void 0;var n=r(9674),a=[];function c(e){var t;return null!==(t=e.children)&&void 0!==t?t:a}function i(e){return e.parent||null}t.getChildren=c,t.getParent=i,t.getSiblings=function(e){var t=i(e);if(null!=t)return c(t);for(var r=[e],n=e.prev,a=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=a;)r.push(a),a=a.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!n.isTag(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!n.isTag(t);)t=t.prev;return t}},4794:(e,t,r)=>{var n,a;!function(){var c,i,o,s,l,u,f,p,d,h,m,v,g,y,b,w,x,z,S,k,M,C,O,L,H,N=function(e){var t=new N.Index;return t.pipeline.add(N.trimmer,N.stopWordFilter,N.stemmer),e&&e.call(t,t),t};N.version="0.9.5",lunr=N,N.utils={},N.utils.warn=(c=this,function(e){c.console&&console.warn&&console.warn(e)}),N.utils.toString=function(e){return null==e?"":e.toString()},N.EventEmitter=function(){this.events={}},N.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),r=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");r.forEach((function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)}),this)},N.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var r=this.events[e].indexOf(t);-1!==r&&(this.events[e].splice(r,1),0==this.events[e].length&&delete this.events[e])}},N.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach((function(e){e.apply(void 0,t)}),this)}},N.EventEmitter.prototype.hasHandler=function(e){return e in this.events},N.tokenizer=function(e){if(!arguments.length||null==e)return[];if(Array.isArray(e)){var t=e.filter((function(e){return null!=e}));t=t.map((function(e){return N.utils.toString(e).toLowerCase()}));var r=[];return t.forEach((function(e){var t=e.split(N.tokenizer.seperator);r=r.concat(t)}),this),r}return e.toString().trim().toLowerCase().split(N.tokenizer.seperator)},N.tokenizer.defaultSeperator=/[\s\-]+/,N.tokenizer.seperator=N.tokenizer.defaultSeperator,N.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(N.tokenizer.seperator=e)},N.tokenizer.resetSeperator=function(){N.tokenizer.seperator=N.tokenizer.defaultSeperator},N.tokenizer.getSeperator=function(){return N.tokenizer.seperator},N.Pipeline=function(){this._queue=[]},N.Pipeline.registeredFunctions={},N.Pipeline.registerFunction=function(e,t){t in N.Pipeline.registeredFunctions&&N.utils.warn("Overwriting existing registered function: "+t),e.label=t,N.Pipeline.registeredFunctions[t]=e},N.Pipeline.getRegisteredFunction=function(e){return e in N.Pipeline.registeredFunctions!=1?null:N.Pipeline.registeredFunctions[e]},N.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||N.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},N.Pipeline.load=function(e){var t=new N.Pipeline;return e.forEach((function(e){var r=N.Pipeline.getRegisteredFunction(e);if(!r)throw new Error("Cannot load un-registered function: "+e);t.add(r)})),t},N.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){N.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)}),this)},N.Pipeline.prototype.after=function(e,t){N.Pipeline.warnIfFunctionNotRegistered(t);var r=this._queue.indexOf(e);if(-1===r)throw new Error("Cannot find existingFn");this._queue.splice(r+1,0,t)},N.Pipeline.prototype.before=function(e,t){N.Pipeline.warnIfFunctionNotRegistered(t);var r=this._queue.indexOf(e);if(-1===r)throw new Error("Cannot find existingFn");this._queue.splice(r,0,t)},N.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},N.Pipeline.prototype.run=function(e){for(var t=[],r=e.length,n=this._queue.length,a=0;a0&&t.push(e),r)"docs"!==n&&"df"!==n&&this.expandToken(e+n,t,r[n]);return t},N.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},N.Configuration=function(e,t){var r;if(e=e||"",null==t||null==t)throw new Error("fields should not be null");this.config={};try{r=JSON.parse(e),this.buildUserConfig(r,t)}catch(e){N.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(t)}},N.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach((function(e){this.config[e]={boost:1,bool:"OR",expand:!1}}),this)},N.Configuration.prototype.buildUserConfig=function(e,t){var r="OR",n=!1;if(this.reset(),"bool"in e&&(r=e.bool||r),"expand"in e&&(n=e.expand||n),"fields"in e)for(var a in e.fields)if(t.indexOf(a)>-1){var c=e.fields[a],i=n;null!=c.expand&&(i=c.expand),this.config[a]={boost:c.boost||0===c.boost?c.boost:1,bool:c.bool||r,expand:i}}else N.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(r,n,t)},N.Configuration.prototype.addAllFields2UserConfig=function(e,t,r){r.forEach((function(r){this.config[r]={boost:1,bool:e,expand:t}}),this)},N.Configuration.prototype.get=function(){return this.config},N.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(c===e)return a;ce&&(r=a),n=r-t,a=t+Math.floor(n/2),c=this.elements[a]}return c===e?a:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,r=this.elements.length,n=r-t,a=t+Math.floor(n/2),c=this.elements[a];n>1;)ce&&(r=a),n=r-t,a=t+Math.floor(n/2),c=this.elements[a];return c>e?a:ca-1||n>c-1);)i[r]!==o[n]?i[r]o[n]&&n++:(t.add(i[r]),r++,n++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,r,n;this.length>=e.length?(t=this,r=e):(t=e,r=this),n=t.clone();for(var a=0,c=r.toArray();a{var n=r(1029),a=r(3094);t.decode=function(e,t){return(!t||t<=0?a.XML:a.HTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?a.XML:a.HTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?n.XML:n.HTML)(e)},t.encodeXML=n.XML,t.encodeHTML4=t.encodeHTML5=t.encodeHTML=n.HTML,t.decodeXML=t.decodeXMLStrict=a.XML,t.decodeHTML4=t.decodeHTML5=t.decodeHTML=a.HTML,t.decodeHTML4Strict=t.decodeHTML5Strict=t.decodeHTMLStrict=a.HTMLStrict,t.escape=n.escape},3094:(e,t,r)=>{var n=r(1328),a=r(1361),c=r(7309),i=r(105),o=l(c),s=l(n);function l(e){var t=Object.keys(e).join("|"),r=p(e),n=new RegExp("&(?:"+(t+="|#[xX][\\da-fA-F]+|#\\d+")+");","g");return function(e){return String(e).replace(n,r)}}var u=function(){for(var e=Object.keys(a).sort(f),t=Object.keys(n).sort(f),r=0,c=0;r{var n=r(4238);e.exports=function(e){if(e>=55296&&e<=57343||e>1114111)return"�";e in n&&(e=n[e]);var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)}},1029:(e,t,r)=>{var n=o(r(7309)),a=s(n);t.XML=d(n,a);var c=o(r(1328)),i=s(c);function o(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]="&"+r+";",t}),{})}function s(e){var t=[],r=[];return Object.keys(e).forEach((function(e){1===e.length?t.push("\\"+e):r.push(e)})),r.unshift("["+t.join("")+"]"),new RegExp(r.join("|"),"g")}t.HTML=d(c,i);var l=/[^\0-\x7F]/g,u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function f(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"}function p(e){return"&#x"+(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)-56320+65536).toString(16).toUpperCase()+";"}function d(e,t){function r(t){return e[t]}return function(e){return e.replace(t,r).replace(u,p).replace(l,f)}}var h=s(n);t.escape=function(e){return e.replace(h,f).replace(u,p).replace(l,f)}},4238:e=>{"use strict";e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},1328:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},1361:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},7309:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},9385:e=>{"use strict";var t=Object.prototype.hasOwnProperty,r=Object.prototype.toString,n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,c=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===r.call(e)},i=function(e){if(!e||"[object Object]"!==r.call(e))return!1;var n,a=t.call(e,"constructor"),c=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!a&&!c)return!1;for(n in e);return void 0===n||t.call(e,n)},o=function(e,t){n&&"__proto__"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},s=function(e,r){if("__proto__"===r){if(!t.call(e,r))return;if(a)return a(e,r).value}return e[r]};e.exports=function e(){var t,r,n,a,l,u,f=arguments[0],p=1,d=arguments.length,h=!1;for("boolean"==typeof f&&(h=f,f=arguments[1]||{},p=2),(null==f||"object"!=typeof f&&"function"!=typeof f)&&(f={});p{"use strict";r.r(t),r.d(t,{default:()=>f});let n=36,a="";for(;n--;)a+=n.toString(36);function c(e=11){let t="",r=e;for(;r--;)t+=a[36*Math.random()|0];return t}const i=("match",e=>null!=e&&"match"in e);const o=e=>void 0!==e;function s({curr:e,next:t,prev:r,clipBy:n=3}){const a=e.text.split(" "),c=a.length;if(e.match||n>=c)return e.text;const s="...";return o(t)&&o(r)&&i(r)&&i(t)?c>2*n?[...a.slice(0,n),s,...a.slice(-n)].join(" "):e.text:o(t)&&i(t)?[s,...a.slice(-n)].join(" "):o(r)&&i(r)?[...a.slice(0,n),s].join(" "):e.text}var l=Object.assign;const u=e=>e.length>0,f=({text:e,query:t,clipBy:r,matchExactly:n=!1})=>{const a=t.trim();if(""===a)return[{key:c(),text:e,match:!1}];const i=new RegExp((({terms:e,matchExactly:t=!1})=>{if("string"!=typeof e)throw new TypeError("Expected a string");const r=e.trim().replace(/[|\\{}()[\]^$+*?.-]/g,(e=>`\\${e}`));return`(${t?r:r.split(" ").join("|")})`})({terms:a,matchExactly:n}),"ig");return e.split(i).filter(u).map((e=>({key:c(),text:e,match:n?e.toLowerCase()===a.toLowerCase():i.test(e)}))).map(((e,t,n)=>l(l({},e),"number"==typeof r&&{text:s(l(l(l({curr:e},t0&&{prev:n[t-1]}),{clipBy:r}))})))}},9324:(e,t,r)=>{"use strict";var n=r(9604),a=r(5260),c=r(5711),i=r(2462);e.exports={Parser:n,ProcessingInstructions:a,IsValidNodeDefinitions:c,ProcessNodeDefinitions:i}},6633:e=>{"use strict";var t=["accept","acceptCharset","accessKey","action","allowFullScreen","allowTransparency","alt","async","autoComplete","autoFocus","autoPlay","capture","cellPadding","cellSpacing","challenge","charSet","checked","cite","classID","className","colSpan","cols","content","contentEditable","contextMenu","controls","coords","crossOrigin","data","dateTime","default","defer","dir","disabled","download","draggable","encType","form","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","icon","id","inputMode","integrity","is","keyParams","keyType","kind","label","lang","list","loop","low","manifest","marginHeight","marginWidth","max","maxLength","media","mediaGroup","method","min","minLength","multiple","muted","name","noValidate","nonce","open","optimum","pattern","placeholder","poster","preload","profile","radioGroup","readOnly","rel","required","reversed","role","rowSpan","rows","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","span","spellCheck","src","srcDoc","srcLang","srcSet","start","step","style","summary","tabIndex","target","title","type","useMap","value","width","wmode","wrap","onClick"].concat(["autoCapitalize","autoCorrect","color","itemProp","itemScope","itemType","itemRef","itemID","security","unselectable","results","autoSave"]).concat(["accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baseProfile","baselineShift","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in","in2","intercept","k","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","scale","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","viewBox","viewTarget","visibility","widths","wordSpacing","writingMode","x","x1","x2","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlns","xmlnsXlink","xmlBase","xmlLang","xmlSpace","y","y1","y2","yChannelSelector","z","zoomAndPan"]).reduce((function(e,t){var r=t.toLowerCase();return r!==t&&(e[r]=t),e}),{});e.exports=t},5711:e=>{"use strict";e.exports={alwaysValid:function(){return!0}}},9604:(e,t,r)=>{"use strict";var n=r(1955),a=r(6266),c=r(4397),i=r(183),o=r(9396),s=r(443).Parser,l=r(9959).DomHandler,u=r(5260),f=r(5711),p=r(3336);e.exports=function(e){function t(e,r,s,l,u){if(r(e)){n((function(t){t.shouldPreprocessNode(e)&&t.preprocessNode(e,u)}),l||[]);var f=a((function(t){return t.shouldProcessNode(e)}),s||[]);if(null!=f){var d=c((function(e){return null==e||!1===e}),i(o)((function(e,n){return t(e,r,s,l,n)}),e.children||[]));return f.replaceChildren?p.createElement(e,u,e.data,[f.processNode(e,d,u)]):f.processNode(e,d,u)}return!1}return!1}function r(r,n,a,c){var i=function(t){(e=e||{}).decodeEntities=!0;var r=new l;return new s(r,e).parseComplete(t),r.dom.filter((function(e){return"directive"!==e.type}))}(r).map((function(e,r){return t(e,n,a,c,r)}));return i.length<=1?i[0]:i}return{parse:function(e){var t=new u;return r(e,f.alwaysValid,t.defaultProcessingInstructions)},parseWithInstructions:r}}},2462:(e,t,r)=>{"use strict";var n=r(3336),a=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","menuitem","textarea"];e.exports=function(){return{processDefaultNode:function(e,t,r){return"text"===e.type?e.data:"comment"!==e.type&&(a.indexOf(e.name)>-1?n.createElement(e,r):n.createElement(e,r,e.data,t))}}}},5260:(e,t,r)=>{"use strict";var n=r(2632),a=r(2462);e.exports=function(){var e=new a;return{defaultProcessingInstructions:[{shouldProcessNode:n.shouldProcessEveryNode,processNode:e.processDefaultNode}]}}},2632:e=>{"use strict";e.exports={shouldProcessEveryNode:function(e){return!0}}},3336:(e,t,r)=>{"use strict";var n=r(1426),a=r(1289),c=r(3394),i=r(2784),o=r(9655),s=r(6633),l=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","truespeed"];e.exports={createElement:function(e,t,r,u){var f={key:t};e.attribs&&(f=c((function(e,t){var r=t[0],a=t[1];return"style"===(r=s[r.replace(/[-:]/,"")]||r)?a=function(e){for(var t,r,a,c=(e=e||"").split(/;(?!base64)/),i={},o=0;o2&&(t[1]=t.slice(1).join(":")),r=t[0],"string"==typeof(a=t[1])&&(a=a.trim()),null!=r&&null!=a&&r.length>0&&a.length>0&&(i[n(r)]=a);return i}(a):"class"===r?r="className":"for"===r&&(r="htmlFor"),o(r,l)&&""===(a||"")&&(a=r),e[r]=a,e}),f,a(e.attribs))),u=u||[];var p=null!=r?[r].concat(u):u;return i.createElement.apply(null,[e.name,f].concat(p))}}},183:(e,t,r)=>{var n=r(2362),a=r(567),c=r(29),i=a((function(e){return c(e.length,(function(){var t=0,r=arguments[0],a=arguments[arguments.length-1],c=Array.prototype.slice.call(arguments,0);return c[0]=function(){var e=r.apply(this,n(arguments,[t,a]));return t+=1,e},e.apply(this,c)}))}));e.exports=i},2589:(e,t,r)=>{var n=r(473),a=r(5415)((function(e,t){return n(e.length,(function(){return e.apply(t,arguments)}))}));e.exports=a},29:(e,t,r)=>{var n=r(473),a=r(567),c=r(5415),i=r(168),o=c((function(e,t){return 1===e?a(t):n(e,i(e,[],t))}));e.exports=o},6190:(e,t,r)=>{var n=r(5415),a=r(1428),c=n((function(e,t){return a(e,t,[],[])}));e.exports=c},5241:(e,t,r)=>{var n=r(5415),a=r(3060),c=r(440),i=r(2560),o=r(327),s=r(5446),l=r(4052),u=n(a(["filter"],s,(function(e,t){return i(t)?o((function(r,n){return e(t[n])&&(r[n]=t[n]),r}),{},l(t)):c(e,t)})));e.exports=u},6266:(e,t,r)=>{var n=r(5415)(r(3060)(["find"],r(7191),(function(e,t){for(var r=0,n=t.length;r{var n=r(8960),a=r(5415)(n("forEach",(function(e,t){for(var r=t.length,n=0;n{var n=r(2125),a=r(5415)(n);e.exports=a},473:e=>{e.exports=function(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,r){return t.apply(this,arguments)};case 3:return function(e,r,n){return t.apply(this,arguments)};case 4:return function(e,r,n,a){return t.apply(this,arguments)};case 5:return function(e,r,n,a,c){return t.apply(this,arguments)};case 6:return function(e,r,n,a,c,i){return t.apply(this,arguments)};case 7:return function(e,r,n,a,c,i,o){return t.apply(this,arguments)};case 8:return function(e,r,n,a,c,i,o,s){return t.apply(this,arguments)};case 9:return function(e,r,n,a,c,i,o,s,l){return t.apply(this,arguments)};case 10:return function(e,r,n,a,c,i,o,s,l,u){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}},5900:e=>{e.exports=function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}},8960:(e,t,r)=>{var n=r(6667);e.exports=function(e,t){return function(){var r=arguments.length;if(0===r)return t();var a=arguments[r-1];return n(a)||"function"!=typeof a[e]?t.apply(this,arguments):a[e].apply(a,Array.prototype.slice.call(arguments,0,r-1))}}},2309:e=>{e.exports=function(e){return function(){return!e.apply(this,arguments)}}},2362:e=>{e.exports=function(e,t){var r;t=t||[];var n=(e=e||[]).length,a=t.length,c=[];for(r=0;r{var n=r(8811);e.exports=function(e){return function t(r){return 0===arguments.length||n(r)?t:e.apply(this,arguments)}}},5415:(e,t,r)=>{var n=r(567),a=r(8811);e.exports=function(e){return function t(r,c){switch(arguments.length){case 0:return t;case 1:return a(r)?t:n((function(t){return e(r,t)}));default:return a(r)&&a(c)?t:a(r)?n((function(t){return e(t,c)})):a(c)?n((function(t){return e(r,t)})):e(r,c)}}}},9350:(e,t,r)=>{var n=r(567),a=r(5415),c=r(8811);e.exports=function(e){return function t(r,i,o){switch(arguments.length){case 0:return t;case 1:return c(r)?t:a((function(t,n){return e(r,t,n)}));case 2:return c(r)&&c(i)?t:c(r)?a((function(t,r){return e(t,i,r)})):c(i)?a((function(t,n){return e(r,t,n)})):n((function(t){return e(r,i,t)}));default:return c(r)&&c(i)&&c(o)?t:c(r)&&c(i)?a((function(t,r){return e(t,r,o)})):c(r)&&c(o)?a((function(t,r){return e(t,i,r)})):c(i)&&c(o)?a((function(t,n){return e(r,t,n)})):c(r)?n((function(t){return e(t,i,o)})):c(i)?n((function(t){return e(r,t,o)})):c(o)?n((function(t){return e(r,i,t)})):e(r,i,o)}}}},168:(e,t,r)=>{var n=r(473),a=r(8811);e.exports=function e(t,r,c){return function(){for(var i=[],o=0,s=t,l=0;l=arguments.length)?u=r[l]:(u=arguments[o],o+=1),i[l]=u,a(u)||(s-=1),l+=1}return s<=0?c.apply(this,i):n(s,e(t,i,c))}}},3060:(e,t,r)=>{var n=r(6667),a=r(7516);e.exports=function(e,t,r){return function(){if(0===arguments.length)return r();var c=Array.prototype.slice.call(arguments,0),i=c.pop();if(!n(i)){for(var o=0;o{var n=r(5900),a=r(9693),c=r(2810),i=r(3736),o=r(4893),s=r(4052),l=r(2355);function u(e,t,r,c){var i=n(e),o=n(t);function s(e,t){return f(e,t,r.slice(),c.slice())}return!a((function(e,t){return!a(s,t,e)}),o,i)}function f(e,t,r,n){if(o(e,t))return!0;var a=l(e);if(a!==l(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===c(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!o(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!o(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var p=r.length-1;p>=0;){if(r[p]===e)return n[p]===t;p-=1}switch(a){case"Map":return e.size===t.size&&u(e.entries(),t.entries(),r.concat([e]),n.concat([t]));case"Set":return e.size===t.size&&u(e.values(),t.values(),r.concat([e]),n.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var d=s(e);if(d.length!==s(t).length)return!1;var h=r.concat([e]),m=n.concat([t]);for(p=d.length-1;p>=0;){var v=d[p];if(!i(v,t)||!f(t[v],e[v],h,m))return!1;p-=1}return!0}e.exports=f},440:e=>{e.exports=function(e,t){for(var r=0,n=t.length,a=[];r{e.exports=function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}},3736:e=>{e.exports=function(e,t){return Object.prototype.hasOwnProperty.call(t,e)}},2125:(e,t,r)=>{var n=r(861);e.exports=function(e,t){return n(t,e,0)>=0}},9693:e=>{e.exports=function(e,t,r){for(var n=0,a=r.length;n{var n=r(6190);e.exports=function(e,t,r){var a,c;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(a=1/t;r{var n=r(3736),a=Object.prototype.toString,c=function(){return"[object Arguments]"===a.call(arguments)?function(e){return"[object Arguments]"===a.call(e)}:function(e){return n("callee",e)}}();e.exports=c},6667:e=>{e.exports=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)}},7248:(e,t,r)=>{var n=r(567),a=r(6667),c=r(4842),i=n((function(e){return!!a(e)||!!e&&"object"==typeof e&&!c(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1))}));e.exports=i},2560:e=>{e.exports=function(e){return"[object Object]"===Object.prototype.toString.call(e)}},8811:e=>{e.exports=function(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}},4842:e=>{e.exports=function(e){return"[object String]"===Object.prototype.toString.call(e)}},7516:e=>{e.exports=function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}},4841:e=>{e.exports=function(e,t){for(var r=0,n=t.length,a=Array(n);r{e.exports="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},327:(e,t,r)=>{var n=r(7248),a=r(6856),c=r(2589);function i(e,t,r){for(var n=r.next();!n.done;){if((t=e["@@transducer/step"](t,n.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n=r.next()}return e["@@transducer/result"](t)}function o(e,t,r,n){return e["@@transducer/result"](r[n](c(e["@@transducer/step"],e),t))}var s="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";e.exports=function(e,t,r){if("function"==typeof e&&(e=a(e)),n(r))return function(e,t,r){for(var n=0,a=r.length;n{e.exports=function(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}},1631:e=>{e.exports={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}}},5446:(e,t,r)=>{var n=r(5415),a=r(1631),c=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.init,e.prototype["@@transducer/result"]=a.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),i=n((function(e,t){return new c(e,t)}));e.exports=i},7191:(e,t,r)=>{var n=r(5415),a=r(5609),c=r(1631),i=function(){function e(e,t){this.xf=t,this.f=e,this.found=!1}return e.prototype["@@transducer/init"]=c.init,e.prototype["@@transducer/result"]=function(e){return this.found||(e=this.xf["@@transducer/step"](e,void 0)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.found=!0,e=a(this.xf["@@transducer/step"](e,t))),e},e}(),o=n((function(e,t){return new i(e,t)}));e.exports=o},6462:(e,t,r)=>{var n=r(5415),a=r(1631),c=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=a.init,e.prototype["@@transducer/result"]=a.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),i=n((function(e,t){return new c(e,t)}));e.exports=i},6856:e=>{var t=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();e.exports=function(e){return new t(e)}},4052:(e,t,r)=>{var n=r(567),a=r(3736),c=r(8091),i=!{toString:null}.propertyIsEnumerable("toString"),o=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],s=function(){"use strict";return arguments.propertyIsEnumerable("length")}(),l=function(e,t){for(var r=0;r=0;)a(t=o[r],e)&&!l(n,t)&&(n[n.length]=t),r-=1;return n})):n((function(e){return Object(e)!==e?[]:Object.keys(e)}));e.exports=u},9396:(e,t,r)=>{var n=r(5415),a=r(3060),c=r(4841),i=r(327),o=r(6462),s=r(29),l=r(4052),u=n(a(["fantasy-land/map","map"],o,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return s(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return i((function(r,n){return r[n]=e(t[n]),r}),{},l(t));default:return c(e,t)}})));e.exports=u},3394:(e,t,r)=>{var n=r(9350)(r(327));e.exports=n},4397:(e,t,r)=>{var n=r(2309),a=r(5415),c=r(5241),i=a((function(e,t){return c(n(e),t)}));e.exports=i},1289:(e,t,r)=>{var n=r(567),a=r(3736),c=n((function(e){var t=[];for(var r in e)a(r,e)&&(t[t.length]=[r,e[r]]);return t}));e.exports=c},2355:(e,t,r)=>{var n=r(567)((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));e.exports=n},4163:function(e,t,r){"use strict";var n,a=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),c=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseFeed=t.FeedHandler=void 0;var l,u,f=s(r(9959)),p=o(r(4622)),d=r(5233);!function(e){e[e.image=0]="image",e[e.audio=1]="audio",e[e.video=2]="video",e[e.document=3]="document",e[e.executable=4]="executable"}(l||(l={})),function(e){e[e.sample=0]="sample",e[e.full=1]="full",e[e.nonstop=2]="nonstop"}(u||(u={}));var h=function(e){function t(t,r){return"object"==typeof t&&(r=t=void 0),e.call(this,t,r)||this}return a(t,e),t.prototype.onend=function(){var e,t,r={},n=g(x,this.dom);if(n)if("feed"===n.name){var a=n.children;r.type="atom",w(r,"id","id",a),w(r,"title","title",a);var c=b("href",g("link",a));c&&(r.link=c),w(r,"description","subtitle",a),(i=y("updated",a))&&(r.updated=new Date(i)),w(r,"author","email",a,!0),r.items=v("entry",a).map((function(e){var t={},r=e.children;w(t,"id","id",r),w(t,"title","title",r);var n=b("href",g("link",r));n&&(t.link=n);var a=y("summary",r)||y("content",r);a&&(t.description=a);var c=y("updated",r);return c&&(t.pubDate=new Date(c)),t.media=m(r),t}))}else{var i;a=null!==(t=null===(e=g("channel",n.children))||void 0===e?void 0:e.children)&&void 0!==t?t:[],r.type=n.name.substr(0,3),r.id="",w(r,"title","title",a),w(r,"link","link",a),w(r,"description","description",a),(i=y("lastBuildDate",a))&&(r.updated=new Date(i)),w(r,"author","managingEditor",a,!0),r.items=v("item",n.children).map((function(e){var t={},r=e.children;w(t,"id","guid",r),w(t,"title","title",r),w(t,"link","link",r),w(t,"description","description",r);var n=y("pubDate",r);return n&&(t.pubDate=new Date(n)),t.media=m(r),t}))}this.feed=r,this.handleCallback(n?null:Error("couldn't find root of feed"))},t}(f.default);function m(e){return v("media:content",e).map((function(e){var t={medium:e.attribs.medium,isDefault:!!e.attribs.isDefault};return e.attribs.url&&(t.url=e.attribs.url),e.attribs.fileSize&&(t.fileSize=parseInt(e.attribs.fileSize,10)),e.attribs.type&&(t.type=e.attribs.type),e.attribs.expression&&(t.expression=e.attribs.expression),e.attribs.bitrate&&(t.bitrate=parseInt(e.attribs.bitrate,10)),e.attribs.framerate&&(t.framerate=parseInt(e.attribs.framerate,10)),e.attribs.samplingrate&&(t.samplingrate=parseInt(e.attribs.samplingrate,10)),e.attribs.channels&&(t.channels=parseInt(e.attribs.channels,10)),e.attribs.duration&&(t.duration=parseInt(e.attribs.duration,10)),e.attribs.height&&(t.height=parseInt(e.attribs.height,10)),e.attribs.width&&(t.width=parseInt(e.attribs.width,10)),e.attribs.lang&&(t.lang=e.attribs.lang),t}))}function v(e,t){return p.getElementsByTagName(e,t,!0)}function g(e,t){return p.getElementsByTagName(e,t,!0,1)[0]}function y(e,t,r){return void 0===r&&(r=!1),p.getText(p.getElementsByTagName(e,t,r,1)).trim()}function b(e,t){return t?t.attribs[e]:null}function w(e,t,r,n,a){void 0===a&&(a=!1);var c=y(r,n,a);c&&(e[t]=c)}function x(e){return"rss"===e||"feed"===e||"rdf:RDF"===e}t.FeedHandler=h;var z={xmlMode:!0};t.parseFeed=function(e,t){void 0===t&&(t=z);var r=new h(t);return new d.Parser(r,t).end(e),r.feed}},5233:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;var a=n(r(9636)),c=new Set(["input","option","optgroup","select","button","datalist","textarea"]),i=new Set(["p"]),o={tr:new Set(["tr","th","td"]),th:new Set(["th"]),td:new Set(["thead","th","td"]),body:new Set(["head","link","script"]),li:new Set(["li"]),p:i,h1:i,h2:i,h3:i,h4:i,h5:i,h6:i,select:c,input:c,output:c,button:c,datalist:c,textarea:c,option:new Set(["option"]),optgroup:new Set(["optgroup","option"]),dd:new Set(["dt","dd"]),dt:new Set(["dt","dd"]),address:i,article:i,aside:i,blockquote:i,details:i,div:i,dl:i,fieldset:i,figcaption:i,figure:i,footer:i,form:i,header:i,hr:i,main:i,nav:i,ol:i,pre:i,section:i,table:i,ul:i,rt:new Set(["rt","rp"]),rp:new Set(["rt","rp"]),tbody:new Set(["thead","tbody"]),tfoot:new Set(["thead","tbody"])},s=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),l=new Set(["math","svg"]),u=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),f=/\s|\//,p=function(){function e(e,t){var r,n,c,i,o;void 0===t&&(t={}),this.startIndex=0,this.endIndex=null,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.options=t,this.cbs=null!=e?e:{},this.lowerCaseTagNames=null!==(r=t.lowerCaseTags)&&void 0!==r?r:!t.xmlMode,this.lowerCaseAttributeNames=null!==(n=t.lowerCaseAttributeNames)&&void 0!==n?n:!t.xmlMode,this.tokenizer=new(null!==(c=t.Tokenizer)&&void 0!==c?c:a.default)(this.options,this),null===(o=(i=this.cbs).onparserinit)||void 0===o||o.call(i,this)}return e.prototype.updatePosition=function(e){null===this.endIndex?this.tokenizer.sectionStart<=e?this.startIndex=0:this.startIndex=this.tokenizer.sectionStart-e:this.startIndex=this.endIndex+1,this.endIndex=this.tokenizer.getAbsoluteIndex()},e.prototype.ontext=function(e){var t,r;this.updatePosition(1),this.endIndex--,null===(r=(t=this.cbs).ontext)||void 0===r||r.call(t,e)},e.prototype.onopentagname=function(e){var t,r;if(this.lowerCaseTagNames&&(e=e.toLowerCase()),this.tagname=e,!this.options.xmlMode&&Object.prototype.hasOwnProperty.call(o,e))for(var n=void 0;this.stack.length>0&&o[e].has(n=this.stack[this.stack.length-1]);)this.onclosetag(n);!this.options.xmlMode&&s.has(e)||(this.stack.push(e),l.has(e)?this.foreignContext.push(!0):u.has(e)&&this.foreignContext.push(!1)),null===(r=(t=this.cbs).onopentagname)||void 0===r||r.call(t,e),this.cbs.onopentag&&(this.attribs={})},e.prototype.onopentagend=function(){var e,t;this.updatePosition(1),this.attribs&&(null===(t=(e=this.cbs).onopentag)||void 0===t||t.call(e,this.tagname,this.attribs),this.attribs=null),!this.options.xmlMode&&this.cbs.onclosetag&&s.has(this.tagname)&&this.cbs.onclosetag(this.tagname),this.tagname=""},e.prototype.onclosetag=function(e){if(this.updatePosition(1),this.lowerCaseTagNames&&(e=e.toLowerCase()),(l.has(e)||u.has(e))&&this.foreignContext.pop(),!this.stack.length||!this.options.xmlMode&&s.has(e))this.options.xmlMode||"br"!==e&&"p"!==e||(this.onopentagname(e),this.closeCurrentTag());else{var t=this.stack.lastIndexOf(e);if(-1!==t)if(this.cbs.onclosetag)for(t=this.stack.length-t;t--;)this.cbs.onclosetag(this.stack.pop());else this.stack.length=t;else"p"!==e||this.options.xmlMode||(this.onopentagname(e),this.closeCurrentTag())}},e.prototype.onselfclosingtag=function(){this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?this.closeCurrentTag():this.onopentagend()},e.prototype.closeCurrentTag=function(){var e,t,r=this.tagname;this.onopentagend(),this.stack[this.stack.length-1]===r&&(null===(t=(e=this.cbs).onclosetag)||void 0===t||t.call(e,r),this.stack.pop())},e.prototype.onattribname=function(e){this.lowerCaseAttributeNames&&(e=e.toLowerCase()),this.attribname=e},e.prototype.onattribdata=function(e){this.attribvalue+=e},e.prototype.onattribend=function(e){var t,r;null===(r=(t=this.cbs).onattribute)||void 0===r||r.call(t,this.attribname,this.attribvalue,e),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribname="",this.attribvalue=""},e.prototype.getInstructionName=function(e){var t=e.search(f),r=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},e.prototype.ondeclaration=function(e){if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(e);this.cbs.onprocessinginstruction("!"+t,"!"+e)}},e.prototype.onprocessinginstruction=function(e){if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(e);this.cbs.onprocessinginstruction("?"+t,"?"+e)}},e.prototype.oncomment=function(e){var t,r,n,a;this.updatePosition(4),null===(r=(t=this.cbs).oncomment)||void 0===r||r.call(t,e),null===(a=(n=this.cbs).oncommentend)||void 0===a||a.call(n)},e.prototype.oncdata=function(e){var t,r,n,a,c,i;this.updatePosition(1),this.options.xmlMode||this.options.recognizeCDATA?(null===(r=(t=this.cbs).oncdatastart)||void 0===r||r.call(t),null===(a=(n=this.cbs).ontext)||void 0===a||a.call(n,e),null===(i=(c=this.cbs).oncdataend)||void 0===i||i.call(c)):this.oncomment("[CDATA["+e+"]]")},e.prototype.onerror=function(e){var t,r;null===(r=(t=this.cbs).onerror)||void 0===r||r.call(t,e)},e.prototype.onend=function(){var e,t;if(this.cbs.onclosetag)for(var r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[--r]));null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)},e.prototype.reset=function(){var e,t,r,n;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack=[],null===(n=(r=this.cbs).onparserinit)||void 0===n||n.call(r,this)},e.prototype.parseComplete=function(e){this.reset(),this.end(e)},e.prototype.write=function(e){this.tokenizer.write(e)},e.prototype.end=function(e){this.tokenizer.end(e)},e.prototype.pause=function(){this.tokenizer.pause()},e.prototype.resume=function(){this.tokenizer.resume()},e.prototype.parseChunk=function(e){this.write(e)},e.prototype.done=function(e){this.end(e)},e}();t.Parser=p},9636:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(r(3047)),c=n(r(8523)),i=n(r(2055)),o=n(r(1577));function s(e){return" "===e||"\n"===e||"\t"===e||"\f"===e||"\r"===e}function l(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}function u(e,t,r){var n=e.toLowerCase();return e===n?function(e,a){a===n?e._state=t:(e._state=r,e._index--)}:function(a,c){c===n||c===e?a._state=t:(a._state=r,a._index--)}}function f(e,t){var r=e.toLowerCase();return function(n,a){a===r||a===e?n._state=t:(n._state=3,n._index--)}}var p=u("C",24,16),d=u("D",25,16),h=u("A",26,16),m=u("T",27,16),v=u("A",28,16),g=f("R",35),y=f("I",36),b=f("P",37),w=f("T",38),x=u("R",40,1),z=u("I",41,1),S=u("P",42,1),k=u("T",43,1),M=f("Y",45),C=f("L",46),O=f("E",47),L=u("Y",49,1),H=u("L",50,1),N=u("E",51,1),A=f("I",54),T=f("T",55),E=f("L",56),V=f("E",57),P=u("I",58,1),_=u("T",59,1),j=u("L",60,1),D=u("E",61,1),I=u("#",63,64),F=u("X",66,65),R=function(){function e(e,t){var r;this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1,this.cbs=t,this.xmlMode=!!(null==e?void 0:e.xmlMode),this.decodeEntities=null===(r=null==e?void 0:e.decodeEntities)||void 0===r||r}return e.prototype.reset=function(){this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1},e.prototype.write=function(e){this.ended&&this.cbs.onerror(Error(".write() after done!")),this.buffer+=e,this.parse()},e.prototype.end=function(e){this.ended&&this.cbs.onerror(Error(".end() after done!")),e&&this.write(e),this.ended=!0,this.running&&this.finish()},e.prototype.pause=function(){this.running=!1},e.prototype.resume=function(){this.running=!0,this._indexthis.sectionStart&&this.cbs.ontext(this.getSection()),this._state=2,this.sectionStart=this._index):!this.decodeEntities||"&"!==e||1!==this.special&&4!==this.special||(this._index>this.sectionStart&&this.cbs.ontext(this.getSection()),this.baseState=1,this._state=62,this.sectionStart=this._index)},e.prototype.stateBeforeTagName=function(e){"/"===e?this._state=5:"<"===e?(this.cbs.ontext(this.getSection()),this.sectionStart=this._index):">"===e||1!==this.special||s(e)?this._state=1:"!"===e?(this._state=15,this.sectionStart=this._index+1):"?"===e?(this._state=17,this.sectionStart=this._index+1):l(e)?(this._state=this.xmlMode||"s"!==e&&"S"!==e?this.xmlMode||"t"!==e&&"T"!==e?3:52:32,this.sectionStart=this._index):this._state=1},e.prototype.stateInTagName=function(e){("/"===e||">"===e||s(e))&&(this.emitToken("onopentagname"),this._state=8,this._index--)},e.prototype.stateBeforeClosingTagName=function(e){s(e)||(">"===e?this._state=1:1!==this.special?"s"===e||"S"===e?this._state=33:"t"===e||"T"===e?this._state=53:(this._state=1,this._index--):l(e)?(this._state=6,this.sectionStart=this._index):(this._state=20,this.sectionStart=this._index))},e.prototype.stateInClosingTagName=function(e){(">"===e||s(e))&&(this.emitToken("onclosetag"),this._state=7,this._index--)},e.prototype.stateAfterClosingTagName=function(e){">"===e&&(this._state=1,this.sectionStart=this._index+1)},e.prototype.stateBeforeAttributeName=function(e){">"===e?(this.cbs.onopentagend(),this._state=1,this.sectionStart=this._index+1):"/"===e?this._state=4:s(e)||(this._state=9,this.sectionStart=this._index)},e.prototype.stateInSelfClosingTag=function(e){">"===e?(this.cbs.onselfclosingtag(),this._state=1,this.sectionStart=this._index+1,this.special=1):s(e)||(this._state=8,this._index--)},e.prototype.stateInAttributeName=function(e){("="===e||"/"===e||">"===e||s(e))&&(this.cbs.onattribname(this.getSection()),this.sectionStart=-1,this._state=10,this._index--)},e.prototype.stateAfterAttributeName=function(e){"="===e?this._state=11:"/"===e||">"===e?(this.cbs.onattribend(void 0),this._state=8,this._index--):s(e)||(this.cbs.onattribend(void 0),this._state=9,this.sectionStart=this._index)},e.prototype.stateBeforeAttributeValue=function(e){'"'===e?(this._state=12,this.sectionStart=this._index+1):"'"===e?(this._state=13,this.sectionStart=this._index+1):s(e)||(this._state=14,this.sectionStart=this._index,this._index--)},e.prototype.handleInAttributeValue=function(e,t){e===t?(this.emitToken("onattribdata"),this.cbs.onattribend(t),this._state=8):this.decodeEntities&&"&"===e&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},e.prototype.stateInAttributeValueDoubleQuotes=function(e){this.handleInAttributeValue(e,'"')},e.prototype.stateInAttributeValueSingleQuotes=function(e){this.handleInAttributeValue(e,"'")},e.prototype.stateInAttributeValueNoQuotes=function(e){s(e)||">"===e?(this.emitToken("onattribdata"),this.cbs.onattribend(null),this._state=8,this._index--):this.decodeEntities&&"&"===e&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},e.prototype.stateBeforeDeclaration=function(e){this._state="["===e?23:"-"===e?18:16},e.prototype.stateInDeclaration=function(e){">"===e&&(this.cbs.ondeclaration(this.getSection()),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateInProcessingInstruction=function(e){">"===e&&(this.cbs.onprocessinginstruction(this.getSection()),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateBeforeComment=function(e){"-"===e?(this._state=19,this.sectionStart=this._index+1):this._state=16},e.prototype.stateInComment=function(e){"-"===e&&(this._state=21)},e.prototype.stateInSpecialComment=function(e){">"===e&&(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index)),this._state=1,this.sectionStart=this._index+1)},e.prototype.stateAfterComment1=function(e){this._state="-"===e?22:19},e.prototype.stateAfterComment2=function(e){">"===e?(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"-"!==e&&(this._state=19)},e.prototype.stateBeforeCdata6=function(e){"["===e?(this._state=29,this.sectionStart=this._index+1):(this._state=16,this._index--)},e.prototype.stateInCdata=function(e){"]"===e&&(this._state=30)},e.prototype.stateAfterCdata1=function(e){this._state="]"===e?31:29},e.prototype.stateAfterCdata2=function(e){">"===e?(this.cbs.oncdata(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"]"!==e&&(this._state=29)},e.prototype.stateBeforeSpecialS=function(e){"c"===e||"C"===e?this._state=34:"t"===e||"T"===e?this._state=44:(this._state=3,this._index--)},e.prototype.stateBeforeSpecialSEnd=function(e){2!==this.special||"c"!==e&&"C"!==e?3!==this.special||"t"!==e&&"T"!==e?this._state=1:this._state=48:this._state=39},e.prototype.stateBeforeSpecialLast=function(e,t){("/"===e||">"===e||s(e))&&(this.special=t),this._state=3,this._index--},e.prototype.stateAfterSpecialLast=function(e,t){">"===e||s(e)?(this.special=1,this._state=6,this.sectionStart=this._index-t,this._index--):this._state=1},e.prototype.parseFixedEntity=function(e){if(void 0===e&&(e=this.xmlMode?o.default:c.default),this.sectionStart+1=2;){var r=this.buffer.substr(e,t);if(Object.prototype.hasOwnProperty.call(i.default,r))return this.emitPartial(i.default[r]),void(this.sectionStart+=t+1);t--}},e.prototype.stateInNamedEntity=function(e){";"===e?(this.parseFixedEntity(),1===this.baseState&&this.sectionStart+1"9")&&!l(e)&&(this.xmlMode||this.sectionStart+1===this._index||(1!==this.baseState?"="!==e&&this.parseFixedEntity(i.default):this.parseLegacyEntity()),this._state=this.baseState,this._index--)},e.prototype.decodeNumericEntity=function(e,t,r){var n=this.sectionStart+e;if(n!==this._index){var c=this.buffer.substring(n,this._index),i=parseInt(c,t);this.emitPartial(a.default(i)),this.sectionStart=r?this._index+1:this._index}this._state=this.baseState},e.prototype.stateInNumericEntity=function(e){";"===e?this.decodeNumericEntity(2,10,!0):(e<"0"||e>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(2,10,!1),this._index--)},e.prototype.stateInHexEntity=function(e){";"===e?this.decodeNumericEntity(3,16,!0):(e<"a"||e>"f")&&(e<"A"||e>"F")&&(e<"0"||e>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(3,16,!1),this._index--)},e.prototype.cleanup=function(){this.sectionStart<0?(this.buffer="",this.bufferOffset+=this._index,this._index=0):this.running&&(1===this._state?(this.sectionStart!==this._index&&this.cbs.ontext(this.buffer.substr(this.sectionStart)),this.buffer="",this.bufferOffset+=this._index,this._index=0):this.sectionStart===this._index?(this.buffer="",this.bufferOffset+=this._index,this._index=0):(this.buffer=this.buffer.substr(this.sectionStart),this._index-=this.sectionStart,this.bufferOffset+=this.sectionStart),this.sectionStart=0)},e.prototype.parse=function(){for(;this._index65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in a.default&&(e=a.default[e]),c(e))}},6055:e=>{"use strict";e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},8523:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},2055:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},1577:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},3335:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},1856:e=>{"use strict";e.exports=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}},1426:(e,t,r)=>{var n,a=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,c=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,i="a-z\\xdf-\\xf6\\xf8-\\xff",o="A-Z\\xc0-\\xd6\\xd8-\\xde",s="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",l="["+s+"]",u="[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]",f="\\d+",p="["+i+"]",d="[^\\ud800-\\udfff"+s+f+"\\u2700-\\u27bf"+i+o+"]",h="\\ud83c[\\udffb-\\udfff]",m="[^\\ud800-\\udfff]",v="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",y="["+o+"]",b="(?:"+p+"|"+d+")",w="(?:"+y+"|"+d+")",x="(?:['’](?:d|ll|m|re|s|t|ve))?",z="(?:['’](?:D|LL|M|RE|S|T|VE))?",S="(?:"+u+"|"+h+")?",k="[\\ufe0e\\ufe0f]?",M=k+S+"(?:\\u200d(?:"+[m,v,g].join("|")+")"+k+S+")*",C="(?:"+["[\\u2700-\\u27bf]",v,g].join("|")+")"+M,O="(?:"+[m+u+"?",u,v,g,"[\\ud800-\\udfff]"].join("|")+")",L=RegExp("['’]","g"),H=RegExp(u,"g"),N=RegExp(h+"(?="+h+")|"+O+M,"g"),A=RegExp([y+"?"+p+"+"+x+"(?="+[l,y,"$"].join("|")+")",w+"+"+z+"(?="+[l,y+b,"$"].join("|")+")",y+"?"+b+"+"+x,y+"+"+z,f,C].join("|"),"g"),T=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),E=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,V="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,P="object"==typeof self&&self&&self.Object===Object&&self,_=V||P||Function("return this")(),j=(n={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"ss"},function(e){return null==n?void 0:n[e]});function D(e){return T.test(e)}var I=Object.prototype.toString,F=_.Symbol,R=F?F.prototype:void 0,q=R?R.toString:void 0;function B(e){return null==e?"":function(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==I.call(e)}(e))return q?q.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}var U,G=(U=function(e,t,r){return t=t.toLowerCase(),e+(r?Z(B(t).toLowerCase()):t)},function(e){return function(e,t,r,n){for(var a=-1,c=e?e.length:0;++a=a?t:function(e,t,r){var n=-1,a=e.length;t<0&&(t=-t>a?0:a+t),(r=r>a?a:r)<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var c=Array(a);++n{var n=r(6578);e.exports=function(){return function(e){return n(e,"list",(function(e,t){var r,n,a=0;for(r=0,n=t.length;r{"use strict";e.exports=function(e,t,r){return"string"!=typeof t&&(r=t,t=void 0),function(e){var t=e||{},r=function(e,t){for(var r=-1;++r-1&&(z.call(this,e),S.call(this,e))},link:b((function(){var e=this.stack[this.stack.length-1];h("inReference")?(e.type+="Reference",e.referenceType=h("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label,delete e.referenceType),u("referenceType")})),listItem:b(),listOrdered:b(),listUnordered:b(),paragraph:b(),referenceString:function(e){var t=this.resume();this.stack[this.stack.length-1].label=t,this.stack[this.stack.length-1].identifier=i(this.sliceSerialize(e)).toLowerCase(),u("referenceType","full")},resourceDestinationString:function(){var e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){var e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){u("inReference")},setextHeading:b((function(){u("setextHeadingSlurpLineEnding")})),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2},setextHeadingText:function(){u("setextHeadingSlurpLineEnding",!0)},strong:b(),thematicBreak:b()}},t.mdastExtensions||[]),s={};return function(e){for(var t,n={type:"root",children:[]},i=[],o=[],s=-1,f={stack:[n],tokenStack:i,config:r,enter:y,exit:w,buffer:g,resume:x,setData:u,getData:h};++s{"use strict";e.exports=r(7650)},1979:e=>{"use strict";function t(e){return e&&(e.value||e.alt||e.title||"children"in e&&r(e.children)||"length"in e&&r(e))||""}function r(e){for(var r=[],n=-1;++n{"use strict";var n=r(3744)(/[A-Za-z]/);e.exports=n},4355:(e,t,r)=>{"use strict";var n=r(3744)(/[\dA-Za-z]/);e.exports=n},1465:(e,t,r)=>{"use strict";var n=r(3744)(/[#-'*+\--9=?A-Z^-~]/);e.exports=n},883:e=>{"use strict";e.exports=function(e){return e<32||127===e}},1687:(e,t,r)=>{"use strict";var n=r(3744)(/\d/);e.exports=n},7855:(e,t,r)=>{"use strict";var n=r(3744)(/[\dA-Fa-f]/);e.exports=n},858:(e,t,r)=>{"use strict";var n=r(3744)(/[!-/:-@[-`{-~]/);e.exports=n},1551:e=>{"use strict";e.exports=function(e){return e<0||32===e}},2658:e=>{"use strict";e.exports=function(e){return e<-2}},1727:e=>{"use strict";e.exports=function(e){return-2===e||-1===e||32===e}},7079:(e,t,r)=>{"use strict";var n=r(1837),a=r(3744)(n);e.exports=a},3081:(e,t,r)=>{"use strict";var n=r(3744)(/\s/);e.exports=n},8492:e=>{"use strict";var t=Object.assign;e.exports=t},2756:e=>{"use strict";var t=String.fromCharCode;e.exports=t},2686:e=>{"use strict";var t={}.hasOwnProperty;e.exports=t},7899:e=>{"use strict";e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},3206:e=>{"use strict";e.exports=["pre","script","style","textarea"]},6139:e=>{"use strict";var t=[].splice;e.exports=t},1837:e=>{"use strict";e.exports=/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/},8731:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(3354),a=r(4818),c=r(3339),i=r(5597),o=r(4512),s=r(7885),l=r(5396),u=r(8350),f=r(330),p=r(4953),d=r(4649),h=r(3271),m=r(1217),v=r(1254),g=r(3946),y=r(3216),b=r(2060),w=r(1692),x=r(9393),z=r(7293),S=r(9669),k={42:x,43:x,45:x,48:x,49:x,50:x,51:x,52:x,53:x,54:x,55:x,56:x,57:x,62:i},M={91:p},C={"-2":u,"-1":u,32:u},O={35:h,42:S,45:[z,S],60:m,61:z,95:S,96:l,126:l},L={38:s,92:o},H={"-5":w,"-4":w,"-3":w,33:y,38:s,42:a,60:[c,v],91:b,92:[d,o],93:g,95:a,96:f},N={null:[a,n.resolver]};t.contentInitial=M,t.disable={null:[]},t.document=k,t.flow=O,t.flowInitial=C,t.insideSpan=N,t.string=L,t.text=H},1022:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2658),a=r(2397);t.tokenize=function(e){var t,r=e.attempt(this.parser.constructs.contentInitial,(function(t){if(null!==t)return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),a(e,r,"linePrefix");e.consume(t)}),(function(t){return e.enter("paragraph"),c(t)}));return r;function c(r){var n=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=n),t=n,i(r)}function i(t){return null===t?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(t)):n(t)?(e.consume(t),e.exit("chunkText"),c):(e.consume(t),i)}}},722:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2658),a=r(2397),c=r(3645),i={tokenize:function(e,t,r){return a(e,e.attempt(this.parser.constructs.document,t,r),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}},o={tokenize:function(e,t,r){return a(e,e.lazy(this.parser.constructs.flow,t,r),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}};t.tokenize=function(e){var t,r,a,s=this,l=[],u=0,f={tokenize:function(e,n){var a=0;return t={},u;function u(n){return at;)s.containerState=l[c][1],l[c][0].exit.call(s,e);l.length=t}}},19:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2463),a=r(2397),c=r(3645);t.tokenize=function(e){var t=this,r=e.attempt(c,(function(n){if(null!==n)return e.enter("lineEndingBlank"),e.consume(n),e.exit("lineEndingBlank"),t.currentConstruct=void 0,r;e.consume(n)}),e.attempt(this.parser.constructs.flowInitial,i,a(e,e.attempt(this.parser.constructs.flow,i,e.attempt(n,i)),"linePrefix")));return r;function i(n){if(null!==n)return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),t.currentConstruct=void 0,r;e.consume(n)}}},3354:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(8492),a=r(9085),c=s("text"),i=s("string"),o={resolveAll:l()};function s(e){return{tokenize:function(t){var r=this,n=this.parser.constructs[e],a=t.attempt(n,c,i);return c;function c(e){return s(e)?a(e):i(e)}function i(e){if(null!==e)return t.enter("data"),t.consume(e),o;t.consume(e)}function o(e){return s(e)?(t.exit("data"),a(e)):(t.consume(e),o)}function s(e){var t=n[e],a=-1;if(null===e)return!0;if(t)for(;++a{"use strict";var n=r(1022),a=r(722),c=r(19),i=r(3354),o=r(4e3),s=r(9117),l=r(338),u=r(8731);e.exports=function(e){var t={defined:[],constructs:o([u].concat(l((e||{}).extensions))),content:r(n),document:r(a),flow:r(c),string:r(i.string),text:r(i.text)};return t;function r(e){return function(r){return s(t,e,r)}}}},7708:(e,t,r)=>{"use strict";var n=r(6548);e.exports=function(e){for(;!n(e););return e}},3294:e=>{"use strict";var t=/[\0\t\n\r]/g;e.exports=function(){var e,r=!0,n=1,a="";return function(c,i,o){var s,l,u,f,p,d=[];for(c=a+c.toString(i),u=0,a="",r&&(65279===c.charCodeAt(0)&&u++,r=void 0);u{"use strict";var n=r(4363),a=r(3416),c=r(3585),i=r(2141),o=r(2869),s=r(9085),l={name:"attention",tokenize:function(e,t){var r,n=c(this.previous);return function(t){return e.enter("attentionSequence"),r=t,a(t)};function a(i){var o,s,l,u;return i===r?(e.consume(i),a):(o=e.exit("attentionSequence"),l=!(s=c(i))||2===s&&n,u=!n||2===n&&s,o._open=42===r?l:l&&(n||!u),o._close=42===r?u:u&&(s||!l),t(i))}},resolveAll:function(e,t){for(var r,c,l,u,f,p,d,h,m=-1;++m1&&e[m][1].end.offset-e[m][1].start.offset>1?2:1)>1?"strongSequence":"emphasisSequence",start:i(s(e[r][1].end),-p),end:s(e[r][1].end)},f={type:p>1?"strongSequence":"emphasisSequence",start:s(e[m][1].start),end:i(s(e[m][1].start),p)},l={type:p>1?"strongText":"emphasisText",start:s(e[r][1].end),end:s(e[m][1].start)},c={type:p>1?"strong":"emphasis",start:s(u.start),end:s(f.end)},e[r][1].end=s(u.start),e[m][1].start=s(f.end),d=[],e[r][1].end.offset-e[r][1].start.offset&&(d=n(d,[["enter",e[r][1],t],["exit",e[r][1],t]])),d=n(d,[["enter",c,t],["enter",u,t],["exit",u,t],["enter",l,t]]),d=n(d,o(t.parser.constructs.insideSpan.null,e.slice(r+1,m),t)),d=n(d,[["exit",l,t],["enter",f,t],["exit",f,t],["exit",c,t]]),e[m][1].end.offset-e[m][1].start.offset?(h=2,d=n(d,[["enter",e[m][1],t],["exit",e[m][1],t]])):h=0,a(e,r-1,m-r+3,d),m=r+d.length-h-2;break}for(m=-1;++m{"use strict";var n=r(5845),a=r(4355),c=r(1465),i=r(883),o={name:"autolink",tokenize:function(e,t,r){var o=1;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),s};function s(t){return n(t)?(e.consume(t),l):c(t)?p(t):r(t)}function l(e){return 43===e||45===e||46===e||a(e)?u(e):p(e)}function u(t){return 58===t?(e.consume(t),f):(43===t||45===t||46===t||a(t))&&o++<32?(e.consume(t),u):p(t)}function f(t){return 62===t?(e.exit("autolinkProtocol"),v(t)):32===t||60===t||i(t)?r(t):(e.consume(t),f)}function p(t){return 64===t?(e.consume(t),o=0,d):c(t)?(e.consume(t),p):r(t)}function d(e){return a(e)?h(e):r(e)}function h(t){return 46===t?(e.consume(t),o=0,d):62===t?(e.exit("autolinkProtocol").type="autolinkEmail",v(t)):m(t)}function m(t){return(45===t||a(t))&&o++<63?(e.consume(t),45===t?m:h):r(t)}function v(r){return e.enter("autolinkMarker"),e.consume(r),e.exit("autolinkMarker"),e.exit("autolink"),t}}};e.exports=o},5597:(e,t,r)=>{"use strict";var n=r(1727),a=r(2397),c={name:"blockQuote",tokenize:function(e,t,r){var a=this;return function(t){return 62===t?(a.containerState.open||(e.enter("blockQuote",{_container:!0}),a.containerState.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),c):r(t)};function c(r){return n(r)?(e.enter("blockQuotePrefixWhitespace"),e.consume(r),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(r))}},continuation:{tokenize:function(e,t,r){return a(e,e.attempt(c,t,r),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}},exit:function(e){e.exit("blockQuote")}};e.exports=c},4512:(e,t,r)=>{"use strict";var n=r(858),a={name:"characterEscape",tokenize:function(e,t,r){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),a};function a(a){return n(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):r(a)}}};e.exports=a},7885:(e,t,r)=>{"use strict";var n=r(8108),a=r(4355),c=r(1687),i=r(7855);function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(n),l={name:"characterReference",tokenize:function(e,t,r){var n,o,l=this,u=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),f};function f(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),p):(e.enter("characterReferenceValue"),n=31,o=a,d(t))}function p(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),n=6,o=i,d):(e.enter("characterReferenceValue"),n=7,o=c,d(t))}function d(c){var i;return 59===c&&u?(i=e.exit("characterReferenceValue"),o!==a||s.default(l.sliceSerialize(i))?(e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):r(c)):o(c)&&u++{"use strict";var n=r(2658),a=r(1551),c=r(4722),i=r(2397),o={name:"codeFenced",tokenize:function(e,t,r){var o,s=this,l={tokenize:function(e,t,r){var a=0;return i(e,(function(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),c(t)}),"linePrefix",this.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4);function c(t){return t===o?(e.consume(t),a++,c):a{"use strict";var n=r(2658),a=r(3416),c=r(4722),i=r(2397),o={name:"codeIndented",tokenize:function(e,t,r){return e.attempt(s,a,r);function a(r){return null===r?t(r):n(r)?e.attempt(s,a,t)(r):(e.enter("codeFlowValue"),c(r))}function c(t){return null===t||n(t)?(e.exit("codeFlowValue"),a(t)):(e.consume(t),c)}},resolve:function(e,t){var r={type:"codeIndented",start:e[0][1].start,end:e[e.length-1][1].end};return a(e,0,0,[["enter",r,t]]),a(e,e.length,0,[["exit",r,t]]),e}},s={tokenize:function(e,t,r){var a=this;return i(e,(function o(s){return n(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i(e,o,"linePrefix",5)):c(a.events,"linePrefix")<4?r(s):t(s)}),"linePrefix",5)},partial:!0};e.exports=o},330:(e,t,r)=>{"use strict";var n=r(2658),a={name:"codeText",tokenize:function(e,t,r){var a,c,i=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),o(t)};function o(t){return 96===t?(e.consume(t),i++,o):(e.exit("codeTextSequence"),s(t))}function s(t){return null===t?r(t):96===t?(c=e.enter("codeTextSequence"),a=0,u(t)):32===t?(e.enter("space"),e.consume(t),e.exit("space"),s):n(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s):(e.enter("codeTextData"),l(t))}function l(t){return null===t||32===t||96===t||n(t)?(e.exit("codeTextData"),s(t)):(e.consume(t),l)}function u(r){return 96===r?(e.consume(r),a++,u):a===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(r)):(c.type="codeTextData",l(r))}},resolve:function(e){var t,r,n=e.length-4,a=3;if(!("lineEnding"!==e[a][1].type&&"space"!==e[a][1].type||"lineEnding"!==e[n][1].type&&"space"!==e[n][1].type))for(t=a;++t{"use strict";var n=r(2658),a=r(4722),c=r(6548),i=r(2397),o={tokenize:function(e,t){var r;return function(t){return e.enter("content"),r=e.enter("chunkContent",{contentType:"content"}),a(t)};function a(t){return null===t?c(t):n(t)?e.check(s,i,c)(t):(e.consume(t),a)}function c(r){return e.exit("chunkContent"),e.exit("content"),t(r)}function i(t){return e.consume(t),e.exit("chunkContent"),r=r.next=e.enter("chunkContent",{contentType:"content",previous:r}),a}},resolve:function(e){return c(e),e},interruptible:!0,lazy:!0},s={tokenize:function(e,t,r){var c=this;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i(e,o,"linePrefix")};function o(i){return null===i||n(i)?r(i):c.parser.constructs.disable.null.indexOf("codeIndented")>-1||a(c.events,"linePrefix")<4?e.interrupt(c.parser.constructs.flow,r,t)(i):t(i)}},partial:!0};e.exports=o},4953:(e,t,r)=>{"use strict";var n=r(2658),a=r(1551),c=r(3797),i=r(9145),o=r(4202),s=r(2397),l=r(653),u=r(6894),f={name:"definition",tokenize:function(e,t,r){var a,u=this;return function(t){return e.enter("definition"),o.call(u,e,f,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function f(t){return a=c(u.sliceSerialize(u.events[u.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),l(e,i(e,e.attempt(p,s(e,d,"whitespace"),s(e,d,"whitespace")),r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):r(t)}function d(c){return null===c||n(c)?(e.exit("definition"),u.parser.defined.indexOf(a)<0&&u.parser.defined.push(a),t(c)):r(c)}}},p={tokenize:function(e,t,r){return function(t){return a(t)?l(e,c)(t):r(t)};function c(t){return 34===t||39===t||40===t?u(e,s(e,i,"whitespace"),r,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):r(t)}function i(e){return null===e||n(e)?t(e):r(e)}},partial:!0};e.exports=f},9145:(e,t,r)=>{"use strict";var n=r(883),a=r(1551),c=r(2658);e.exports=function(e,t,r,i,o,s,l,u,f){var p=f||1/0,d=0;return function(t){return 60===t?(e.enter(i),e.enter(o),e.enter(s),e.consume(t),e.exit(s),h):n(t)||41===t?r(t):(e.enter(i),e.enter(l),e.enter(u),e.enter("chunkString",{contentType:"string"}),g(t))};function h(r){return 62===r?(e.enter(s),e.consume(r),e.exit(s),e.exit(o),e.exit(i),t):(e.enter(u),e.enter("chunkString",{contentType:"string"}),m(r))}function m(t){return 62===t?(e.exit("chunkString"),e.exit(u),h(t)):null===t||60===t||c(t)?r(t):(e.consume(t),92===t?v:m)}function v(t){return 60===t||62===t||92===t?(e.consume(t),m):m(t)}function g(c){return 40===c?++d>p?r(c):(e.consume(c),g):41===c?d--?(e.consume(c),g):(e.exit("chunkString"),e.exit(u),e.exit(l),e.exit(i),t(c)):null===c||a(c)?d?r(c):(e.exit("chunkString"),e.exit(u),e.exit(l),e.exit(i),t(c)):n(c)?r(c):(e.consume(c),92===c?y:g)}function y(t){return 40===t||41===t||92===t?(e.consume(t),g):g(t)}}},4202:(e,t,r)=>{"use strict";var n=r(2658),a=r(1727);e.exports=function(e,t,r,c,i,o){var s,l=this,u=0;return function(t){return e.enter(c),e.enter(i),e.consume(t),e.exit(i),e.enter(o),f};function f(a){return null===a||91===a||93===a&&!s||94===a&&!u&&"_hiddenFootnoteSupport"in l.parser.constructs||u>999?r(a):93===a?(e.exit(o),e.enter(i),e.consume(a),e.exit(i),e.exit(c),t):n(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),p(a))}function p(t){return null===t||91===t||93===t||n(t)||u++>999?(e.exit("chunkString"),f(t)):(e.consume(t),s=s||!a(t),92===t?d:p)}function d(t){return 91===t||92===t||93===t?(e.consume(t),u++,p):p(t)}}},2397:(e,t,r)=>{"use strict";var n=r(1727);e.exports=function(e,t,r,a){var c=a?a-1:1/0,i=0;return function(a){return n(a)?(e.enter(r),o(a)):t(a)};function o(a){return n(a)&&i++{"use strict";var n=r(2658),a=r(2397);e.exports=function(e,t,r,c,i,o){var s;return function(t){return e.enter(c),e.enter(i),e.consume(t),e.exit(i),s=40===t?41:t,l};function l(r){return r===s?(e.enter(i),e.consume(r),e.exit(i),e.exit(c),t):(e.enter(o),u(r))}function u(t){return t===s?(e.exit(o),l(s)):null===t?r(t):n(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),a(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(t))}function f(t){return t===s||null===t||n(t)?(e.exit("chunkString"),u(t)):(e.consume(t),92===t?p:f)}function p(t){return t===s||92===t?(e.consume(t),f):f(t)}}},653:(e,t,r)=>{"use strict";var n=r(2658),a=r(1727),c=r(2397);e.exports=function(e,t){var r;return function i(o){return n(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),r=!0,i):a(o)?c(e,i,r?"linePrefix":"lineSuffix")(o):t(o)}}},4649:(e,t,r)=>{"use strict";var n=r(2658),a={name:"hardBreakEscape",tokenize:function(e,t,r){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),a};function a(a){return n(a)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(a)):r(a)}}};e.exports=a},3271:(e,t,r)=>{"use strict";var n=r(2658),a=r(1551),c=r(1727),i=r(3416),o=r(2397),s={name:"headingAtx",tokenize:function(e,t,r){var i=this,s=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),l(t)};function l(n){return 35===n&&s++<6?(e.consume(n),l):null===n||a(n)?(e.exit("atxHeadingSequence"),i.interrupt?t(n):u(n)):r(n)}function u(r){return 35===r?(e.enter("atxHeadingSequence"),f(r)):null===r||n(r)?(e.exit("atxHeading"),t(r)):c(r)?o(e,u,"whitespace")(r):(e.enter("atxHeadingText"),p(r))}function f(t){return 35===t?(e.consume(t),f):(e.exit("atxHeadingSequence"),u(t))}function p(t){return null===t||35===t||a(t)?(e.exit("atxHeadingText"),u(t)):(e.consume(t),p)}},resolve:function(e,t){var r,n,a=e.length-2,c=3;return"whitespace"===e[c][1].type&&(c+=2),a-2>c&&"whitespace"===e[a][1].type&&(a-=2),"atxHeadingSequence"===e[a][1].type&&(c===a-1||a-4>c&&"whitespace"===e[a-2][1].type)&&(a-=c+1===a?2:4),a>c&&(r={type:"atxHeadingText",start:e[c][1].start,end:e[a][1].end},n={type:"chunkText",start:e[c][1].start,end:e[a][1].end,contentType:"text"},i(e,c,a-c+1,[["enter",r,t],["enter",n,t],["exit",n,t],["exit",r,t]])),e}};e.exports=s},1217:(e,t,r)=>{"use strict";var n=r(5845),a=r(4355),c=r(2658),i=r(1551),o=r(1727),s=r(2756),l=r(7899),u=r(3206),f=r(3645),p={name:"htmlFlow",tokenize:function(e,t,r){var f,p,h,m,v,g=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),y};function y(a){return 33===a?(e.consume(a),b):47===a?(e.consume(a),z):63===a?(e.consume(a),f=3,g.interrupt?t:q):n(a)?(e.consume(a),h=s(a),p=!0,S):r(a)}function b(a){return 45===a?(e.consume(a),f=2,w):91===a?(e.consume(a),f=5,h="CDATA[",m=0,x):n(a)?(e.consume(a),f=4,g.interrupt?t:q):r(a)}function w(n){return 45===n?(e.consume(n),g.interrupt?t:q):r(n)}function x(n){return n===h.charCodeAt(m++)?(e.consume(n),m===h.length?g.interrupt?t:P:x):r(n)}function z(t){return n(t)?(e.consume(t),h=s(t),S):r(t)}function S(n){return null===n||47===n||62===n||i(n)?47!==n&&p&&u.indexOf(h.toLowerCase())>-1?(f=1,g.interrupt?t(n):P(n)):l.indexOf(h.toLowerCase())>-1?(f=6,47===n?(e.consume(n),k):g.interrupt?t(n):P(n)):(f=7,g.interrupt?r(n):p?C(n):M(n)):45===n||a(n)?(e.consume(n),h+=s(n),S):r(n)}function k(n){return 62===n?(e.consume(n),g.interrupt?t:P):r(n)}function M(t){return o(t)?(e.consume(t),M):E(t)}function C(t){return 47===t?(e.consume(t),E):58===t||95===t||n(t)?(e.consume(t),O):o(t)?(e.consume(t),C):E(t)}function O(t){return 45===t||46===t||58===t||95===t||a(t)?(e.consume(t),O):L(t)}function L(t){return 61===t?(e.consume(t),H):o(t)?(e.consume(t),L):C(t)}function H(t){return null===t||60===t||61===t||62===t||96===t?r(t):34===t||39===t?(e.consume(t),v=t,N):o(t)?(e.consume(t),H):(v=void 0,A(t))}function N(t){return t===v?(e.consume(t),T):null===t||c(t)?r(t):(e.consume(t),N)}function A(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||i(t)?L(t):(e.consume(t),A)}function T(e){return 47===e||62===e||o(e)?C(e):r(e)}function E(t){return 62===t?(e.consume(t),V):r(t)}function V(t){return o(t)?(e.consume(t),V):null===t||c(t)?P(t):r(t)}function P(t){return 45===t&&2===f?(e.consume(t),D):60===t&&1===f?(e.consume(t),I):62===t&&4===f?(e.consume(t),B):63===t&&3===f?(e.consume(t),q):93===t&&5===f?(e.consume(t),R):!c(t)||6!==f&&7!==f?null===t||c(t)?_(t):(e.consume(t),P):e.check(d,B,_)(t)}function _(t){return e.exit("htmlFlowData"),j(t)}function j(t){return null===t?U(t):c(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),j):(e.enter("htmlFlowData"),P(t))}function D(t){return 45===t?(e.consume(t),q):P(t)}function I(t){return 47===t?(e.consume(t),h="",F):P(t)}function F(t){return 62===t&&u.indexOf(h.toLowerCase())>-1?(e.consume(t),B):n(t)&&h.length<8?(e.consume(t),h+=s(t),F):P(t)}function R(t){return 93===t?(e.consume(t),q):P(t)}function q(t){return 62===t?(e.consume(t),B):P(t)}function B(t){return null===t||c(t)?(e.exit("htmlFlowData"),U(t)):(e.consume(t),B)}function U(r){return e.exit("htmlFlow"),t(r)}},resolveTo:function(e){for(var t=e.length;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},concrete:!0},d={tokenize:function(e,t,r){return function(n){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(n),e.exit("lineEndingBlank"),e.attempt(f,t,r)}},partial:!0};e.exports=p},1254:(e,t,r)=>{"use strict";var n=r(5845),a=r(4355),c=r(2658),i=r(1551),o=r(1727),s=r(2397),l={name:"htmlText",tokenize:function(e,t,r){var l,u,f,p,d=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),h};function h(t){return 33===t?(e.consume(t),m):47===t?(e.consume(t),L):63===t?(e.consume(t),C):n(t)?(e.consume(t),A):r(t)}function m(t){return 45===t?(e.consume(t),v):91===t?(e.consume(t),u="CDATA[",f=0,x):n(t)?(e.consume(t),M):r(t)}function v(t){return 45===t?(e.consume(t),g):r(t)}function g(t){return null===t||62===t?r(t):45===t?(e.consume(t),y):b(t)}function y(e){return null===e||62===e?r(e):b(e)}function b(t){return null===t?r(t):45===t?(e.consume(t),w):c(t)?(p=b,I(t)):(e.consume(t),b)}function w(t){return 45===t?(e.consume(t),R):b(t)}function x(t){return t===u.charCodeAt(f++)?(e.consume(t),f===u.length?z:x):r(t)}function z(t){return null===t?r(t):93===t?(e.consume(t),S):c(t)?(p=z,I(t)):(e.consume(t),z)}function S(t){return 93===t?(e.consume(t),k):z(t)}function k(t){return 62===t?R(t):93===t?(e.consume(t),k):z(t)}function M(t){return null===t||62===t?R(t):c(t)?(p=M,I(t)):(e.consume(t),M)}function C(t){return null===t?r(t):63===t?(e.consume(t),O):c(t)?(p=C,I(t)):(e.consume(t),C)}function O(e){return 62===e?R(e):C(e)}function L(t){return n(t)?(e.consume(t),H):r(t)}function H(t){return 45===t||a(t)?(e.consume(t),H):N(t)}function N(t){return c(t)?(p=N,I(t)):o(t)?(e.consume(t),N):R(t)}function A(t){return 45===t||a(t)?(e.consume(t),A):47===t||62===t||i(t)?T(t):r(t)}function T(t){return 47===t?(e.consume(t),R):58===t||95===t||n(t)?(e.consume(t),E):c(t)?(p=T,I(t)):o(t)?(e.consume(t),T):R(t)}function E(t){return 45===t||46===t||58===t||95===t||a(t)?(e.consume(t),E):V(t)}function V(t){return 61===t?(e.consume(t),P):c(t)?(p=V,I(t)):o(t)?(e.consume(t),V):T(t)}function P(t){return null===t||60===t||61===t||62===t||96===t?r(t):34===t||39===t?(e.consume(t),l=t,_):c(t)?(p=P,I(t)):o(t)?(e.consume(t),P):(e.consume(t),l=void 0,D)}function _(t){return t===l?(e.consume(t),j):null===t?r(t):c(t)?(p=_,I(t)):(e.consume(t),_)}function j(e){return 62===e||47===e||i(e)?T(e):r(e)}function D(t){return null===t||34===t||39===t||60===t||61===t||96===t?r(t):62===t||i(t)?T(t):(e.consume(t),D)}function I(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s(e,F,"linePrefix",d.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)}function F(t){return e.enter("htmlTextData"),p(t)}function R(n){return 62===n?(e.consume(n),e.exit("htmlTextData"),e.exit("htmlText"),t):r(n)}}};e.exports=l},3946:(e,t,r)=>{"use strict";var n=r(1551),a=r(4363),c=r(3416),i=r(3797),o=r(2869),s=r(9085),l=r(9145),u=r(4202),f=r(6894),p=r(653),d={name:"labelEnd",tokenize:function(e,t,r){for(var n,a,c=this,o=c.events.length;o--;)if(("labelImage"===c.events[o][1].type||"labelLink"===c.events[o][1].type)&&!c.events[o][1]._balanced){n=c.events[o][1];break}return function(t){return n?n._inactive?l(t):(a=c.parser.defined.indexOf(i(c.sliceSerialize({start:n.end,end:c.now()})))>-1,e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),s):r(t)};function s(r){return 40===r?e.attempt(h,t,a?t:l)(r):91===r?e.attempt(m,t,a?e.attempt(v,t,l):l)(r):a?t(r):l(r)}function l(e){return n._balanced=!0,r(e)}},resolveTo:function(e,t){for(var r,n,i,l,u,f,p,d=e.length,h=0;d--;)if(l=e[d][1],u){if("link"===l.type||"labelLink"===l.type&&l._inactive)break;"enter"===e[d][0]&&"labelLink"===l.type&&(l._inactive=!0)}else if(f){if("enter"===e[d][0]&&("labelImage"===l.type||"labelLink"===l.type)&&!l._balanced&&(u=d,"labelLink"!==l.type)){h=2;break}}else"labelEnd"===l.type&&(f=d);return r={type:"labelLink"===e[u][1].type?"link":"image",start:s(e[u][1].start),end:s(e[e.length-1][1].end)},n={type:"label",start:s(e[u][1].start),end:s(e[f][1].end)},i={type:"labelText",start:s(e[u+h+2][1].end),end:s(e[f-2][1].start)},p=a(p=[["enter",r,t],["enter",n,t]],e.slice(u+1,u+h+3)),p=a(p,[["enter",i,t]]),p=a(p,o(t.parser.constructs.insideSpan.null,e.slice(u+h+4,f-3),t)),p=a(p,[["exit",i,t],e[f-2],e[f-1],["exit",n,t]]),p=a(p,e.slice(f+1)),p=a(p,[["exit",r,t]]),c(e,u,e.length,p),e},resolveAll:function(e){for(var t,r=-1;++r{"use strict";var n={name:"labelStartImage",tokenize:function(e,t,r){var n=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),a};function a(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),c):r(t)}function c(e){return 94===e&&"_hiddenFootnoteSupport"in n.parser.constructs?r(e):t(e)}},resolveAll:r(3946).resolveAll};e.exports=n},2060:(e,t,r)=>{"use strict";var n={name:"labelStartLink",tokenize:function(e,t,r){var n=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),a};function a(e){return 94===e&&"_hiddenFootnoteSupport"in n.parser.constructs?r(e):t(e)}},resolveAll:r(3946).resolveAll};e.exports=n},1692:(e,t,r)=>{"use strict";var n=r(2397),a={name:"lineEnding",tokenize:function(e,t){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n(e,t,"linePrefix")}}};e.exports=a},9393:(e,t,r)=>{"use strict";var n=r(1687),a=r(1727),c=r(4722),i=r(37),o=r(2397),s=r(3645),l=r(9669),u={name:"list",tokenize:function(e,t,r){var o=this,u=c(o.events,"linePrefix"),p=0;return function(t){var a=o.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===a?!o.containerState.marker||t===o.containerState.marker:n(t)){if(o.containerState.type||(o.containerState.type=a,e.enter(a,{_container:!0})),"listUnordered"===a)return e.enter("listItemPrefix"),42===t||45===t?e.check(l,r,h)(t):h(t);if(!o.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(t)}return r(t)};function d(t){return n(t)&&++p<10?(e.consume(t),d):(!o.interrupt||p<2)&&(o.containerState.marker?t===o.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),h(t)):r(t)}function h(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),o.containerState.marker=o.containerState.marker||t,e.check(s,o.interrupt?r:m,e.attempt(f,g,v))}function m(e){return o.containerState.initialBlankLine=!0,u++,g(e)}function v(t){return a(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),g):r(t)}function g(r){return o.containerState.size=u+i(o.sliceStream(e.exit("listItemPrefix"))),t(r)}},continuation:{tokenize:function(e,t,r){var n=this;return n.containerState._closeFlow=void 0,e.check(s,(function(r){return n.containerState.furtherBlankLines=n.containerState.furtherBlankLines||n.containerState.initialBlankLine,o(e,t,"listItemIndent",n.containerState.size+1)(r)}),(function(r){return n.containerState.furtherBlankLines||!a(r)?(n.containerState.furtherBlankLines=n.containerState.initialBlankLine=void 0,c(r)):(n.containerState.furtherBlankLines=n.containerState.initialBlankLine=void 0,e.attempt(p,t,c)(r))}));function c(a){return n.containerState._closeFlow=!0,n.interrupt=void 0,o(e,e.attempt(u,t,r),"linePrefix",n.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:4)(a)}}},exit:function(e){e.exit(this.containerState.type)}},f={tokenize:function(e,t,r){var n=this;return o(e,(function(e){return a(e)||!c(n.events,"listItemPrefixWhitespace")?r(e):t(e)}),"listItemPrefixWhitespace",n.parser.constructs.disable.null.indexOf("codeIndented")>-1?void 0:5)},partial:!0},p={tokenize:function(e,t,r){var n=this;return o(e,(function(e){return c(n.events,"listItemIndent")===n.containerState.size?t(e):r(e)}),"listItemIndent",n.containerState.size+1)},partial:!0};e.exports=u},3645:(e,t,r)=>{"use strict";var n=r(2658),a=r(2397),c={tokenize:function(e,t,r){return a(e,(function(e){return null===e||n(e)?t(e):r(e)}),"linePrefix")},partial:!0};e.exports=c},7293:(e,t,r)=>{"use strict";var n=r(2658),a=r(9085),c=r(2397),i={name:"setextUnderline",tokenize:function(e,t,r){for(var a,i,o=this,s=o.events.length;s--;)if("lineEnding"!==o.events[s][1].type&&"linePrefix"!==o.events[s][1].type&&"content"!==o.events[s][1].type){i="paragraph"===o.events[s][1].type;break}return function(t){return o.lazy||!o.interrupt&&!i?r(t):(e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),a=t,l(t))};function l(t){return t===a?(e.consume(t),l):(e.exit("setextHeadingLineSequence"),c(e,u,"lineSuffix")(t))}function u(a){return null===a||n(a)?(e.exit("setextHeadingLine"),t(a)):r(a)}},resolveTo:function(e,t){for(var r,n,c,i,o=e.length;o--;)if("enter"===e[o][0]){if("content"===e[o][1].type){r=o;break}"paragraph"===e[o][1].type&&(n=o)}else"content"===e[o][1].type&&e.splice(o,1),c||"definition"!==e[o][1].type||(c=o);return i={type:"setextHeading",start:a(e[n][1].start),end:a(e[e.length-1][1].end)},e[n][1].type="setextHeadingText",c?(e.splice(n,0,["enter",i,t]),e.splice(c+1,0,["exit",e[r][1],t]),e[r][1].end=a(e[c][1].end)):e[r][1]=i,e.push(["exit",i,t]),e}};e.exports=i},9669:(e,t,r)=>{"use strict";var n=r(2658),a=r(1727),c=r(2397),i={name:"thematicBreak",tokenize:function(e,t,r){var i,o=0;return function(t){return e.enter("thematicBreak"),i=t,s(t)};function s(u){return u===i?(e.enter("thematicBreakSequence"),l(u)):a(u)?c(e,s,"whitespace")(u):o<3||null!==u&&!n(u)?r(u):(e.exit("thematicBreak"),t(u))}function l(t){return t===i?(e.consume(t),o++,l):(e.exit("thematicBreakSequence"),s(t))}}};e.exports=i},4363:(e,t,r)=>{"use strict";var n=r(3416);e.exports=function(e,t){return e.length?(n(e,e.length,0,t),e):t}},3416:(e,t,r)=>{"use strict";var n=r(6139);e.exports=function(e,t,r,a){var c,i=e.length,o=0;if(t=t<0?-t>i?0:i+t:t>i?i:t,r=r>0?r:0,a.length<1e4)(c=Array.from(a)).unshift(t,r),n.apply(e,c);else for(r&&n.apply(e,[t,r]);o{"use strict";var n=r(1551),a=r(7079),c=r(3081);e.exports=function(e){return null===e||n(e)||c(e)?1:a(e)?2:void 0}},4e3:(e,t,r)=>{"use strict";var n=r(2686),a=r(3416),c=r(338);function i(e,t){var r,a,i,s;for(r in t)for(s in a=n.call(e,r)?e[r]:e[r]={},i=t[r])a[s]=o(c(i[s]),n.call(a,s)?a[s]:[])}function o(e,t){for(var r=-1,n=[];++r{"use strict";var n=r(8492),a=r(2658),c=r(4363),i=r(3416),o=r(338),s=r(2869),l=r(3239),u=r(9085),f=r(9827);e.exports=function(e,t,r){var p=r?u(r):{line:1,column:1,offset:0},d={},h=[],m=[],v=[],g={consume:function(e){a(e)?(p.line++,p.column=1,p.offset+=-3===e?2:1,C()):-1!==e&&(p.column++,p.offset++),p._bufferIndex<0?p._index++:(p._bufferIndex++,p._bufferIndex===m[p._index].length&&(p._bufferIndex=-1,p._index++)),y.previous=e},enter:function(e,t){var r=t||{};return r.type=e,r.start=x(),y.events.push(["enter",r,y]),v.push(r),r},exit:function(e){var t=v.pop();return t.end=x(),y.events.push(["exit",t,y]),t},attempt:k((function(e,t){M(e,t.from)})),check:k(S),interrupt:k(S,{interrupt:!0}),lazy:k(S,{lazy:!0})},y={previous:null,events:[],parser:e,sliceStream:w,sliceSerialize:function(e){return l(w(e))},now:x,defineSkip:function(e){d[e.line]=e.column,C()},write:function(e){return m=c(m,e),function(){for(var e,t;p._index-1?m():e.tokenize.call(t?n({},y,t):y,g,h,m)(r)}}function h(t){return e(l,u),a}function m(e){return u.restore(),++s{"use strict";e.exports=function(e){return null==e?[]:"length"in e?e:[e]}},2141:e=>{"use strict";e.exports=function(e,t){return e.column+=t,e.offset+=t,e._bufferIndex+=t,e}},3797:e=>{"use strict";e.exports=function(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}},4722:(e,t,r)=>{"use strict";var n=r(37);e.exports=function(e,t){var r=e[e.length-1];return r&&r[1].type===t?n(r[2].sliceStream(r[1])):0}},3744:(e,t,r)=>{"use strict";var n=r(2756);e.exports=function(e){return function(t){return e.test(n(t))}}},2869:e=>{"use strict";e.exports=function(e,t,r){for(var n,a=[],c=-1;++c{"use strict";var n=r(2756);e.exports=function(e,t){var r=parseInt(e,t);return r<9||11===r||r>13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||65535==(65535&r)||65534==(65535&r)||r>1114111?"�":n(r)}},3239:(e,t,r)=>{"use strict";var n=r(2756);e.exports=function(e){for(var t,r,a,c=-1,i=[];++c{"use strict";var n=r(8492);e.exports=function(e){return n({},e)}},37:e=>{"use strict";e.exports=function(e){for(var t=-1,r=0;++t{"use strict";e.exports=function(e,t){var r,n=t.start._index,a=t.start._bufferIndex,c=t.end._index,i=t.end._bufferIndex;return n===c?r=[e[n].slice(a,i)]:(r=e.slice(n,c),a>-1&&(r[0]=r[0].slice(a)),i>0&&r.push(e[c].slice(0,i))),r}},6548:(e,t,r)=>{"use strict";var n=r(8492),a=r(3416),c=r(9085);function i(e,t){for(var r,n,c,i,o,s,l=e[t][1],u=e[t][2],f=t-1,p=[],d=l._tokenizer||u.parser[l.contentType](l.start),h=d.events,m=[],v={};l;){for(;e[++f][1]!==l;);p.push(f),l._tokenizer||(r=u.sliceStream(l),l.next||r.push(null),n&&d.defineSkip(l.start),l.isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=!0),d.write(r),l.isInFirstContentOfListItem&&(d._gfmTasklistFirstContentOfListItem=void 0)),n=l,l=l.next}for(l=n,c=h.length;c--;)"enter"===h[c][0]?i=!0:i&&h[c][1].type===h[c-1][1].type&&h[c][1].start.line!==h[c][1].end.line&&(g(h.slice(c+1,o)),l._tokenizer=l.next=void 0,l=l.previous,o=c+1);for(d.events=l._tokenizer=l.next=void 0,g(h.slice(0,o)),c=-1,s=0;++c{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,c){for(var i,o,s=a(e),l=1;l{"use strict";var t;e.exports=function(e){var r,n="&"+e+";";return(t=t||document.createElement("i")).innerHTML=n,(59!==(r=t.textContent).charCodeAt(r.length-1)||"semi"===e)&&(r!==n&&r)}},8262:(e,t,r)=>{"use strict";var n=r(3586);function a(){}function c(){}c.resetWarningCache=a,e.exports=function(){function e(e,t,r,a,c,i){if(i!==n){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:c,resetWarningCache:a};return r.PropTypes=r,r}},3980:(e,t,r)=>{e.exports=r(8262)()},3586:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},1168:(e,t,r)=>{"use strict";e.exports=r(6158)},3737:(e,t,r)=>{"use strict";e.exports=r(536)},5695:e=>{"use strict";e.exports=n;var t,r=/\/|\./;function n(e,t){r.test(e)||(e="google/protobuf/"+e+".proto",t={nested:{google:{nested:{protobuf:{nested:t}}}}}),n[e]=t}n("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}}),n("duration",{Duration:t={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}}),n("timestamp",{Timestamp:t}),n("empty",{Empty:{fields:{}}}),n("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}}),n("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}}),n("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}}),n.get=function(e){return n[e]||null}},3746:(e,t,r)=>{"use strict";var n=t,a=r(6901),c=r(8066);function i(e,t,r,n){if(t.resolvedType)if(t.resolvedType instanceof a){e("switch(d%s){",n);for(var c=t.resolvedType.values,i=Object.keys(c),o=0;o>>0",n,n);break;case"int32":case"sint32":case"sfixed32":e("m%s=d%s|0",n,n);break;case"uint64":s=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",n,n,s)('else if(typeof d%s==="string")',n)("m%s=parseInt(d%s,10)",n,n)('else if(typeof d%s==="number")',n)("m%s=d%s",n,n)('else if(typeof d%s==="object")',n)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",n,n,n,s?"true":"");break;case"bytes":e('if(typeof d%s==="string")',n)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",n,n,n)("else if(d%s.length)",n)("m%s=d%s",n,n);break;case"string":e("m%s=String(d%s)",n,n);break;case"bool":e("m%s=Boolean(d%s)",n,n)}}return e}function o(e,t,r,n){if(t.resolvedType)t.resolvedType instanceof a?e("d%s=o.enums===String?types[%i].values[m%s]:m%s",n,r,n,n):e("d%s=types[%i].toObject(m%s,o)",n,r,n);else{var c=!1;switch(t.type){case"double":case"float":e("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",n,n,n,n);break;case"uint64":c=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e('if(typeof m%s==="number")',n)("d%s=o.longs===String?String(m%s):m%s",n,n,n)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",n,n,n,n,c?"true":"",n);break;case"bytes":e("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",n,n,n,n,n);break;default:e("d%s=m%s",n,n)}}return e}n.fromObject=function(e){var t=e.fieldsArray,r=c.codegen(["d"],e.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return r("return new this.ctor");r("var m=new this.ctor");for(var n=0;n{"use strict";e.exports=function(e){var t=c.codegen(["r","l"],e.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(e.fieldsArray.filter((function(e){return e.map})).length?",k,value":""))("while(r.pos>>3){");for(var r=0;r>>3){")("case 1: k=r.%s(); break",o.keyType)("case 2:"),void 0===a.basic[s]?t("value=types[%i].decode(r,r.uint32())",r):t("value=r.%s()",s),t("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),void 0!==a.long[o.keyType]?t('%s[typeof k==="object"?util.longToHash(k):k]=value',l):t("%s[k]=value",l)):o.repeated?(t("if(!(%s&&%s.length))",l,l)("%s=[]",l),void 0!==a.packed[s]&&t("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos{"use strict";e.exports=function(e){for(var t,r=c.codegen(["m","w"],e.name+"$encode")("if(!w)")("w=Writer.create()"),o=e.fieldsArray.slice().sort(c.compareFieldsById),s=0;s>>0,8|a.mapKey[l.keyType],l.keyType),void 0===p?r("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",u,t):r(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|p,f,t),r("}")("}")):l.repeated?(r("if(%s!=null&&%s.length){",t,t),l.packed&&void 0!==a.packed[f]?r("w.uint32(%i).fork()",(l.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",t)("w.%s(%s[i])",f,t)("w.ldelim()"):(r("for(var i=0;i<%s.length;++i)",t),void 0===p?i(r,l,u,t+"[i]"):r("w.uint32(%i).%s(%s[i])",(l.id<<3|p)>>>0,f,t)),r("}")):(l.optional&&r("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",t,l.name),void 0===p?i(r,l,u,t):r("w.uint32(%i).%s(%s)",(l.id<<3|p)>>>0,f,t))}return r("return w")};var n=r(6901),a=r(3970),c=r(8066);function i(e,t,r,n){return t.resolvedType.group?e("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",r,n,(t.id<<3|3)>>>0,(t.id<<3|4)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",r,n,(t.id<<3|2)>>>0)}},6901:(e,t,r)=>{"use strict";e.exports=i;var n=r(7641);((i.prototype=Object.create(n.prototype)).constructor=i).className="Enum";var a=r(9788),c=r(8066);function i(e,t,r,a,c){if(n.call(this,e,r),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=a,this.comments=c||{},this.reserved=void 0,t)for(var i=Object.keys(t),o=0;o{"use strict";e.exports=l;var n=r(7641);((l.prototype=Object.create(n.prototype)).constructor=l).className="Field";var a,c=r(6901),i=r(3970),o=r(8066),s=/^required|optional|repeated$/;function l(e,t,r,a,c,l,u){if(o.isObject(a)?(u=c,l=a,a=c=void 0):o.isObject(c)&&(u=l,l=c,c=void 0),n.call(this,e,l),!o.isInteger(t)||t<0)throw TypeError("id must be a non-negative integer");if(!o.isString(r))throw TypeError("type must be a string");if(void 0!==a&&!s.test(a=a.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(void 0!==c&&!o.isString(c))throw TypeError("extend must be a string");this.rule=a&&"optional"!==a?a:void 0,this.type=r,this.id=t,this.extend=c||void 0,this.required="required"===a,this.optional=!this.required,this.repeated="repeated"===a,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!o.Long&&void 0!==i.long[r],this.bytes="bytes"===r,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this._packed=null,this.comment=u}l.fromJSON=function(e,t){return new l(e,t.id,t.type,t.rule,t.extend,t.options,t.comment)},Object.defineProperty(l.prototype,"packed",{get:function(){return null===this._packed&&(this._packed=!1!==this.getOption("packed")),this._packed}}),l.prototype.setOption=function(e,t,r){return"packed"===e&&(this._packed=null),n.prototype.setOption.call(this,e,t,r)},l.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["rule","optional"!==this.rule&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},l.prototype.resolve=function(){if(this.resolved)return this;if(void 0===(this.typeDefault=i.defaults[this.type])&&(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof a?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof c&&"string"==typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(void 0===this.options.packed||!this.resolvedType||this.resolvedType instanceof c)||delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long)this.typeDefault=o.Long.fromNumber(this.typeDefault,"u"===this.type.charAt(0)),Object.freeze&&Object.freeze(this.typeDefault);else if(this.bytes&&"string"==typeof this.typeDefault){var e;o.base64.test(this.typeDefault)?o.base64.decode(this.typeDefault,e=o.newBuffer(o.base64.length(this.typeDefault)),0):o.utf8.write(this.typeDefault,e=o.newBuffer(o.utf8.length(this.typeDefault)),0),this.typeDefault=e}return this.map?this.defaultValue=o.emptyObject:this.repeated?this.defaultValue=o.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof a&&(this.parent.ctor.prototype[this.name]=this.defaultValue),n.prototype.resolve.call(this)},l.d=function(e,t,r,n){return"function"==typeof t?t=o.decorateType(t).name:t&&"object"==typeof t&&(t=o.decorateEnum(t).name),function(a,c){o.decorateType(a.constructor).add(new l(c,e,t,r,{default:n}))}},l._configure=function(e){a=e}},9188:(e,t,r)=>{"use strict";var n=e.exports=r(536);n.build="light",n.load=function(e,t,r){return"function"==typeof t?(r=t,t=new n.Root):t||(t=new n.Root),t.load(e,r)},n.loadSync=function(e,t){return t||(t=new n.Root),t.loadSync(e)},n.encoder=r(5191),n.decoder=r(9847),n.verifier=r(2332),n.converter=r(3746),n.ReflectionObject=r(7641),n.Namespace=r(9788),n.Root=r(742),n.Enum=r(6901),n.Type=r(3138),n.Field=r(797),n.OneOf=r(6898),n.MapField=r(1981),n.Service=r(9355),n.Method=r(8820),n.Message=r(3611),n.wrappers=r(6423),n.types=r(3970),n.util=r(8066),n.ReflectionObject._configure(n.Root),n.Namespace._configure(n.Type,n.Service,n.Enum),n.Root._configure(n.Type),n.Field._configure(n.Type)},536:(e,t,r)=>{"use strict";var n=t;function a(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=r(123),n.BufferWriter=r(6673),n.Reader=r(9799),n.BufferReader=r(7038),n.util=r(4165),n.rpc=r(4963),n.roots=r(9009),n.configure=a,a()},6158:(e,t,r)=>{"use strict";var n=e.exports=r(9188);n.build="full",n.tokenize=r(9882),n.parse=r(2221),n.common=r(5695),n.Root._configure(n.Type,n.parse,n.common)},1981:(e,t,r)=>{"use strict";e.exports=i;var n=r(797);((i.prototype=Object.create(n.prototype)).constructor=i).className="MapField";var a=r(3970),c=r(8066);function i(e,t,r,a,i,o){if(n.call(this,e,t,a,void 0,void 0,i,o),!c.isString(r))throw TypeError("keyType must be a string");this.keyType=r,this.resolvedKeyType=null,this.map=!0}i.fromJSON=function(e,t){return new i(e,t.id,t.keyType,t.type,t.options,t.comment)},i.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return c.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},i.prototype.resolve=function(){if(this.resolved)return this;if(void 0===a.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return n.prototype.resolve.call(this)},i.d=function(e,t,r){return"function"==typeof r?r=c.decorateType(r).name:r&&"object"==typeof r&&(r=c.decorateEnum(r).name),function(n,a){c.decorateType(n.constructor).add(new i(a,e,t,r))}}},3611:(e,t,r)=>{"use strict";e.exports=a;var n=r(4165);function a(e){if(e)for(var t=Object.keys(e),r=0;r{"use strict";e.exports=c;var n=r(7641);((c.prototype=Object.create(n.prototype)).constructor=c).className="Method";var a=r(8066);function c(e,t,r,c,i,o,s,l,u){if(a.isObject(i)?(s=i,i=o=void 0):a.isObject(o)&&(s=o,o=void 0),void 0!==t&&!a.isString(t))throw TypeError("type must be a string");if(!a.isString(r))throw TypeError("requestType must be a string");if(!a.isString(c))throw TypeError("responseType must be a string");n.call(this,e,s),this.type=t||"rpc",this.requestType=r,this.requestStream=!!i||void 0,this.responseType=c,this.responseStream=!!o||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=l,this.parsedOptions=u}c.fromJSON=function(e,t){return new c(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options,t.comment,t.parsedOptions)},c.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return a.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",t?this.comment:void 0,"parsedOptions",this.parsedOptions])},c.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),n.prototype.resolve.call(this))}},9788:(e,t,r)=>{"use strict";e.exports=u;var n=r(7641);((u.prototype=Object.create(n.prototype)).constructor=u).className="Namespace";var a,c,i,o=r(797),s=r(8066);function l(e,t){if(e&&e.length){for(var r={},n=0;nt)return!0;return!1},u.isReservedName=function(e,t){if(e)for(var r=0;r0;){var n=e.shift();if(r.nested&&r.nested[n]){if(!((r=r.nested[n])instanceof u))throw Error("path conflicts with non-namespace objects")}else r.add(r=new u(n))}return t&&r.addJSON(t),r},u.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t-1)return n}else if(n instanceof u&&(n=n.lookup(e.slice(1),t,!0)))return n}else for(var a=0;a{"use strict";e.exports=c,c.className="ReflectionObject";var n,a=r(8066);function c(e,t){if(!a.isString(e))throw TypeError("name must be a string");if(t&&!a.isObject(t))throw TypeError("options must be an object");this.options=t,this.parsedOptions=null,this.name=e,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(c.prototype,{root:{get:function(){for(var e=this;null!==e.parent;)e=e.parent;return e}},fullName:{get:function(){for(var e=[this.name],t=this.parent;t;)e.unshift(t.name),t=t.parent;return e.join(".")}}}),c.prototype.toJSON=function(){throw Error()},c.prototype.onAdd=function(e){this.parent&&this.parent!==e&&this.parent.remove(this),this.parent=e,this.resolved=!1;var t=e.root;t instanceof n&&t._handleAdd(this)},c.prototype.onRemove=function(e){var t=e.root;t instanceof n&&t._handleRemove(this),this.parent=null,this.resolved=!1},c.prototype.resolve=function(){return this.resolved||this.root instanceof n&&(this.resolved=!0),this},c.prototype.getOption=function(e){if(this.options)return this.options[e]},c.prototype.setOption=function(e,t,r){return r&&this.options&&void 0!==this.options[e]||((this.options||(this.options={}))[e]=t),this},c.prototype.setParsedOption=function(e,t,r){this.parsedOptions||(this.parsedOptions=[]);var n=this.parsedOptions;if(r){var c=n.find((function(t){return Object.prototype.hasOwnProperty.call(t,e)}));if(c){var i=c[e];a.setProperty(i,r,t)}else(c={})[e]=a.setProperty({},r,t),n.push(c)}else{var o={};o[e]=t,n.push(o)}return this},c.prototype.setOptions=function(e,t){if(e)for(var r=Object.keys(e),n=0;n{"use strict";e.exports=i;var n=r(7641);((i.prototype=Object.create(n.prototype)).constructor=i).className="OneOf";var a=r(797),c=r(8066);function i(e,t,r,a){if(Array.isArray(t)||(r=t,t=void 0),n.call(this,e,r),void 0!==t&&!Array.isArray(t))throw TypeError("fieldNames must be an Array");this.oneof=t||[],this.fieldsArray=[],this.comment=a}function o(e){if(e.parent)for(var t=0;t-1&&this.oneof.splice(t,1),e.partOf=null,this},i.prototype.onAdd=function(e){n.prototype.onAdd.call(this,e);for(var t=0;t{"use strict";e.exports=k,k.filename=null,k.defaults={keepCase:!1};var n=r(9882),a=r(742),c=r(3138),i=r(797),o=r(1981),s=r(6898),l=r(6901),u=r(9355),f=r(8820),p=r(3970),d=r(8066),h=/^[1-9][0-9]*$/,m=/^-?[1-9][0-9]*$/,v=/^0[x][0-9a-fA-F]+$/,g=/^-?0[x][0-9a-fA-F]+$/,y=/^0[0-7]+$/,b=/^-?0[0-7]+$/,w=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,x=/^[a-zA-Z_][a-zA-Z_0-9]*$/,z=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,S=/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/;function k(e,t,r){t instanceof a||(r=t,t=new a),r||(r=k.defaults);var M,C,O,L,H,N=r.preferTrailingComment||!1,A=n(e,r.alternateCommentMode||!1),T=A.next,E=A.push,V=A.peek,P=A.skip,_=A.cmnt,j=!0,D=!1,I=t,F=r.keepCase?function(e){return e}:d.camelCase;function R(e,t,r){var n=k.filename;return r||(k.filename=null),Error("illegal "+(t||"token")+" '"+e+"' ("+(n?n+", ":"")+"line "+A.line+")")}function q(){var e,t=[];do{if('"'!==(e=T())&&"'"!==e)throw R(e);t.push(T()),P(e),e=V()}while('"'===e||"'"===e);return t.join("")}function B(e){var t=T();switch(t){case"'":case'"':return E(t),q();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return function(e,t){var r=1;switch("-"===e.charAt(0)&&(r=-1,e=e.substring(1)),e){case"inf":case"INF":case"Inf":return r*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(h.test(e))return r*parseInt(e,10);if(v.test(e))return r*parseInt(e,16);if(y.test(e))return r*parseInt(e,8);if(w.test(e))return r*parseFloat(e);throw R(e,"number",!0)}(t)}catch(r){if(e&&z.test(t))return t;throw R(t,"value")}}function U(e,t){var r,n;do{!t||'"'!==(r=V())&&"'"!==r?e.push([n=G(T()),P("to",!0)?G(T()):n]):e.push(q())}while(P(",",!0));P(";")}function G(e,t){switch(e){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(!t&&"-"===e.charAt(0))throw R(e,"id");if(m.test(e))return parseInt(e,10);if(g.test(e))return parseInt(e,16);if(b.test(e))return parseInt(e,8);throw R(e,"id")}function Z(){if(void 0!==M)throw R("package");if(M=T(),!z.test(M))throw R(M,"name");I=I.define(M),P(";")}function W(){var e,t=V();switch(t){case"weak":e=O||(O=[]),T();break;case"public":T();default:e=C||(C=[])}t=q(),P(";"),e.push(t)}function J(){if(P("="),L=q(),!(D="proto3"===L)&&"proto2"!==L)throw R(L,"syntax");P(";")}function $(e,t){switch(t){case"option":return K(e,t),P(";"),!0;case"message":return function(e,t){if(!x.test(t=T()))throw R(t,"type name");var r=new c(t);Q(r,(function(e){if(!$(r,e))switch(e){case"map":!function(e){P("<");var t=T();if(void 0===p.mapKey[t])throw R(t,"type");P(",");var r=T();if(!z.test(r))throw R(r,"type");P(">");var n=T();if(!x.test(n))throw R(n,"name");P("=");var a=new o(F(n),G(T()),t,r);Q(a,(function(e){if("option"!==e)throw R(e);K(a,e),P(";")}),(function(){te(a)})),e.add(a)}(r);break;case"required":case"optional":case"repeated":Y(r,e);break;case"oneof":!function(e,t){if(!x.test(t=T()))throw R(t,"name");var r=new s(F(t));Q(r,(function(e){"option"===e?(K(r,e),P(";")):(E(e),Y(r,"optional"))})),e.add(r)}(r,e);break;case"extensions":U(r.extensions||(r.extensions=[]));break;case"reserved":U(r.reserved||(r.reserved=[]),!0);break;default:if(!D||!z.test(e))throw R(e);E(e),Y(r,"optional")}})),e.add(r)}(e,t),!0;case"enum":return function(e,t){if(!x.test(t=T()))throw R(t,"name");var r=new l(t);Q(r,(function(e){switch(e){case"option":K(r,e),P(";");break;case"reserved":U(r.reserved||(r.reserved=[]),!0);break;default:!function(e,t){if(!x.test(t))throw R(t,"name");P("=");var r=G(T(),!0),n={};Q(n,(function(e){if("option"!==e)throw R(e);K(n,e),P(";")}),(function(){te(n)})),e.add(t,r,n.comment)}(r,e)}})),e.add(r)}(e,t),!0;case"service":return function(e,t){if(!x.test(t=T()))throw R(t,"service name");var r=new u(t);Q(r,(function(e){if(!$(r,e)){if("rpc"!==e)throw R(e);!function(e,t){var r=_(),n=t;if(!x.test(t=T()))throw R(t,"name");var a,c,i,o,s=t;if(P("("),P("stream",!0)&&(c=!0),!z.test(t=T()))throw R(t);if(a=t,P(")"),P("returns"),P("("),P("stream",!0)&&(o=!0),!z.test(t=T()))throw R(t);i=t,P(")");var l=new f(s,n,a,i,c,o);l.comment=r,Q(l,(function(e){if("option"!==e)throw R(e);K(l,e),P(";")})),e.add(l)}(r,e)}})),e.add(r)}(e,t),!0;case"extend":return function(e,t){if(!z.test(t=T()))throw R(t,"reference");var r=t;Q(null,(function(t){switch(t){case"required":case"repeated":case"optional":Y(e,t,r);break;default:if(!D||!z.test(t))throw R(t);E(t),Y(e,"optional",r)}}))}(e,t),!0}return!1}function Q(e,t,r){var n=A.line;if(e&&("string"!=typeof e.comment&&(e.comment=_()),e.filename=k.filename),P("{",!0)){for(var a;"}"!==(a=T());)t(a);P(";",!0)}else r&&r(),P(";"),e&&("string"!=typeof e.comment||N)&&(e.comment=_(n)||e.comment)}function Y(e,t,r){var n=T();if("group"!==n){if(!z.test(n))throw R(n,"type");var a=T();if(!x.test(a))throw R(a,"name");a=F(a),P("=");var o=new i(a,G(T()),n,t,r);Q(o,(function(e){if("option"!==e)throw R(e);K(o,e),P(";")}),(function(){te(o)})),e.add(o),D||!o.repeated||void 0===p.packed[n]&&void 0!==p.basic[n]||o.setOption("packed",!1,!0)}else!function(e,t){var r=T();if(!x.test(r))throw R(r,"name");var n=d.lcFirst(r);r===n&&(r=d.ucFirst(r)),P("=");var a=G(T()),o=new c(r);o.group=!0;var s=new i(n,a,r,t);s.filename=k.filename,Q(o,(function(e){switch(e){case"option":K(o,e),P(";");break;case"required":case"optional":case"repeated":Y(o,e);break;default:throw R(e)}})),e.add(o).add(s)}(e,t)}function K(e,t){var r=P("(",!0);if(!z.test(t=T()))throw R(t,"name");var n,a=t,c=a;r&&(P(")"),c=a="("+a+")",t=V(),S.test(t)&&(n=t.substr(1),a+=t,T())),P("="),function(e,t,r,n){e.setParsedOption&&e.setParsedOption(t,r,n)}(e,c,X(e,a),n)}function X(e,t){if(P("{",!0)){for(var r={};!P("}",!0);){if(!x.test(H=T()))throw R(H,"name");var n,a=H;"{"===V()?n=X(e,t+"."+H):(P(":"),"{"===V()?n=X(e,t+"."+H):(n=B(!0),ee(e,t+"."+H,n)));var c=r[a];c&&(n=[].concat(c).concat(n)),r[a]=n,P(",",!0)}return r}var i=B(!0);return ee(e,t,i),i}function ee(e,t,r){e.setOption&&e.setOption(t,r)}function te(e){if(P("[",!0)){do{K(e,"option")}while(P(",",!0));P("]")}return e}for(;null!==(H=T());)switch(H){case"package":if(!j)throw R(H);Z();break;case"import":if(!j)throw R(H);W();break;case"syntax":if(!j)throw R(H);J();break;case"option":K(I,H),P(";");break;default:if($(I,H)){j=!1;continue}throw R(H)}return k.filename=null,{package:M,imports:C,weakImports:O,syntax:L,root:t}}},9799:(e,t,r)=>{"use strict";e.exports=s;var n,a=r(4165),c=a.LongBits,i=a.utf8;function o(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function s(e){this.buf=e,this.pos=0,this.len=e.length}var l,u="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new s(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new s(e);throw Error("illegal buffer")},f=function(){return a.Buffer?function(e){return(s.create=function(e){return a.Buffer.isBuffer(e)?new n(e):u(e)})(e)}:u};function p(){var e=new c(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw o(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw o(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function d(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function h(){if(this.pos+8>this.len)throw o(this,8);return new c(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}s.create=f(),s.prototype._slice=a.Array.prototype.subarray||a.Array.prototype.slice,s.prototype.uint32=(l=4294967295,function(){if(l=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return l;if((this.pos+=5)>this.len)throw this.pos=this.len,o(this,10);return l}),s.prototype.int32=function(){return 0|this.uint32()},s.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},s.prototype.bool=function(){return 0!==this.uint32()},s.prototype.fixed32=function(){if(this.pos+4>this.len)throw o(this,4);return d(this.buf,this.pos+=4)},s.prototype.sfixed32=function(){if(this.pos+4>this.len)throw o(this,4);return 0|d(this.buf,this.pos+=4)},s.prototype.float=function(){if(this.pos+4>this.len)throw o(this,4);var e=a.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},s.prototype.double=function(){if(this.pos+8>this.len)throw o(this,4);var e=a.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},s.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw o(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},s.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},s.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw o(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw o(this)}while(128&this.buf[this.pos++]);return this},s.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},s._configure=function(e){n=e,s.create=f(),n._configure();var t=a.Long?"toLong":"toNumber";a.merge(s.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return h.call(this)[t](!0)},sfixed64:function(){return h.call(this)[t](!1)}})}},7038:(e,t,r)=>{"use strict";e.exports=c;var n=r(9799);(c.prototype=Object.create(n.prototype)).constructor=c;var a=r(4165);function c(e){n.call(this,e)}c._configure=function(){a.Buffer&&(c.prototype._slice=a.Buffer.prototype.slice)},c.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},c._configure()},742:(e,t,r)=>{"use strict";e.exports=f;var n=r(9788);((f.prototype=Object.create(n.prototype)).constructor=f).className="Root";var a,c,i,o=r(797),s=r(6901),l=r(6898),u=r(8066);function f(e){n.call(this,"",e),this.deferred=[],this.files=[]}function p(){}f.fromJSON=function(e,t){return t||(t=new f),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},f.prototype.resolvePath=u.path.resolve,f.prototype.fetch=u.fetch,f.prototype.load=function e(t,r,n){"function"==typeof r&&(n=r,r=void 0);var a=this;if(!n)return u.asPromise(e,a,t,r);var o=n===p;function s(e,t){if(n){var r=n;if(n=null,o)throw e;r(e,t)}}function l(e){var t=e.lastIndexOf("google/protobuf/");if(t>-1){var r=e.substring(t);if(r in i)return r}return null}function f(e,t){try{if(u.isString(t)&&"{"===t.charAt(0)&&(t=JSON.parse(t)),u.isString(t)){c.filename=e;var n,i=c(t,a,r),f=0;if(i.imports)for(;f-1))if(a.files.push(e),e in i)o?f(e,i[e]):(++h,setTimeout((function(){--h,f(e,i[e])})));else if(o){var r;try{r=u.fs.readFileSync(e).toString("utf8")}catch(e){return void(t||s(e))}f(e,r)}else++h,a.fetch(e,(function(r,c){--h,n&&(r?t?h||s(null,a):s(r):f(e,c))}))}var h=0;u.isString(t)&&(t=[t]);for(var m,v=0;v-1&&this.deferred.splice(t,1)}}else if(e instanceof s)d.test(e.name)&&delete e.parent[e.name];else if(e instanceof n){for(var r=0;r{"use strict";e.exports={}},4963:(e,t,r)=>{"use strict";t.Service=r(9548)},9548:(e,t,r)=>{"use strict";e.exports=a;var n=r(4165);function a(e,t,r){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(r)}(a.prototype=Object.create(n.EventEmitter.prototype)).constructor=a,a.prototype.rpcCall=function e(t,r,a,c,i){if(!c)throw TypeError("request must be specified");var o=this;if(!i)return n.asPromise(e,o,t,r,a,c);if(o.rpcImpl)try{return o.rpcImpl(t,r[o.requestDelimited?"encodeDelimited":"encode"](c).finish(),(function(e,r){if(e)return o.emit("error",e,t),i(e);if(null!==r){if(!(r instanceof a))try{r=a[o.responseDelimited?"decodeDelimited":"decode"](r)}catch(e){return o.emit("error",e,t),i(e)}return o.emit("data",r,t),i(null,r)}o.end(!0)}))}catch(e){return o.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},a.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},9355:(e,t,r)=>{"use strict";e.exports=o;var n=r(9788);((o.prototype=Object.create(n.prototype)).constructor=o).className="Service";var a=r(8820),c=r(8066),i=r(4963);function o(e,t){n.call(this,e,t),this.methods={},this._methodsArray=null}function s(e){return e._methodsArray=null,e}o.fromJSON=function(e,t){var r=new o(e,t.options);if(t.methods)for(var n=Object.keys(t.methods),c=0;c{"use strict";e.exports=f;var t=/[\s{}=;:[\],'"()<>]/g,r=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,n=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,a=/^ *[*/]+ */,c=/^\s*\*?\/*/,i=/\n/g,o=/\s/,s=/\\(.?)/g,l={0:"\0",r:"\r",n:"\n",t:"\t"};function u(e){return e.replace(s,(function(e,t){switch(t){case"\\":case"":return t;default:return l[t]||""}}))}function f(e,s){e=e.toString();var l=0,f=e.length,p=1,d=null,h=null,m=0,v=!1,g=!1,y=[],b=null;function w(e){return Error("illegal "+e+" (line "+p+")")}function x(t){return e.charAt(t)}function z(t,r,n){d=e.charAt(t++),m=p,v=!1,g=n;var o,l=t-(s?2:3);do{if(--l<0||"\n"===(o=e.charAt(l))){v=!0;break}}while(" "===o||"\t"===o);for(var u=e.substring(t,r).split(i),f=0;f0)return y.shift();if(b)return function(){var t="'"===b?n:r;t.lastIndex=l-1;var a=t.exec(e);if(!a)throw w("string");return l=t.lastIndex,C(b),b=null,u(a[1])}();var a,c,i,d,h,m=0===l;do{if(l===f)return null;for(a=!1;o.test(i=x(l));)if("\n"===i&&(m=!0,++p),++l===f)return null;if("/"===x(l)){if(++l===f)throw w("comment");if("/"===x(l))if(s){if(d=l,h=!1,S(l)){h=!0;do{if((l=k(l))===f)break;l++}while(S(l))}else l=Math.min(f,k(l)+1);h&&z(d,l,m),p++,a=!0}else{for(h="/"===x(d=l+1);"\n"!==x(++l);)if(l===f)return null;++l,h&&z(d,l-1,m),++p,a=!0}else{if("*"!==(i=x(l)))return"/";d=l+1,h=s||"*"===x(d);do{if("\n"===i&&++p,++l===f)throw w("comment");c=i,i=x(l)}while("*"!==c||"/"!==i);++l,h&&z(d,l-2,m),a=!0}}}while(a);var v=l;if(t.lastIndex=0,!t.test(x(v++)))for(;v{"use strict";e.exports=y;var n=r(9788);((y.prototype=Object.create(n.prototype)).constructor=y).className="Type";var a=r(6901),c=r(6898),i=r(797),o=r(1981),s=r(9355),l=r(3611),u=r(9799),f=r(123),p=r(8066),d=r(5191),h=r(9847),m=r(2332),v=r(3746),g=r(6423);function y(e,t){n.call(this,e,t),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null}function b(e){return e._fieldsById=e._fieldsArray=e._oneofsArray=null,delete e.encode,delete e.decode,delete e.verify,e}Object.defineProperties(y.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var e=Object.keys(this.fields),t=0;t{"use strict";var n=t,a=r(8066),c=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function i(e,t){var r=0,n={};for(t|=0;r{"use strict";var n,a,c=e.exports=r(4165),i=r(9009);c.codegen=r(1706),c.fetch=r(4641),c.path=r(2659),c.fs=c.inquire("fs"),c.toArray=function(e){if(e){for(var t=Object.keys(e),r=new Array(t.length),n=0;n0)t[a]=e(t[a]||{},r,n);else{var c=t[a];c&&(n=[].concat(c).concat(n)),t[a]=n}return t}(e,t=t.split("."),r)},Object.defineProperty(c,"decorateRoot",{get:function(){return i.decorated||(i.decorated=new(r(742)))}})},1697:(e,t,r)=>{"use strict";e.exports=a;var n=r(4165);function a(e,t){this.lo=e>>>0,this.hi=t>>>0}var c=a.zero=new a(0,0);c.toNumber=function(){return 0},c.zzEncode=c.zzDecode=function(){return this},c.length=function(){return 1};var i=a.zeroHash="\0\0\0\0\0\0\0\0";a.fromNumber=function(e){if(0===e)return c;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new a(r,n)},a.from=function(e){if("number"==typeof e)return a.fromNumber(e);if(n.isString(e)){if(!n.Long)return a.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new a(e.low>>>0,e.high>>>0):c},a.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},a.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var o=String.prototype.charCodeAt;a.fromHash=function(e){return e===i?c:new a((o.call(e,0)|o.call(e,1)<<8|o.call(e,2)<<16|o.call(e,3)<<24)>>>0,(o.call(e,4)|o.call(e,5)<<8|o.call(e,6)<<16|o.call(e,7)<<24)>>>0)},a.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},a.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},a.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},a.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}},4165:function(e,t,r){"use strict";var n=t;function a(e,t,r){for(var n=Object.keys(t),a=0;a0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"==typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var r=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(r.lo,r.hi,t):r.toNumber(Boolean(t))},n.merge=a,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=c,n.ProtocolError=c("ProtocolError"),n.oneOfGetter=function(e){for(var t={},r=0;r-1;--r)if(1===t[e[r]]&&void 0!==this[e[r]]&&null!==this[e[r]])return e[r]}},n.oneOfSetter=function(e){return function(t){for(var r=0;r{"use strict";e.exports=function(e){var t=a.codegen(["m"],e.name+"$verify")('if(typeof m!=="object"||m===null)')("return%j","object expected"),r={};e.oneofsArray.length&&t("var p={}");for(var n=0;n{"use strict";var n=t,a=r(3611);n[".google.protobuf.Any"]={fromObject:function(e){if(e&&e["@type"]){var t=e["@type"].substring(e["@type"].lastIndexOf("/")+1),r=this.lookup(t);if(r){var n="."===e["@type"].charAt(0)?e["@type"].substr(1):e["@type"];return-1===n.indexOf("/")&&(n="/"+n),this.create({type_url:n,value:r.encode(r.fromObject(e)).finish()})}}return this.fromObject(e)},toObject:function(e,t){var r="",n="";if(t&&t.json&&e.type_url&&e.value){n=e.type_url.substring(e.type_url.lastIndexOf("/")+1),r=e.type_url.substring(0,e.type_url.lastIndexOf("/")+1);var c=this.lookup(n);c&&(e=c.decode(e.value))}if(!(e instanceof this.ctor)&&e instanceof a){var i=e.$type.toObject(e,t);return""===r&&(r="type.googleapis.com/"),n=r+("."===e.$type.fullName[0]?e.$type.fullName.substr(1):e.$type.fullName),i["@type"]=n,i}return this.toObject(e,t)}}},123:(e,t,r)=>{"use strict";e.exports=f;var n,a=r(4165),c=a.LongBits,i=a.base64,o=a.utf8;function s(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function l(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function f(){this.len=0,this.head=new s(l,0,0),this.tail=this.head,this.states=null}var p=function(){return a.Buffer?function(){return(f.create=function(){return new n})()}:function(){return new f}};function d(e,t,r){t[r]=255&e}function h(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function v(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}f.create=p(),f.alloc=function(e){return new a.Array(e)},a.Array!==Array&&(f.alloc=a.pool(f.alloc,a.Array.prototype.subarray)),f.prototype._push=function(e,t,r){return this.tail=this.tail.next=new s(e,t,r),this.len+=t,this},h.prototype=Object.create(s.prototype),h.prototype.fn=function(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e},f.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new h((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},f.prototype.int32=function(e){return e<0?this._push(m,10,c.fromNumber(e)):this.uint32(e)},f.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},f.prototype.uint64=function(e){var t=c.from(e);return this._push(m,t.length(),t)},f.prototype.int64=f.prototype.uint64,f.prototype.sint64=function(e){var t=c.from(e).zzEncode();return this._push(m,t.length(),t)},f.prototype.bool=function(e){return this._push(d,1,e?1:0)},f.prototype.fixed32=function(e){return this._push(v,4,e>>>0)},f.prototype.sfixed32=f.prototype.fixed32,f.prototype.fixed64=function(e){var t=c.from(e);return this._push(v,4,t.lo)._push(v,4,t.hi)},f.prototype.sfixed64=f.prototype.fixed64,f.prototype.float=function(e){return this._push(a.float.writeFloatLE,4,e)},f.prototype.double=function(e){return this._push(a.float.writeDoubleLE,8,e)};var g=a.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n>>0;if(!t)return this._push(d,1,0);if(a.isString(e)){var r=f.alloc(t=i.length(e));i.decode(e,r,0),e=r}return this.uint32(t)._push(g,t,e)},f.prototype.string=function(e){var t=o.length(e);return t?this.uint32(t)._push(o.write,t,e):this._push(d,1,0)},f.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new s(l,0,0),this.len=0,this},f.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new s(l,0,0),this.len=0),this},f.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},f.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},f._configure=function(e){n=e,f.create=p(),n._configure()}},6673:(e,t,r)=>{"use strict";e.exports=c;var n=r(123);(c.prototype=Object.create(n.prototype)).constructor=c;var a=r(4165);function c(){n.call(this)}function i(e,t,r){e.length<40?a.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}c._configure=function(){c.alloc=a._Buffer_allocUnsafe,c.writeBytesBuffer=a.Buffer&&a.Buffer.prototype instanceof Uint8Array&&"set"===a.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n>>0;return this.uint32(t),t&&this._push(c.writeBytesBuffer,t,e),this},c.prototype.string=function(e){var t=a.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},c._configure()},6671:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Accordion:()=>k,AccordionItem:()=>V,AccordionItemButton:()=>D,AccordionItemHeading:()=>F,AccordionItemPanel:()=>R,AccordionItemState:()=>q,resetNextUuid:()=>O});var n=r(2784);function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var r=0;r=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?h(e):t}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=f(e);if(t){var a=f(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return m(this,r)}}function g(e,t){if(e){if("string"==typeof e)return y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r{"use strict";var n=r(2784),a=r(7320),c=r(4616);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r